Пример #1
0
        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();
            });
        }
Пример #2
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();
            });
        }