diff --git a/Polyclinic/PolyclinicContracts/BindingModels/.gitkeep b/Polyclinic/PolyclinicContracts/BindingModels/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicContracts/BindingModels/CourseBindingModel.cs b/Polyclinic/PolyclinicContracts/BindingModels/CourseBindingModel.cs new file mode 100644 index 0000000..611bfe5 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BindingModels/CourseBindingModel.cs @@ -0,0 +1,14 @@ +using PolyclinicDataModels.Models; + +namespace PolyclinicContracts.BindingModels +{ + public class CourseBindingModel : ICourseModel + { + public int DaysCount { get; set; } + public int PillsPerDay { get; set; } + public string Comment { get; set; } = string.Empty; + public Dictionary CourseDiagnosis { get; set; } = new(); + public Dictionary CourseRecipes { get; set; } = new(); + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/BindingModels/DiagnosisBindingModel.cs b/Polyclinic/PolyclinicContracts/BindingModels/DiagnosisBindingModel.cs new file mode 100644 index 0000000..9d936df --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BindingModels/DiagnosisBindingModel.cs @@ -0,0 +1,12 @@ +using PolyclinicDataModels.Models; + +namespace PolyclinicContracts.BindingModels +{ + public class DiagnosisBindingModel : IDiagnosisModel + { + public string Name { get; set; } = string.Empty; + public string Comment { get; set; } = string.Empty; + public int ExecutorId { get; set; } + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/BindingModels/ExecutorBindingModel.cs b/Polyclinic/PolyclinicContracts/BindingModels/ExecutorBindingModel.cs new file mode 100644 index 0000000..f97a6fe --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BindingModels/ExecutorBindingModel.cs @@ -0,0 +1,12 @@ +using PolyclinicDataModels.Models; + +namespace PolyclinicContracts.BindingModels +{ + public class ExecutorBindingModel : IExecutorModel + { + public string FIO { get; set; } = string.Empty; + public string Email { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/BindingModels/SymptomBindingModel.cs b/Polyclinic/PolyclinicContracts/BindingModels/SymptomBindingModel.cs new file mode 100644 index 0000000..bc4c191 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BindingModels/SymptomBindingModel.cs @@ -0,0 +1,13 @@ +using PolyclinicDataModels.Models; + +namespace PolyclinicContracts.BindingModels +{ + public class SymptomBindingModel : ISymptomModel + { + public string Name { get; set; } = string.Empty; + public string Comment { get; set; } = string.Empty; + public Dictionary SymptomDiagnosis { get; set; } = new(); + public Dictionary SymptomRecipes { get; set; } = new(); + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/.gitkeep b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ICourseLogic.cs b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ICourseLogic.cs new file mode 100644 index 0000000..1b9fc2c --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ICourseLogic.cs @@ -0,0 +1,15 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.BusinessLogicsContracts +{ + public interface ICourseLogic + { + List? ReadList(CourseSearchModel? model); + CourseViewModel? ReadElement(CourseSearchModel model); + bool Create(CourseBindingModel model); + bool Update(CourseBindingModel model); + bool Delete(CourseBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IDiagnosisLogic.cs b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IDiagnosisLogic.cs new file mode 100644 index 0000000..cce64f3 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IDiagnosisLogic.cs @@ -0,0 +1,15 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.BusinessLogicsContracts +{ + public interface IDiagnosisLogic + { + List? ReadList(DiagnosisSearchModel? model); + DiagnosisViewModel? ReadElement(DiagnosisSearchModel model); + bool Create(DiagnosisBindingModel model); + bool Update(DiagnosisBindingModel model); + bool Delete(DiagnosisBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IExecutorLogic.cs b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IExecutorLogic.cs new file mode 100644 index 0000000..59e4d22 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/IExecutorLogic.cs @@ -0,0 +1,15 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.BusinessLogicsContracts +{ + public interface IExecutorLogic + { + List? ReadList(ExecutorSearchModel? model); + ExecutorViewModel? ReadElement(ExecutorSearchModel model); + bool Create(ExecutorBindingModel model); + bool Update(ExecutorBindingModel model); + bool Delete(ExecutorBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ISymptomLogic.cs b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ISymptomLogic.cs new file mode 100644 index 0000000..6f0f2af --- /dev/null +++ b/Polyclinic/PolyclinicContracts/BusinessLogicsContracts/ISymptomLogic.cs @@ -0,0 +1,15 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.BusinessLogicsContracts +{ + public interface ISymptomLogic + { + List? ReadList(SymptomSearchModel? model); + SymptomViewModel? ReadElement(SymptomSearchModel model); + bool Create(SymptomBindingModel model); + bool Update(SymptomBindingModel model); + bool Delete(SymptomBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/SearchModels/.gitkeep b/Polyclinic/PolyclinicContracts/SearchModels/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicContracts/SearchModels/CourseSearchModel.cs b/Polyclinic/PolyclinicContracts/SearchModels/CourseSearchModel.cs new file mode 100644 index 0000000..7cb5772 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/SearchModels/CourseSearchModel.cs @@ -0,0 +1,7 @@ +namespace PolyclinicContracts.SearchModels +{ + public class CourseSearchModel + { + public int? Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/SearchModels/DiagnosisSearchModel.cs b/Polyclinic/PolyclinicContracts/SearchModels/DiagnosisSearchModel.cs new file mode 100644 index 0000000..812bfa3 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/SearchModels/DiagnosisSearchModel.cs @@ -0,0 +1,8 @@ +namespace PolyclinicContracts.SearchModels +{ + public class DiagnosisSearchModel + { + public int? Id { get; set; } + public int? ExecutorId { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/SearchModels/ExecutorSearchModel.cs b/Polyclinic/PolyclinicContracts/SearchModels/ExecutorSearchModel.cs new file mode 100644 index 0000000..872b783 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/SearchModels/ExecutorSearchModel.cs @@ -0,0 +1,9 @@ +namespace PolyclinicContracts.SearchModels +{ + public class ExecutorSearchModel + { + public int? Id { get; set; } + public string? Email { get; set; } + public string? Password { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/SearchModels/SymptomSearchModel.cs b/Polyclinic/PolyclinicContracts/SearchModels/SymptomSearchModel.cs new file mode 100644 index 0000000..156f028 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/SearchModels/SymptomSearchModel.cs @@ -0,0 +1,7 @@ +namespace PolyclinicContracts.SearchModels +{ + public class SymptomSearchModel + { + public int? Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/StoragesContracts/.gitkeep b/Polyclinic/PolyclinicContracts/StoragesContracts/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicContracts/StoragesContracts/ICourseStorage.cs b/Polyclinic/PolyclinicContracts/StoragesContracts/ICourseStorage.cs new file mode 100644 index 0000000..5a8ddb3 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/StoragesContracts/ICourseStorage.cs @@ -0,0 +1,16 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.StoragesContracts +{ + public interface ICourseStorage + { + List GetFullList(); + List GetFilteredList(CourseSearchModel model); + CourseViewModel? GetElement(CourseSearchModel model); + CourseViewModel? Insert(CourseBindingModel model); + CourseViewModel? Update(CourseBindingModel model); + CourseViewModel? Delete(CourseBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/StoragesContracts/IDiagnosisStorage.cs b/Polyclinic/PolyclinicContracts/StoragesContracts/IDiagnosisStorage.cs new file mode 100644 index 0000000..9c1015b --- /dev/null +++ b/Polyclinic/PolyclinicContracts/StoragesContracts/IDiagnosisStorage.cs @@ -0,0 +1,16 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.StoragesContracts +{ + public interface IDiagnosisStorage + { + List GetFullList(); + List GetFilteredList(DiagnosisSearchModel model); + DiagnosisViewModel? GetElement(DiagnosisSearchModel model); + DiagnosisViewModel? Insert(DiagnosisBindingModel model); + DiagnosisViewModel? Update(DiagnosisBindingModel model); + DiagnosisViewModel? Delete(DiagnosisBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/StoragesContracts/IExecutorStorage.cs b/Polyclinic/PolyclinicContracts/StoragesContracts/IExecutorStorage.cs new file mode 100644 index 0000000..331af33 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/StoragesContracts/IExecutorStorage.cs @@ -0,0 +1,16 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.StoragesContracts +{ + public interface IExecutorStorage + { + List GetFullList(); + List GetFilteredList(ExecutorSearchModel model); + ExecutorViewModel? GetElement(ExecutorSearchModel model); + ExecutorViewModel? Insert(ExecutorBindingModel model); + ExecutorViewModel? Update(ExecutorBindingModel model); + ExecutorViewModel? Delete(ExecutorBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/StoragesContracts/ISymptomStorage.cs b/Polyclinic/PolyclinicContracts/StoragesContracts/ISymptomStorage.cs new file mode 100644 index 0000000..c0d4e69 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/StoragesContracts/ISymptomStorage.cs @@ -0,0 +1,16 @@ +using PolyclinicContracts.BindingModels; +using PolyclinicContracts.SearchModels; +using PolyclinicContracts.ViewModels; + +namespace PolyclinicContracts.StoragesContracts +{ + public interface ISymptomStorage + { + List GetFullList(); + List GetFilteredList(SymptomSearchModel model); + SymptomViewModel? GetElement(SymptomSearchModel model); + SymptomViewModel? Insert(SymptomBindingModel model); + SymptomViewModel? Update(SymptomBindingModel model); + SymptomViewModel? Delete(SymptomBindingModel model); + } +} diff --git a/Polyclinic/PolyclinicContracts/ViewModels/.gitkeep b/Polyclinic/PolyclinicContracts/ViewModels/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicContracts/ViewModels/CourseViewModel.cs b/Polyclinic/PolyclinicContracts/ViewModels/CourseViewModel.cs new file mode 100644 index 0000000..a80cf78 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/ViewModels/CourseViewModel.cs @@ -0,0 +1,18 @@ +using PolyclinicDataModels.Models; +using System.ComponentModel; + +namespace PolyclinicContracts.ViewModels +{ + public class CourseViewModel : ICourseModel + { + [DisplayName("Количество дней курса")] + public int DaysCount { get; set; } + [DisplayName("Препарата в день")] + public int PillsPerDay { get; set; } + [DisplayName("Комментарий")] + public string Comment { get; set; } = string.Empty; + public Dictionary CourseDiagnosis { get; set; } = new(); + public Dictionary CourseRecipes { get; set; } = new(); + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/ViewModels/DiagnosisViewModel.cs b/Polyclinic/PolyclinicContracts/ViewModels/DiagnosisViewModel.cs new file mode 100644 index 0000000..10f4d44 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/ViewModels/DiagnosisViewModel.cs @@ -0,0 +1,15 @@ +using PolyclinicDataModels.Models; +using System.ComponentModel; + +namespace PolyclinicContracts.ViewModels +{ + public class DiagnosisViewModel : IDiagnosisModel + { + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + [DisplayName("Комментарий")] + public string Comment { get; set; } = string.Empty; + public int ExecutorId { get; set; } + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/ViewModels/ExecutorViewModel.cs b/Polyclinic/PolyclinicContracts/ViewModels/ExecutorViewModel.cs new file mode 100644 index 0000000..04f492c --- /dev/null +++ b/Polyclinic/PolyclinicContracts/ViewModels/ExecutorViewModel.cs @@ -0,0 +1,15 @@ +using PolyclinicDataModels.Models; +using System.ComponentModel; + +namespace PolyclinicContracts.ViewModels +{ + public class ExecutorViewModel : IExecutorModel + { + [DisplayName("ФИО исполнителя")] + public string FIO { get; set; } = string.Empty; + [DisplayName("Email исполнителя")] + public string Email { get; set; } = string.Empty; + public string Password { get; set; } = string.Empty; + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicContracts/ViewModels/SymptomViewModel.cs b/Polyclinic/PolyclinicContracts/ViewModels/SymptomViewModel.cs new file mode 100644 index 0000000..20879c8 --- /dev/null +++ b/Polyclinic/PolyclinicContracts/ViewModels/SymptomViewModel.cs @@ -0,0 +1,16 @@ +using PolyclinicDataModels.Models; +using System.ComponentModel; + +namespace PolyclinicContracts.ViewModels +{ + public class SymptomViewModel : ISymptomModel + { + [DisplayName("Название")] + public string Name { get; set; } = string.Empty; + [DisplayName("Комментарий")] + public string Comment { get; set; } = string.Empty; + public Dictionary SymptomDiagnosis { get; set; } = new(); + public Dictionary SymptomRecipes { get; set; } = new(); + public int Id { get; set; } + } +} diff --git a/Polyclinic/PolyclinicDataModels/Models/.gitkeep b/Polyclinic/PolyclinicDataModels/Models/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/Polyclinic/PolyclinicDataModels/Models/ICourseModel.cs b/Polyclinic/PolyclinicDataModels/Models/ICourseModel.cs new file mode 100644 index 0000000..f018879 --- /dev/null +++ b/Polyclinic/PolyclinicDataModels/Models/ICourseModel.cs @@ -0,0 +1,11 @@ +namespace PolyclinicDataModels.Models +{ + public interface ICourseModel : IId + { + int DaysCount { get; } + int PillsPerDay { get; } + string Comment { get; } + Dictionary CourseDiagnosis { get; } + Dictionary CourseRecipes { get; } + } +} diff --git a/Polyclinic/PolyclinicDataModels/Models/IDiagnosisModel.cs b/Polyclinic/PolyclinicDataModels/Models/IDiagnosisModel.cs new file mode 100644 index 0000000..7e23ea8 --- /dev/null +++ b/Polyclinic/PolyclinicDataModels/Models/IDiagnosisModel.cs @@ -0,0 +1,9 @@ +namespace PolyclinicDataModels.Models +{ + public interface IDiagnosisModel : IId + { + string Name { get; } + string Comment { get; } + int ExecutorId { get; } + } +} diff --git a/Polyclinic/PolyclinicDataModels/Models/IExecutorModel.cs b/Polyclinic/PolyclinicDataModels/Models/IExecutorModel.cs new file mode 100644 index 0000000..44b0365 --- /dev/null +++ b/Polyclinic/PolyclinicDataModels/Models/IExecutorModel.cs @@ -0,0 +1,9 @@ +namespace PolyclinicDataModels.Models +{ + public interface IExecutorModel : IId + { + string FIO { get; } + string Email { get; } + string Password { get; } + } +} diff --git a/Polyclinic/PolyclinicDataModels/Models/ISymptomModel.cs b/Polyclinic/PolyclinicDataModels/Models/ISymptomModel.cs new file mode 100644 index 0000000..64a9988 --- /dev/null +++ b/Polyclinic/PolyclinicDataModels/Models/ISymptomModel.cs @@ -0,0 +1,10 @@ +namespace PolyclinicDataModels.Models +{ + public interface ISymptomModel : IId + { + string Name { get; } + string Comment { get; } + Dictionary SymptomDiagnosis { get; } + Dictionary SymptomRecipes { get; } + } +}