From 08d329df3f9626d6576fe0b21d948f40fe8b19c2 Mon Sep 17 00:00:00 2001 From: antoc0der <1@DESKTOP-K1L8ND3> Date: Sun, 26 May 2024 14:51:55 +0400 Subject: [PATCH] =?UTF-8?q?=D1=8F=20=D0=B2=20=D1=82=D0=B8=D0=BB=D1=8C?= =?UTF-8?q?=D1=82=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Implements/ServiceStorage.cs | 6 ++++-- .../Models/Service.cs | 5 ++++- .../Controllers/ServiceController.cs | 20 +++++++++++++------ .../Controllers/HomeController.cs | 4 ++-- .../Views/Home/UpdateService.cshtml | 4 ++-- 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/VeterinaryView/VeterinaryDatabaseImplement/Implements/ServiceStorage.cs b/VeterinaryView/VeterinaryDatabaseImplement/Implements/ServiceStorage.cs index 64963db..f447bf1 100644 --- a/VeterinaryView/VeterinaryDatabaseImplement/Implements/ServiceStorage.cs +++ b/VeterinaryView/VeterinaryDatabaseImplement/Implements/ServiceStorage.cs @@ -18,6 +18,7 @@ namespace VeterinaryDatabaseImplement.Implements { using var context = new VeterinaryDatabase(); return context.Services.Include(x=>x.Doctor) + .Include(x => x.Visit) .Include(x => x.Medications) .ThenInclude(x => x.Medication) .ToList() @@ -28,7 +29,7 @@ namespace VeterinaryDatabaseImplement.Implements { using var context = new VeterinaryDatabase(); - return context.Services.Include(x => x.Doctor).Include(x => x.Medications) + return context.Services.Include(x => x.Doctor).Include(x => x.Visit).Include(x => x.Medications) .ThenInclude(x => x.Medication) .Where(x => String.IsNullOrEmpty(model.ServiceName) || x.ServiceName.Contains(model.ServiceName)) .ToList() @@ -44,6 +45,7 @@ namespace VeterinaryDatabaseImplement.Implements } using var context = new VeterinaryDatabase(); return context.Services.Include(x => x.Doctor) + .Include(x => x.Visit) .Include(x => x.Medications) .ThenInclude(x => x.Medication) .FirstOrDefault(x => (!string.IsNullOrEmpty(model.ServiceName) && @@ -91,7 +93,7 @@ namespace VeterinaryDatabaseImplement.Implements public ServiceViewModel? Delete(ServiceBindingModel model) { using var context = new VeterinaryDatabase(); - var element = context.Services.Include(x => x.Doctor) + var element = context.Services.Include(x => x.Doctor).Include(x => x.Visit) .Include(x => x.Medications) .FirstOrDefault(rec => rec.Id == model.Id); if (element != null) diff --git a/VeterinaryView/VeterinaryDatabaseImplement/Models/Service.cs b/VeterinaryView/VeterinaryDatabaseImplement/Models/Service.cs index 3d5558e..6f6d2f4 100644 --- a/VeterinaryView/VeterinaryDatabaseImplement/Models/Service.cs +++ b/VeterinaryView/VeterinaryDatabaseImplement/Models/Service.cs @@ -19,10 +19,12 @@ namespace VeterinaryDatabaseImplement.Models public string ServiceName { get; set; } = string.Empty; [Required] public int DoctorId { get; private set; } + public virtual Doctor? Doctor { get; private set; } + [Required] public int VisitId { get; private set; } - public virtual Doctor? Doctor { get; private set; } public virtual Visit? Visit { get; private set; } + private Dictionary? _serviceMedications = null; [NotMapped] @@ -66,6 +68,7 @@ namespace VeterinaryDatabaseImplement.Models DoctorId = DoctorId, VisitId = VisitId, VisitName = Visit?.VisitName ?? string.Empty, + ServiceMedications = ServiceMedications }; diff --git a/VeterinaryView/VeterinaryRestApi/Controllers/ServiceController.cs b/VeterinaryView/VeterinaryRestApi/Controllers/ServiceController.cs index 78405d9..fded643 100644 --- a/VeterinaryView/VeterinaryRestApi/Controllers/ServiceController.cs +++ b/VeterinaryView/VeterinaryRestApi/Controllers/ServiceController.cs @@ -17,16 +17,17 @@ namespace VeterinaryRestApi.Controllers _logger = logger; _service = service; } - [HttpGet] - public Tuple>? GetService(int serviceId) + public Tuple>>? GetService(int serviceId) { try { var elem = _service.ReadElement(new ServiceSearchModel { Id = serviceId }); if (elem == null) return null; - return Tuple.Create(elem, elem.ServiceMedications.Select(x => x.Value.MedicationName).ToList()); + var res = Tuple.Create(elem, elem.ServiceMedications.Select(x => Tuple.Create(x.Value.MedicationName, x.Value.Id)).ToList()); + res.Item1.ServiceMedications = null!; + return res; } catch (Exception ex) { @@ -35,11 +36,18 @@ namespace VeterinaryRestApi.Controllers } } [HttpGet] - public List GetServices(int doctorId) + public List GetServices(int? doctorId = null) { try { - return _service.ReadList(new ServiceSearchModel { DoctorId = doctorId }); + List res; + if (!doctorId.HasValue) + res = _service.ReadList(null); + else + res = _service.ReadList(new ServiceSearchModel { DoctorId = doctorId.Value }); + foreach (var service in res) + service.ServiceMedications = null; + return res; } catch (Exception ex) { @@ -66,7 +74,7 @@ namespace VeterinaryRestApi.Controllers { try { - model.ServiceMedications = null!; + ///model.ServiceMedications = null!; return _service.Update(model); } catch (Exception ex) diff --git a/VeterinaryView/VeterinaryShowDoctorApp/Controllers/HomeController.cs b/VeterinaryView/VeterinaryShowDoctorApp/Controllers/HomeController.cs index 2b028d7..70a95e4 100644 --- a/VeterinaryView/VeterinaryShowDoctorApp/Controllers/HomeController.cs +++ b/VeterinaryView/VeterinaryShowDoctorApp/Controllers/HomeController.cs @@ -433,13 +433,13 @@ namespace VeterinaryShowDoctorApp.Controllers Response.Redirect("Services"); } [HttpGet] - public Tuple>? GetService(int serviceId) + public Tuple>>? GetService(int serviceId) { if (APIDoctor.Doctor == null) { throw new Exception("Вы как суда попали? Суда вход только авторизованным"); } - var result = APIDoctor.GetRequest>>($"api/service/getservice?serviceid={serviceId}"); + var result = APIDoctor.GetRequest>>>($"api/service/getservice?serviceid={serviceId}"); if (result == null) { return default; diff --git a/VeterinaryView/VeterinaryShowDoctorApp/Views/Home/UpdateService.cshtml b/VeterinaryView/VeterinaryShowDoctorApp/Views/Home/UpdateService.cshtml index 209cf33..893a2d1 100644 --- a/VeterinaryView/VeterinaryShowDoctorApp/Views/Home/UpdateService.cshtml +++ b/VeterinaryView/VeterinaryShowDoctorApp/Views/Home/UpdateService.cshtml @@ -24,7 +24,7 @@ @@ -51,7 +51,7 @@ $('#name').val(result.item1.serviceName); $.map(result.item2, function (n) { console.log("#" + n); - $("#" + n).attr("selected", "selected") + $(`option[data-name=${n.item2}]`).attr("selected", "selected") }); }