public static void DeletePerson(Person person) { IEnumerable <PatientVisit> patientvisits = null; Db.Transact(() => { if (person is Patient) { patientvisits = PatientTreatmentHelper.SelectAllVisitsOf(person as Patient); patientvisits.ForEach(v => v.Patient = null); } if (person is Medic) { (person as Medic).PlaceOfWork = null; } person.Delete(); }); }
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(); }); }