Esempio n. 1
0
        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();
            });
        }