public static void DeleteClinic(Clinic clinic) { Db.Transact(() => { clinic.Personal?.ForEach(p => p.PlaceOfWork = null); clinic.PatientRegister?.ForEach(pr => PatientTreatmentHelper.DeletePatientRegistry(pr)); AddressProvider.Delete(clinic.Address); var chain = SelectClinicChainsByUnitingCharacteristic(clinic.Chain?.UnitingCharacteristic).FirstOrDefault(); if (chain?.Clinics?.Count() <= 1) { DeleteClinicChain(chain); } clinic.Delete(); }); }