From 52829f9e4613851a6a63d798dbc38485f9b8ed86 Mon Sep 17 00:00:00 2001 From: prodigygirl Date: Wed, 5 Apr 2023 11:46:14 +0400 Subject: [PATCH] =?UTF-8?q?=D0=AD=D1=82=D0=B0=D0=BF=202.=20=D0=9A=D0=BE?= =?UTF-8?q?=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Hospital/Hospital.sln | 6 +++++ .../BindingModels/ApothecaryBindingModel.cs | 11 ++++++++ .../BindingModels/MedicineBindingModel.cs | 16 ++++++++++++ .../BindingModels/PatientBindingModel.cs | 19 ++++++++++++++ .../BindingModels/PrescriptionBindingModel.cs | 16 ++++++++++++ .../BindingModels/ProcedureBindingModel.cs | 13 ++++++++++ .../BindingModels/RecipeBindingModel.cs | 19 ++++++++++++++ .../BindingModels/TreatmentBindingModel.cs | 18 +++++++++++++ .../IApothecaryLogic.cs | 15 +++++++++++ .../BusinessLogicContracts/IMedicineLogic.cs | 15 +++++++++++ .../BusinessLogicContracts/IPatientLogic.cs | 15 +++++++++++ .../IPrescriptionLogic.cs | 15 +++++++++++ .../BusinessLogicContracts/IProcedureLogic.cs | 15 +++++++++++ .../BusinessLogicContracts/IRecipeLogic.cs | 15 +++++++++++ .../BusinessLogicContracts/ITreatmentLogic.cs | 15 +++++++++++ .../HospitalContracts.csproj | 13 ++++++++++ .../SearchModels/ApothecarySearchModel.cs | 9 +++++++ .../SearchModels/MedicineSearchModel.cs | 9 +++++++ .../SearchModels/PatientSearchModel.cs | 14 +++++++++++ .../SearchModels/PrescriptionSearchModel.cs | 8 ++++++ .../SearchModels/ProcedureSearchModel.cs | 8 ++++++ .../SearchModels/RecipeSearchModel.cs | 9 +++++++ .../SearchModels/TreatmentSearchModel.cs | 8 ++++++ .../StorageContracts/IApothecaryStorage.cs | 16 ++++++++++++ .../StorageContracts/IMedicineStorage.cs | 21 ++++++++++++++++ .../StorageContracts/IPatientStorage.cs | 16 ++++++++++++ .../StorageContracts/IPrescriptionStorage.cs | 16 ++++++++++++ .../StorageContracts/IProcedureStorage.cs | 16 ++++++++++++ .../StorageContracts/IRecipeStorage.cs | 16 ++++++++++++ .../StorageContracts/ITreatmentStorage.cs | 16 ++++++++++++ .../ViewModels/ApothecaryViewModel.cs | 14 +++++++++++ .../ViewModels/MedicineViewModel.cs | 21 ++++++++++++++++ .../ViewModels/PatientViewModel.cs | 25 +++++++++++++++++++ .../ViewModels/PrescriptionViewModel.cs | 22 ++++++++++++++++ .../ViewModels/ProcedureViewModel.cs | 14 +++++++++++ .../ViewModels/RecipeViewModel.cs | 25 +++++++++++++++++++ .../ViewModels/TreatmentViewModel.cs | 14 +++++++++++ .../Models/IPrescriptionModel.cs | 2 +- 38 files changed, 554 insertions(+), 1 deletion(-) create mode 100644 Hospital/HospitalContracts/BindingModels/ApothecaryBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/MedicineBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/PatientBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/PrescriptionBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/ProcedureBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/RecipeBindingModel.cs create mode 100644 Hospital/HospitalContracts/BindingModels/TreatmentBindingModel.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IApothecaryLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IMedicineLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IPatientLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IPrescriptionLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IProcedureLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/IRecipeLogic.cs create mode 100644 Hospital/HospitalContracts/BusinessLogicContracts/ITreatmentLogic.cs create mode 100644 Hospital/HospitalContracts/HospitalContracts.csproj create mode 100644 Hospital/HospitalContracts/SearchModels/ApothecarySearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/MedicineSearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/PatientSearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/PrescriptionSearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/ProcedureSearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/RecipeSearchModel.cs create mode 100644 Hospital/HospitalContracts/SearchModels/TreatmentSearchModel.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IApothecaryStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IMedicineStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IPatientStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IPrescriptionStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IProcedureStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/IRecipeStorage.cs create mode 100644 Hospital/HospitalContracts/StorageContracts/ITreatmentStorage.cs create mode 100644 Hospital/HospitalContracts/ViewModels/ApothecaryViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/MedicineViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/PatientViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/PrescriptionViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/ProcedureViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/RecipeViewModel.cs create mode 100644 Hospital/HospitalContracts/ViewModels/TreatmentViewModel.cs diff --git a/Hospital/Hospital.sln b/Hospital/Hospital.sln index 24bdb56..ae2d68a 100644 --- a/Hospital/Hospital.sln +++ b/Hospital/Hospital.sln @@ -7,6 +7,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HospitalWeb", "HospitalWeb\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HospitalDataModels", "HospitalDataModels\HospitalDataModels.csproj", "{0CB78C46-D21B-4BF8-BA79-CF2A2F4D5452}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HospitalContracts", "HospitalContracts\HospitalContracts.csproj", "{F24FE3B9-EA65-4793-A950-68857BCC7DB2}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +23,10 @@ Global {0CB78C46-D21B-4BF8-BA79-CF2A2F4D5452}.Debug|Any CPU.Build.0 = Debug|Any CPU {0CB78C46-D21B-4BF8-BA79-CF2A2F4D5452}.Release|Any CPU.ActiveCfg = Release|Any CPU {0CB78C46-D21B-4BF8-BA79-CF2A2F4D5452}.Release|Any CPU.Build.0 = Release|Any CPU + {F24FE3B9-EA65-4793-A950-68857BCC7DB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F24FE3B9-EA65-4793-A950-68857BCC7DB2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F24FE3B9-EA65-4793-A950-68857BCC7DB2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F24FE3B9-EA65-4793-A950-68857BCC7DB2}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Hospital/HospitalContracts/BindingModels/ApothecaryBindingModel.cs b/Hospital/HospitalContracts/BindingModels/ApothecaryBindingModel.cs new file mode 100644 index 0000000..aae51af --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/ApothecaryBindingModel.cs @@ -0,0 +1,11 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class ApothecaryBindingModel : IApothecaryModel + { + public int Id { get; set; } + public string Login { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + } +} diff --git a/Hospital/HospitalContracts/BindingModels/MedicineBindingModel.cs b/Hospital/HospitalContracts/BindingModels/MedicineBindingModel.cs new file mode 100644 index 0000000..1611357 --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/MedicineBindingModel.cs @@ -0,0 +1,16 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class MedicineBindingModel : IMedicineModel + { + public int Id { get; set; } + public string Name { get; set; } = string.Empty; + + public double Cost { get; set; } + + public string Dose { get; set; } = string.Empty; + + public int ApothecaryId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/BindingModels/PatientBindingModel.cs b/Hospital/HospitalContracts/BindingModels/PatientBindingModel.cs new file mode 100644 index 0000000..e33df2d --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/PatientBindingModel.cs @@ -0,0 +1,19 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class PatientBindingModel : IPatientModel + { + public int Id { get; set; } + + public string Surname { get; set; } = string.Empty; + + public string Name { get; set; } = string.Empty; + + public string Patronymic { get; set; } = string.Empty; + + public DateTime BirthDate { get; set; } + + public int TreatmentId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/BindingModels/PrescriptionBindingModel.cs b/Hospital/HospitalContracts/BindingModels/PrescriptionBindingModel.cs new file mode 100644 index 0000000..2d67053 --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/PrescriptionBindingModel.cs @@ -0,0 +1,16 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class PrescriptionBindingModel : IPrescriptionModel + { + public int Id { get; set; } + public DateTime Date { get; set; } = DateTime.Now; + + public int Number { get; set; } + + public int MedicineId { get; set; } + + public int ApothecaryId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/BindingModels/ProcedureBindingModel.cs b/Hospital/HospitalContracts/BindingModels/ProcedureBindingModel.cs new file mode 100644 index 0000000..3ae3873 --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/ProcedureBindingModel.cs @@ -0,0 +1,13 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class ProcedureBindingModel : IProcedureModel + { + public int Id { get; set; } + + public string Name { get; set; } = string.Empty; + + public Dictionary ProcedureMedicines { get; set; } = new(); + } +} diff --git a/Hospital/HospitalContracts/BindingModels/RecipeBindingModel.cs b/Hospital/HospitalContracts/BindingModels/RecipeBindingModel.cs new file mode 100644 index 0000000..b7dd71f --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/RecipeBindingModel.cs @@ -0,0 +1,19 @@ +using HospitalDataModels.Models; + +namespace HospitalContracts.BindingModels +{ + public class RecipeBindingModel : IRecipeModel + { + public int Id { get; set; } + + public string Name { get; set; } = string.Empty; + + public DateTime Date { get; set; } = DateTime.Now; + + public int ApothecaryId { get; set; } + + public Dictionary RecipeMedicines { get; set; } = new(); + + public Dictionary RecipeTreatments { get; set; } = new(); + } +} diff --git a/Hospital/HospitalContracts/BindingModels/TreatmentBindingModel.cs b/Hospital/HospitalContracts/BindingModels/TreatmentBindingModel.cs new file mode 100644 index 0000000..ac9b0cc --- /dev/null +++ b/Hospital/HospitalContracts/BindingModels/TreatmentBindingModel.cs @@ -0,0 +1,18 @@ +using HospitalDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HospitalContracts.BindingModels +{ + public class TreatmentBindingModel : ITreatmentModel + { + public int Id { get; set; } + + public string Name { get; set; } = string.Empty; + + public Dictionary TreatmentProcedures { get; set; } = new(); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IApothecaryLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IApothecaryLogic.cs new file mode 100644 index 0000000..8f6c8fb --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IApothecaryLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IApothecaryLogic + { + List? ReadList(ApothecarySearchModel? model); + ApothecaryViewModel? ReadElement(ApothecarySearchModel model); + bool Create(ApothecaryBindingModel model); + bool Update(ApothecaryBindingModel model); + bool Delete(ApothecaryBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IMedicineLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IMedicineLogic.cs new file mode 100644 index 0000000..9ffd531 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IMedicineLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IMedicineLogic + { + List? ReadList(MedicineSearchModel? model); + MedicineViewModel? ReadElement(MedicineSearchModel model); + bool Create(MedicineBindingModel model); + bool Update(MedicineBindingModel model); + bool Delete(MedicineBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IPatientLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IPatientLogic.cs new file mode 100644 index 0000000..3cdcd28 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IPatientLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IPatientLogic + { + List? ReadList(PatientSearchModel? model); + PatientViewModel? ReadElement(PatientSearchModel model); + bool Create(PatientBindingModel model); + bool Update(PatientBindingModel model); + bool Delete(PatientBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IPrescriptionLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IPrescriptionLogic.cs new file mode 100644 index 0000000..5e47a02 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IPrescriptionLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IPrescriptionLogic + { + List? ReadList(PrescriptionSearchModel? model); + PrescriptionViewModel? ReadElement(PrescriptionSearchModel model); + bool Create(PrescriptionBindingModel model); + bool Update(PrescriptionBindingModel model); + bool Delete(PrescriptionBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IProcedureLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IProcedureLogic.cs new file mode 100644 index 0000000..2248d32 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IProcedureLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IProcedureLogic + { + List? ReadList(ProcedureSearchModel? model); + ProcedureViewModel? ReadElement(ProcedureSearchModel model); + bool Create(ProcedureBindingModel model); + bool Update(ProcedureBindingModel model); + bool Delete(ProcedureBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/IRecipeLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/IRecipeLogic.cs new file mode 100644 index 0000000..38848e8 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/IRecipeLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface IRecipeLogic + { + List? ReadList(RecipeSearchModel? model); + RecipeViewModel? ReadElement(RecipeSearchModel model); + bool Create(RecipeBindingModel model); + bool Update(RecipeBindingModel model); + bool Delete(RecipeBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/BusinessLogicContracts/ITreatmentLogic.cs b/Hospital/HospitalContracts/BusinessLogicContracts/ITreatmentLogic.cs new file mode 100644 index 0000000..1a6fca1 --- /dev/null +++ b/Hospital/HospitalContracts/BusinessLogicContracts/ITreatmentLogic.cs @@ -0,0 +1,15 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.BusinessLogicContracts +{ + public interface ITreatmentLogic + { + List? ReadList(TreatmentSearchModel? model); + TreatmentViewModel? ReadElement(TreatmentSearchModel model); + bool Create(TreatmentBindingModel model); + bool Update(TreatmentBindingModel model); + bool Delete(TreatmentBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/HospitalContracts.csproj b/Hospital/HospitalContracts/HospitalContracts.csproj new file mode 100644 index 0000000..a2f8c75 --- /dev/null +++ b/Hospital/HospitalContracts/HospitalContracts.csproj @@ -0,0 +1,13 @@ + + + + net6.0 + enable + enable + + + + + + + diff --git a/Hospital/HospitalContracts/SearchModels/ApothecarySearchModel.cs b/Hospital/HospitalContracts/SearchModels/ApothecarySearchModel.cs new file mode 100644 index 0000000..c6874cd --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/ApothecarySearchModel.cs @@ -0,0 +1,9 @@ +namespace HospitalContracts.SearchModels +{ + public class ApothecarySearchModel + { + public int? Id { get; set; } + public string? Login { get; set; } + public string? Password { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/MedicineSearchModel.cs b/Hospital/HospitalContracts/SearchModels/MedicineSearchModel.cs new file mode 100644 index 0000000..e88f48e --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/MedicineSearchModel.cs @@ -0,0 +1,9 @@ +namespace HospitalContracts.SearchModels +{ + public class MedicineSearchModel + { + public int? Id { get; set; } + public string? Name { get; set; } + public int? ApothecaryId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/PatientSearchModel.cs b/Hospital/HospitalContracts/SearchModels/PatientSearchModel.cs new file mode 100644 index 0000000..4863b0c --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/PatientSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HospitalContracts.SearchModels +{ + public class PatientSearchModel + { + public int? Id { get; set; } + public int? TreatmentId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/PrescriptionSearchModel.cs b/Hospital/HospitalContracts/SearchModels/PrescriptionSearchModel.cs new file mode 100644 index 0000000..7f22cd2 --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/PrescriptionSearchModel.cs @@ -0,0 +1,8 @@ +namespace HospitalContracts.SearchModels +{ + public class PrescriptionSearchModel + { + public int? Id { get; set; } + public int? ApothecaryId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/ProcedureSearchModel.cs b/Hospital/HospitalContracts/SearchModels/ProcedureSearchModel.cs new file mode 100644 index 0000000..d039be2 --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/ProcedureSearchModel.cs @@ -0,0 +1,8 @@ +namespace HospitalContracts.SearchModels +{ + public class ProcedureSearchModel + { + public int? Id { get; set; } + public string? Name { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/RecipeSearchModel.cs b/Hospital/HospitalContracts/SearchModels/RecipeSearchModel.cs new file mode 100644 index 0000000..6b4b778 --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/RecipeSearchModel.cs @@ -0,0 +1,9 @@ +namespace HospitalContracts.SearchModels +{ + public class RecipeSearchModel + { + public int? Id { get; set; } + public string? Name { get; set; } + public int? ApothecaryId { get; set; } + } +} diff --git a/Hospital/HospitalContracts/SearchModels/TreatmentSearchModel.cs b/Hospital/HospitalContracts/SearchModels/TreatmentSearchModel.cs new file mode 100644 index 0000000..def5ee3 --- /dev/null +++ b/Hospital/HospitalContracts/SearchModels/TreatmentSearchModel.cs @@ -0,0 +1,8 @@ +namespace HospitalContracts.SearchModels +{ + public class TreatmentSearchModel + { + public int? Id { get; set; } + public string? Name { get; set; } + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IApothecaryStorage.cs b/Hospital/HospitalContracts/StorageContracts/IApothecaryStorage.cs new file mode 100644 index 0000000..f76b1bb --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IApothecaryStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface IApothecaryStorage + { + List GetFullList(); + List GetFilteredList(ApothecarySearchModel model); + ApothecaryViewModel? GetElement(ApothecarySearchModel model); + ApothecaryViewModel? Insert(ApothecaryBindingModel model); + ApothecaryViewModel? Update(ApothecaryBindingModel model); + ApothecaryViewModel? Delete(ApothecaryBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IMedicineStorage.cs b/Hospital/HospitalContracts/StorageContracts/IMedicineStorage.cs new file mode 100644 index 0000000..e6420f7 --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IMedicineStorage.cs @@ -0,0 +1,21 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HospitalContracts.StorageContracts +{ + public interface IMedicineStorage + { + List GetFullList(); + List GetFilteredList(MedicineSearchModel model); + MedicineViewModel? GetElement(MedicineSearchModel model); + MedicineViewModel? Insert(MedicineBindingModel model); + MedicineViewModel? Update(MedicineBindingModel model); + MedicineViewModel? Delete(MedicineBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IPatientStorage.cs b/Hospital/HospitalContracts/StorageContracts/IPatientStorage.cs new file mode 100644 index 0000000..a0a699c --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IPatientStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface IPatientStorage + { + List GetFullList(); + List GetFilteredList(PatientSearchModel model); + PatientViewModel? GetElement(PatientSearchModel model); + PatientViewModel? Insert(PatientBindingModel model); + PatientViewModel? Update(PatientBindingModel model); + PatientViewModel? Delete(PatientBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IPrescriptionStorage.cs b/Hospital/HospitalContracts/StorageContracts/IPrescriptionStorage.cs new file mode 100644 index 0000000..a813b5b --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IPrescriptionStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface IPrescriptionStorage + { + List GetFullList(); + List GetFilteredList(PrescriptionSearchModel model); + PrescriptionViewModel? GetElement(PrescriptionSearchModel model); + PrescriptionViewModel? Insert(PrescriptionBindingModel model); + PrescriptionViewModel? Update(PrescriptionBindingModel model); + PrescriptionViewModel? Delete(PrescriptionBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IProcedureStorage.cs b/Hospital/HospitalContracts/StorageContracts/IProcedureStorage.cs new file mode 100644 index 0000000..40920df --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IProcedureStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface IProcedureStorage + { + List GetFullList(); + List GetFilteredList(ProcedureSearchModel model); + ProcedureViewModel? GetElement(ProcedureSearchModel model); + ProcedureViewModel? Insert(ProcedureBindingModel model); + ProcedureViewModel? Update(ProcedureBindingModel model); + ProcedureViewModel? Delete(ProcedureBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/IRecipeStorage.cs b/Hospital/HospitalContracts/StorageContracts/IRecipeStorage.cs new file mode 100644 index 0000000..f10439e --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/IRecipeStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface IRecipeStorage + { + List GetFullList(); + List GetFilteredList(RecipeSearchModel model); + RecipeViewModel? GetElement(RecipeSearchModel model); + RecipeViewModel? Insert(RecipeBindingModel model); + RecipeViewModel? Update(RecipeBindingModel model); + RecipeViewModel? Delete(RecipeBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/StorageContracts/ITreatmentStorage.cs b/Hospital/HospitalContracts/StorageContracts/ITreatmentStorage.cs new file mode 100644 index 0000000..6190f93 --- /dev/null +++ b/Hospital/HospitalContracts/StorageContracts/ITreatmentStorage.cs @@ -0,0 +1,16 @@ +using HospitalContracts.BindingModels; +using HospitalContracts.SearchModels; +using HospitalContracts.ViewModels; + +namespace HospitalContracts.StorageContracts +{ + public interface ITreatmentStorage + { + List GetFullList(); + List GetFilteredList(TreatmentSearchModel model); + TreatmentViewModel? GetElement(TreatmentSearchModel model); + TreatmentViewModel? Insert(TreatmentBindingModel model); + TreatmentViewModel? Update(TreatmentBindingModel model); + TreatmentViewModel? Delete(TreatmentBindingModel model); + } +} diff --git a/Hospital/HospitalContracts/ViewModels/ApothecaryViewModel.cs b/Hospital/HospitalContracts/ViewModels/ApothecaryViewModel.cs new file mode 100644 index 0000000..de866c7 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/ApothecaryViewModel.cs @@ -0,0 +1,14 @@ +using HospitalDataModels.Models; +using System.ComponentModel; + +namespace HospitalContracts.ViewModels +{ + public class ApothecaryViewModel : IApothecaryModel + { + public int Id { get; set; } + [DisplayName("Логин")] + public string Login { get; set; } = string.Empty; + [DisplayName("Пароль")] + public string Password { get; set; } = string.Empty; + } +} diff --git a/Hospital/HospitalContracts/ViewModels/MedicineViewModel.cs b/Hospital/HospitalContracts/ViewModels/MedicineViewModel.cs new file mode 100644 index 0000000..3158a35 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/MedicineViewModel.cs @@ -0,0 +1,21 @@ +using HospitalDataModels.Models; +using System.ComponentModel; + +namespace HospitalContracts.ViewModels +{ + public class MedicineViewModel : IMedicineModel + { + public int Id { get; set; } + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + [DisplayName("Цена")] + public double Cost { get; set; } + [DisplayName("Дозировка")] + public string Dose { get; set; } = string.Empty; + public int ApothecaryId { get; set; } + [DisplayName("Автор записи")] + public string ApothecaryLogin { get; set; } = string.Empty; + + + } +} diff --git a/Hospital/HospitalContracts/ViewModels/PatientViewModel.cs b/Hospital/HospitalContracts/ViewModels/PatientViewModel.cs new file mode 100644 index 0000000..585f489 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/PatientViewModel.cs @@ -0,0 +1,25 @@ +using HospitalDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HospitalContracts.ViewModels +{ + public class PatientViewModel : IPatientModel + { + public int Id { get; set; } + + public string Surname { get; set; } = string.Empty; + + public string Name { get; set; } = string.Empty; + + public string Patronymic { get; set; } = string.Empty; + + public DateTime BirthDate { get; set; } + + public int TreatmentId { get; set; } + public string TreatmentName { get; set; } = string.Empty; + } +} diff --git a/Hospital/HospitalContracts/ViewModels/PrescriptionViewModel.cs b/Hospital/HospitalContracts/ViewModels/PrescriptionViewModel.cs new file mode 100644 index 0000000..51e3ef3 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/PrescriptionViewModel.cs @@ -0,0 +1,22 @@ +using HospitalDataModels.Models; +using System.ComponentModel; + +namespace HospitalContracts.ViewModels +{ + public class PrescriptionViewModel : IPrescriptionModel + { + public int Id { get; set; } + [DisplayName("Дата поставки")] + public DateTime Date { get; set; } = DateTime.Now; + public int MedicineId { get; set; } + [DisplayName("Лекарство")] + public string MedicineName { get; set; } = string.Empty; + [DisplayName("Количество")] + public int Number { get; set; } + public int ApothecaryId { get; set; } + [DisplayName("Автор записи")] + public string ApothecaryLogin { get; set; } = string.Empty; + + + } +} diff --git a/Hospital/HospitalContracts/ViewModels/ProcedureViewModel.cs b/Hospital/HospitalContracts/ViewModels/ProcedureViewModel.cs new file mode 100644 index 0000000..60f6eeb --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/ProcedureViewModel.cs @@ -0,0 +1,14 @@ +using HospitalDataModels.Models; +using System.ComponentModel; + +namespace HospitalContracts.ViewModels +{ + public class ProcedureViewModel : IProcedureModel + { + public int Id { get; set; } + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + + public Dictionary ProcedureMedicines { get; set; } = new(); + } +} diff --git a/Hospital/HospitalContracts/ViewModels/RecipeViewModel.cs b/Hospital/HospitalContracts/ViewModels/RecipeViewModel.cs new file mode 100644 index 0000000..a5ffc06 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/RecipeViewModel.cs @@ -0,0 +1,25 @@ +using HospitalDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HospitalContracts.ViewModels +{ + public class RecipeViewModel : IRecipeModel + { + public int Id { get; set; } + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + [DisplayName("Дата создания")] + public DateTime Date { get; set; } = DateTime.Now; + public int ApothecaryId { get; set; } + [DisplayName("Автор записи")] + public string ApothecaryLogin { get; set; } = string.Empty; + public Dictionary RecipeMedicines { get; set; } = new(); + + public Dictionary RecipeTreatments { get; set; } = new(); + } +} diff --git a/Hospital/HospitalContracts/ViewModels/TreatmentViewModel.cs b/Hospital/HospitalContracts/ViewModels/TreatmentViewModel.cs new file mode 100644 index 0000000..053f991 --- /dev/null +++ b/Hospital/HospitalContracts/ViewModels/TreatmentViewModel.cs @@ -0,0 +1,14 @@ +using HospitalDataModels.Models; +using System.ComponentModel; + +namespace HospitalContracts.ViewModels +{ + public class TreatmentViewModel : ITreatmentModel + { + public int Id { get; set; } + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + + public Dictionary TreatmentProcedures { get; set; } = new(); + } +} diff --git a/Hospital/HospitalDataModels/Models/IPrescriptionModel.cs b/Hospital/HospitalDataModels/Models/IPrescriptionModel.cs index d450773..5dc8037 100644 --- a/Hospital/HospitalDataModels/Models/IPrescriptionModel.cs +++ b/Hospital/HospitalDataModels/Models/IPrescriptionModel.cs @@ -2,7 +2,7 @@ { public interface IPrescriptionModel : IId { - DateTime date { get; } + DateTime Date { get; } int Number { get; } int MedicineId { get; } int ApothecaryId { get; }