public IActionResult Delete(int id) { VaccinationVM vaccination = repository.GetByCondition(v => v.Id == id).FirstOrDefault(); if (vaccination == null) { Log.Information($"{CurrentMethod.GetName()}: прививка Id = {id} отсутствует в базе данных"); return(NotFound()); } try { repository.Delete(id); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); return(StatusCode(500)); } catch (DbUpdateConcurrencyException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); return(StatusCode(500)); } catch (DbUpdateException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); return(StatusCode(500)); } Log.Information($"{CurrentMethod.GetName()}: удалена прививка Id = {id}"); return(Ok()); }
public ActionResult <IEnumerable <Vaccination> > Get() { IQueryable <VaccinationVM> vaccinations = repository.GetAll(); Log.Information($"{CurrentMethod.GetName()}: получены все прививки"); return(Ok(vaccinations)); }
public ActionResult <IEnumerable <Patient> > Get() { IQueryable <Patient> patients = repository.GetAll(); Log.Information($"{CurrentMethod.GetName()}: получены все пациенты"); return(Ok(patients)); }
public ActionResult <IEnumerable <Vaccine> > Get() { IQueryable <Vaccine> vaccines = repository.GetAll(); Log.Information($"{CurrentMethod.GetName()}: получены все препараты"); return(Ok(vaccines)); }
public ActionResult <ResponseVM> Post([FromBody] Patient patient) { if (patient == null) { Log.Information($"{CurrentMethod.GetName()}: не удалось связать модель"); ResponseVM response400 = new ResponseVM { IsSuccess = false, ErrorMessage = "Bad request", StatusCode = 400, Result = "Не удалось связать модель, patient был равен null" }; return(BadRequest(response400)); } Patient sameSNILSPatient = null; try { sameSNILSPatient = repository.GetByCondition(p => p.SNILS == patient.SNILS).FirstOrDefault(); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } if (sameSNILSPatient != null) { Log.Information($"{CurrentMethod.GetName()}: пациент с таким СНИЛС уже есть"); ResponseVM response409 = new ResponseVM { IsSuccess = false, ErrorMessage = "Conflict", StatusCode = 409, Result = "Пациент с таким СНИЛС уже есть" }; return(Conflict(response409)); } try { repository.Add(patient); } catch (DbUpdateConcurrencyException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } Log.Information($"{CurrentMethod.GetName()}: добавлен пациент Id = {patient.Id}"); ResponseVM response200 = new ResponseVM { IsSuccess = true, StatusCode = 200, Result = $"Добавлен пациент Id = {patient.Id}" }; return(Ok(response200)); }
public ActionResult <IEnumerable <Vaccination> > GetVaccinations([FromRoute(Name = "patient-id")] int patientId) { // добавить проверку наличия пациента в бд // для этого в этом контроллере нужно получить PatientRepository IQueryable <VaccinationVM> vaccinations; try { vaccinations = repository.GetByCondition(v => v.PatientId == patientId); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); return(StatusCode(500)); } Log.Information($"{CurrentMethod.GetName()}: получены все прививки для пациента PatientId = {patientId}"); return(Ok(vaccinations)); }
public ActionResult <Patient> Get(int id) { Patient patient = null; try { patient = repository.GetByCondition(p => p.Id == id).FirstOrDefault(); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); return(StatusCode(500)); } if (patient == null) { Log.Information($"{CurrentMethod.GetName()}: пациент Id = {id} отсутствует в базе данных"); return(NotFound()); } Log.Information($"{CurrentMethod.GetName()}: получен пациент Id = {id}"); return(Ok(patient)); }
public ActionResult <ResponseVM> Post([FromBody] VaccinationVM vaccination) { if (vaccination == null) { Log.Information($"{CurrentMethod.GetName()}: не удалось связать модель"); ResponseVM response400 = new ResponseVM { IsSuccess = false, ErrorMessage = "Bad request", StatusCode = 400, Result = "Не удалось связать модель, vaccination была равна null" }; return(BadRequest(response400)); } try { repository.Add(vaccination); } catch (DbUpdateConcurrencyException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } Log.Information($"{CurrentMethod.GetName()}: добавлена прививка Id = {vaccination.Id}"); ResponseVM response200 = new ResponseVM { IsSuccess = true, StatusCode = 200, Result = $"Добавлена прививка Id = {vaccination.Id}" }; return(Ok(response200)); }
public ActionResult <ResponseVM> Put([FromRoute] int id, [FromBody] VaccinationVM vaccination) { if (vaccination == null) { Log.Information($"{CurrentMethod.GetName()}: не удалось связать модель"); ResponseVM response400 = new ResponseVM { IsSuccess = false, ErrorMessage = "Bad request", StatusCode = 400, Result = "Не удалось связать модель, vaccination была равна null" }; return(BadRequest(response400)); } VaccinationVM vaccinationFromDB = null; try { vaccinationFromDB = repository.GetByCondition(v => v.Id == id).FirstOrDefault(); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } if (vaccinationFromDB == null) { Log.Information($"{CurrentMethod.GetName()}: прививка Id = {id} отсутствует в базе данных"); ResponseVM response404 = new ResponseVM { IsSuccess = false, ErrorMessage = "Not found", StatusCode = 404, Result = $"Прививка Id = {id} отсутствует в базе данных" }; return(NotFound(response404)); } try { repository.Update(vaccination); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateConcurrencyException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } Log.Information($"{CurrentMethod.GetName()}: изменена прививка Id = {id}"); ResponseVM response200 = new ResponseVM { IsSuccess = true, StatusCode = 200, Result = $"Изменена прививка Id = {id}" }; return(Ok(response200)); }
public ActionResult <ResponseVM> Put([FromRoute] int id, [FromBody] Patient patient) { if (patient == null) { Log.Information($"{CurrentMethod.GetName()}: не удалось связать модель"); ResponseVM response400 = new ResponseVM { IsSuccess = false, ErrorMessage = "Bad request", StatusCode = 400, Result = "Не удалось связать модель, patient был равен null" }; return(BadRequest(response400)); } Patient sameIdPatient = null; try { sameIdPatient = repository.GetByCondition(p => p.Id == id).FirstOrDefault(); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } if (sameIdPatient == null) { Log.Information($"{CurrentMethod.GetName()}: пациент Id = {id} отсутствует в базе данных"); ResponseVM response404 = new ResponseVM { IsSuccess = false, ErrorMessage = "Not found", StatusCode = 404, Result = $"Пациент Id = {id} отсутствует в базе данных" }; return(NotFound(response404)); } // если был получен новый СНИЛС, проверить используется ли новый СНИЛС другим пациентом if (sameIdPatient.SNILS != patient.SNILS) { Patient sameSNILSPatient = null; try { sameSNILSPatient = repository.GetByCondition(p => p.SNILS == patient.SNILS).FirstOrDefault(); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } if (sameSNILSPatient != null) { Log.Information($"{CurrentMethod.GetName()}: пациент с таким СНИЛС уже есть"); ResponseVM response409 = new ResponseVM { IsSuccess = false, ErrorMessage = "Conflict", StatusCode = 409, Result = "Пациент с таким СНИЛС уже есть" }; return(Conflict(response409)); } } try { repository.Update(patient); } catch (ArgumentNullException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Параметр не может быть равен null\n Имя параметра: {e.ParamName}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateConcurrencyException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } catch (DbUpdateException e) { Log.Error($"{CurrentMethod.GetName()}: при обработке запроса произошло исключение {e.GetType()}\n Метод вызвавший исключение: {e.TargetSite.Name}\n Стек вызовов:\n{e.StackTrace}"); ResponseVM response500 = new ResponseVM { IsSuccess = false, ErrorMessage = "Internal server error", StatusCode = 500, Result = "Внутренняя ошибка сервера" }; return(StatusCode(500, response500)); } Log.Information($"{CurrentMethod.GetName()}: изменен пациент Id = {id}"); ResponseVM response200 = new ResponseVM { IsSuccess = true, StatusCode = 200, Result = $"Изменен пациент Id = {id}" }; return(Ok(response200)); }