From 86eaec7d5291cc0733eb3533c8e6e4829f2157dd Mon Sep 17 00:00:00 2001 From: sofiaivv Date: Fri, 3 May 2024 02:31:59 +0400 Subject: [PATCH] =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB?= =?UTF-8?q?=D0=BB=D0=B5=D1=80=D1=8B!!!=20=E2=89=BD^=E2=80=A2=E2=A9=8A?= =?UTF-8?q?=E2=80=A2^=E2=89=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/ConsultationController.cs | 113 +++++++++++++++++- .../Controllers/GuarantorController.cs | 67 ++++++++++- .../Controllers/HearingController.cs | 113 +++++++++++++++++- .../Controllers/LawyerController.cs | 77 +++++++++++- 4 files changed, 362 insertions(+), 8 deletions(-) diff --git a/LawCompany/LawCompanyRestApi/Controllers/ConsultationController.cs b/LawCompany/LawCompanyRestApi/Controllers/ConsultationController.cs index 2460d02..92aa328 100644 --- a/LawCompany/LawCompanyRestApi/Controllers/ConsultationController.cs +++ b/LawCompany/LawCompanyRestApi/Controllers/ConsultationController.cs @@ -1,6 +1,115 @@ -namespace LawCompanyRestApi.Controllers +using LawCompanyContracts.BindingModels; +using LawCompanyContracts.BusinessLogicContracts; +using LawCompanyContracts.SearchModels; +using LawCompanyContracts.ViewModels; +using LawCompanyBusinessLogic.BusinessLogics; +using Microsoft.AspNetCore.Mvc; + +namespace LawCompanyRestApi.Controllers { - public class ConsultationController + [Route("api/[controller]/[action]")] + [ApiController] + public class ConsultationController : Controller { + private readonly ILogger _logger; + private readonly IConsultationLogic _logic; + private readonly ILawyerLogic _lawyerlogic; + + public ConsultationController(IConsultationLogic logic, ILogger + logger, ILawyerLogic lawyerLogic) + { + _logger = logger; + _logic = logic; + _lawyerlogic = lawyerLogic; + + } + [HttpGet] + public List? GetConsultationList(int guarantorId) + { + try + { + return _logic.ReadList(new ConsultationSearchModel + { + GuarantorId = guarantorId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка консультаций"); + throw; + } + } + + [HttpPost] + public void CreateConsultation(ConsultationBindingModel model) + { + + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка создания кунсультации"); + throw; + } + + } + [HttpPost] + public void UpdateConsultation(ConsultationBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления консультации"); + throw; + } + } + [HttpPost] + public void DeleteConsultation(ConsultationBindingModel model) + { + try + { + _logic.Delete(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка удаления консультации"); + throw; + } + } + [HttpPost] + public void AddLawyerToConsultation(Tuple model) + { + try + { + var modelLawyer = _lawyerlogic.ReadElement(new LawyerSearchModel { Id = model.Item2 }); + if (modelLawyer != null) { _logic.AddLawyerToConsultation(model.Item1, modelLawyer); } + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка добавления юристов в консультацию"); + throw; + } + } + [HttpGet] + public List? GetLawyerListToConsultation(int conId) + { + try + { + return _lawyerlogic.ReadConsultationElementList(new ConsultationSearchModel + { + Id = conId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка юристов консультации"); + throw; + } + } } } diff --git a/LawCompany/LawCompanyRestApi/Controllers/GuarantorController.cs b/LawCompany/LawCompanyRestApi/Controllers/GuarantorController.cs index 1017c3a..5b5e2f9 100644 --- a/LawCompany/LawCompanyRestApi/Controllers/GuarantorController.cs +++ b/LawCompany/LawCompanyRestApi/Controllers/GuarantorController.cs @@ -1,6 +1,69 @@ -namespace LawCompanyRestApi.Controllers +using LawCompanyContracts.BindingModels; +using LawCompanyContracts.BusinessLogicContracts; +using LawCompanyContracts.SearchModels; +using LawCompanyContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace LawCompanyRestApi.Controllers { - public class GuarantorController + [Route("api/[controller]/[action]")] + [ApiController] + public class GuarantorController : Controller { + private readonly ILogger _logger; + private readonly IGuarantorLogic _logic; + + public GuarantorController(IGuarantorLogic logic, ILogger logger) + { + _logger = logger; + _logic = logic; + + } + [HttpGet] + public GuarantorViewModel? Login(string fio, string login, string password) + { + try + { + return _logic.ReadElement(new GuarantorSearchModel + { + FIO = fio, + Email = login, + Password = password + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка входа в систему"); + throw; + } + } + + [HttpPost] + public void Register(GuarantorBindingModel model) + { + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка регистрации"); + throw; + } + + } + [HttpPost] + public void UpdateData(GuarantorBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления данных"); + throw; + } + } } } diff --git a/LawCompany/LawCompanyRestApi/Controllers/HearingController.cs b/LawCompany/LawCompanyRestApi/Controllers/HearingController.cs index 163b7b9..9671a63 100644 --- a/LawCompany/LawCompanyRestApi/Controllers/HearingController.cs +++ b/LawCompany/LawCompanyRestApi/Controllers/HearingController.cs @@ -1,6 +1,115 @@ -namespace LawCompanyRestApi.Controllers +using LawCompanyContracts.BindingModels; +using LawCompanyContracts.BusinessLogicContracts; +using LawCompanyContracts.SearchModels; +using LawCompanyContracts.ViewModels; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; + +namespace LawCompanyRestApi.Controllers { - public class HearingController + + [Route("api/[controller]/[action]")] + [ApiController] + public class HearingController : Controller { + private readonly ILogger _logger; + private readonly IHearingLogic _logic; + private readonly ILawyerLogic _lawyerlogic; + + public HearingController(IHearingLogic logic, ILogger + logger, ILawyerLogic lawyerlogic) + { + _logger = logger; + _logic = logic; + _lawyerlogic = lawyerlogic; + } + [HttpGet] + public List? GetHearingList(int guarantorId) + { + try + { + return _logic.ReadList(new HearingSearchModel + { + GuarantorId = guarantorId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка слушаний"); + throw; + } + } + + [HttpPost] + public void CreateHearing(HearingBindingModel model) + { + + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка создания слушания"); + throw; + } + + } + [HttpPost] + public void UpdateHearing(HearingBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления слушания"); + throw; + } + } + [HttpPost] + public void DeleteHearing(HearingBindingModel model) + { + try + { + _logic.Delete(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка удаления слушания"); + throw; + } + } + [HttpPost] + public void AddLawyerToHearing(Tuple model) + { + try + { + var modelLawyer = _lawyerlogic.ReadElement(new LawyerSearchModel { Id = model.Item2 }); + if (modelLawyer != null) { _logic.AddLawyerToHearing(model.Item1, modelLawyer); } + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка добавления юриста в слушание"); + throw; + } + } + [HttpGet] + public List? GetLawyerListToHearing(int hearingId) + { + try + { + return _lawyerlogic.ReadHearingElementList(new HearingSearchModel + { + Id = hearingId + }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка юристов слушания"); + throw; + } + } } } diff --git a/LawCompany/LawCompanyRestApi/Controllers/LawyerController.cs b/LawCompany/LawCompanyRestApi/Controllers/LawyerController.cs index 0baed0c..7e44f4a 100644 --- a/LawCompany/LawCompanyRestApi/Controllers/LawyerController.cs +++ b/LawCompany/LawCompanyRestApi/Controllers/LawyerController.cs @@ -1,6 +1,79 @@ -namespace LawCompanyRestApi.Controllers +using LawCompanyContracts.BindingModels; +using LawCompanyContracts.BusinessLogicContracts; +using LawCompanyContracts.SearchModels; +using LawCompanyContracts.ViewModels; +using Microsoft.AspNetCore.Mvc; + +namespace LawCompanyRestApi.Controllers { - public class LawyerController + [Route("api/[controller]/[action]")] + [ApiController] + public class LawyerController : Controller { + private readonly ILogger _logger; + private readonly ILawyerLogic _logic; + + public LawyerController(ILawyerLogic logic, ILogger + logger) + { + _logger = logger; + _logic = logic; + + } + [HttpGet] + public List? GetLawyerList(int guarantorId) + { + try + { + return _logic.ReadList(new LawyerSearchModel { GuarantorId = guarantorId }); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка получения списка юристов"); + throw; + } + } + + [HttpPost] + public void CreateLawyer(LawyerBindingModel model) + { + + try + { + _logic.Create(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка создания юриста"); + throw; + } + + } + [HttpPost] + public void UpdateLawyer(LawyerBindingModel model) + { + try + { + _logic.Update(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка обновления юриста"); + throw; + } + } + [HttpPost] + public void DeleteLawyer(LawyerBindingModel model) + { + try + { + _logic.Delete(model); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка удаления юриста"); + throw; + } + } } }