public override void RemoveElement(int id) { logger.Info($"Выполняется удаления работника..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Менеджер) { throw new Exception("Удалять пользователей может только менеджер"); } Employee employee = FindById(id); if (employee is null) { throw new ArgumentException("Выбранного пользователя нет в базе"); } if (employee.Role == UserRole.Менеджер) { logger.Info($"Попытка удаления менеджера {employee}..."); if (employee.Profile.Priority == UserPriority.Высокий) { throw new Exception("Нельзя удалить главного менеджера"); } if (HospitalManager.GetPriorityCurrentUser() <= employee.Profile.Priority) { throw new Exception("Уровень вашего доступа недостаточен для удаления выбранного пользователя"); } } base.RemoveElement(id); logger.Info($"Работник удален"); }
public override void EditElement(int id, Employee newEmployee) { logger.Info($"Выполняется редактирование работника..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Менеджер) { throw new FieldAccessException("Редактировать пользователей может только менеджер"); } Employee employee = FindById(id); if (employee is null) { throw new ArgumentNullException("Выбранного пользователя нет в базе"); } if (HospitalManager.GetPriorityCurrentUser() < employee.Profile.Priority) { throw new FieldAccessException("Уровень вашего доступа недостаточен для удаления выбранного пользователя"); } newEmployee.Id = id; ValidateElement(newEmployee); logger.Info($"Редактирование работника {employee}..."); employee.Edit(newEmployee); logger.Info("Редактирование завершено"); Save(); }
public override void AddElement(Employee employee) { logger.Info($"Выполняется добаление работника {employee}..."); if (HospitalManager.MainManagerIsNull()) { logger.Info("Выполняется добавление главного менеджера..."); if (employee.Role == UserRole.Менеджер && employee.Profile.Priority == UserPriority.Высокий) { ValidateElement(employee); employee.Id = ++NextId; employee.Profile.Id = employee.Id; base.AddElement(employee); logger.Info($"Главный менеджер добавлен {employee}"); } else { throw new ArgumentException("Вы пытаетесь добавить главного менеджера с несоответсвующими параметрами"); } } else { if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Менеджер) { throw new Exception("Добавлять новых сотрудников может только менеджер"); } ValidateElement(employee); employee.Id = ++NextId; employee.Profile.Id = employee.Id; base.AddElement(employee); logger.Info($"Работник {employee} добавлен"); } }
public override void RemoveElement(int id) { logger.Info($"Выполняется удаления диагноза..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new Exception("Удалять диагноз может только врач"); } base.RemoveElement(id); logger.Info($"Диагноз удален"); }
public override void RemoveElement(int id) { logger.Info($"Выполняется удаления заболевания..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new Exception("Удалять заболевания может только врач"); } base.RemoveElement(id); logger.Info($"Заболевание удалено"); }
public override void RemoveElement(int id) { logger.Info($"Выполняется удаления пациента..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.егистратор) { throw new Exception("Удалять пациентов может только регистратор"); } base.RemoveElement(id); logger.Info($"Пациент удален"); }
public override void AddElement(Diagnosis diagnosis) { logger.Info($"Выполняется добаление диагноза {diagnosis}..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new Exception("Добавлять диагноз может только врач"); } ValidateElement(diagnosis); diagnosis.Id = ++NextId; base.AddElement(diagnosis); logger.Info($"Диагноз {diagnosis} добавлен"); }
public override void AddElement(Treatment treatment) { logger.Info($"Выполняется добаление лечения {treatment}..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new Exception("Добавлять лечение может только врач"); } ValidateElement(treatment); treatment.Id = ++NextId; base.AddElement(treatment); logger.Info($"лечение {treatment} добавлено"); }
public override void AddElement(Visit visit) { logger.Info($"Выполняется добаление визита {visit}..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.егистратор) { throw new Exception("Добавлять новые визиты может только регистратор"); } ValidateElement(visit); visit.Id = ++NextId; base.AddElement(visit); logger.Info($"Визит {visit} добавлен"); }
public override void AddElement(Patient patient) { logger.Info($"Выполняется добаление пациента {patient}..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.егистратор) { throw new Exception("Добавлять новых пациентов может только регистратор"); } ValidateElement(patient); patient.Id = ++NextId; base.AddElement(patient); logger.Info($"Пациент {patient} добавлен"); }
public override void AddElement(Disease disease) { logger.Info($"Выполняется добаление заболевания {disease}..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new Exception("Добавлять заболевания может только врач"); } ValidateElement(disease); disease.Id = ++NextId; base.AddElement(disease); logger.Info($"Заболевание {disease} добавлена"); }
public override void EditElement(int id, Diagnosis newDiagnosis) { logger.Info($"Выполняется редактирование диагноза..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new FieldAccessException("Редактировать диагноз может только врач"); } Diagnosis diagnosis = FindById(id); if (diagnosis is null) { throw new ArgumentNullException("Выбранного диагноза нет в базе"); } ValidateElement(newDiagnosis); logger.Info($"Редактирование диагноза {diagnosis}..."); diagnosis.Edit(newDiagnosis); logger.Info("Редактирование завершено"); Save(); }
public override void EditElement(int id, Patient newPatient) { logger.Info($"Выполняется редактирование пациента..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.егистратор) { throw new FieldAccessException("Редактировать пациентов может только продавец"); } Patient patient = FindById(id); if (patient is null) { throw new ArgumentNullException("Выбранного пациента нет в базе"); } ValidateElement(newPatient); logger.Info($"Редактирование пациента {patient}..."); patient.Edit(newPatient); logger.Info("Редактирование завершено"); Save(); }
public override void EditElement(int id, Disease newDisease) { logger.Info($"Выполняется редактирование заболевания..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new FieldAccessException("Редактировать заболевания может только врач"); } Disease disease = FindById(id); if (disease is null) { throw new ArgumentNullException("Выбранного заболевания нет в базе"); } ValidateElement(newDisease); logger.Info($"Редактирование заболевания {disease}..."); disease.Edit(newDisease); logger.Info("Редактирование завершено"); Save(); }
public override void EditElement(int id, Treatment newTreatment) { logger.Info($"Выполняется редактирование лечения..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.Врач) { throw new FieldAccessException("Редактировать лечение может только врач"); } Treatment treatment = FindById(id); if (treatment is null) { throw new ArgumentNullException("Выбранного лечения нет в базе"); } ValidateElement(newTreatment); logger.Info($"Редактирование лечения {treatment}..."); treatment.Edit(newTreatment); logger.Info("Редактирование завершено"); Save(); }
public override void EditElement(int id, Visit newVisit) { logger.Info($"Выполняется редактирование визита..."); if (HospitalManager.GetRoleCurrentEmployee() != UserRole.егистратор) { throw new FieldAccessException("Редактировать визиты может только регистратор"); } Visit visit = FindById(id); if (visit is null) { throw new ArgumentNullException("Выбранного визита нет в базе"); } ValidateElement(newVisit); logger.Info($"Редактирование визита {visit}..."); visit.Edit(newVisit); logger.Info("Редактирование завершено"); Save(); }