using System.Collections.Generic;
public static void Main()
var originalFormItems = new List<FormModel>
new FormModel(PrmType.WHEELCHAIR, false),
new FormModel(PrmType.DEAF, true),
new FormModel(PrmType.MENTAL, false),
var checkedItems = originalFormItems.Where(x=>x.IsChecked).ToList();
var currentFormItems = new List<FormModel>
new FormModel(PrmType.WHEELCHAIR, false),
new FormModel(PrmType.DEAF, false),
new FormModel(PrmType.MENTAL, false),
var currentCheckedItems = currentFormItems.Where(x=>x.IsChecked).ToList();
var result = currentCheckedItems.Count != currentCheckedItems.Join(checkedItems,
y => new {y.Type, y.IsChecked},
y => new {y.Type, y.IsChecked}, (a, b) => true).Count();
Console.WriteLine("Form is modified");
Console.WriteLine("Form is the same");
public PrmType Type {get; set;}
public bool IsChecked {get; set;}
public FormModel(PrmType type, bool isChecked)