Beispiel #1
0
        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.");
                    }
                }
            }
        }