private static void Handle(List <Neighbor> neighbors) { foreach (var neighbor in neighbors) { if (neighborManager.GetIntersects(neighbor) != null) { throw new IntersectException("Güncellemeye çalıştığınız mahalle, herhangi bir mahalle ile kesişmemelidir."); } var alreadyInside = doorManager.GetDoorsWithNeighborCode(neighbor.Id); var newInside = doorManager.GetDoorsInNeighBor(neighbor); var notInside = alreadyInside.Except(newInside, new DoorComparer()); foreach (var door in notInside) { var intersect = neighborManager.GetIntersects(door); if (intersect == null) { throw new OrphanDoorException("Kapıları mahallesiz bırakarak güncelleme yapamazsınız."); } } } }