public void UpdatePatientSiblings() { if (Siblings == null) { Siblings = new List <Sibling>(); } var SiblingsNew = new List <Sibling>(); if (Sisters != null && Sisters.Count != 0) { SiblingsNew.AddRange(Sisters); } if (Brothers != null && Brothers.Count != 0) { SiblingsNew.AddRange(Brothers); } // Insert foreach (Sibling siblingNew in SiblingsNew) { if (!Siblings.Any(row => row.Id == siblingNew.Id && row.Id != 0)) { siblingNew.Patient = this; Siblings.Add(siblingNew); } } // ToDo Delete //var siblingsToControl = new List<Sibling>(); //siblingsToControl.AddRange(Siblings); //foreach (Sibling siblingToControl in siblingsToControl) //{ // if (!SiblingsNew.Any(row => row.Id == siblingToControl.Id && row.Id != 0)) // { // Siblings.RemoveAll(row => row.Id == siblingToControl.Id); // } //} }