From 80b64ebd97f62d2b89c4427e38ba2fd93dc1d84a Mon Sep 17 00:00:00 2001 From: Extrimal Date: Sun, 21 Apr 2024 21:19:22 +0400 Subject: [PATCH] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdministratorBindingModel.cs | 19 ++++++++++++ .../ConferenceBookingBindingModel.cs | 19 ++++++++++++ .../BindingModels/DinnerBindingModel.cs | 18 +++++++++++ .../BindingModels/RoomBindingModel.cs | 20 +++++++++++++ .../IAdministratorLogic.cs | 20 +++++++++++++ .../IConferenceBookingLogic.cs | 21 +++++++++++++ .../BusinessLogicsContracts/IDinnerLogic.cs | 20 +++++++++++++ .../BusinessLogicsContracts/IRoomLogic.cs | 21 +++++++++++++ Hotel/HotelContracts/HotelContracts.csproj | 8 ----- .../SearchModels/AdministratorSearchModel.cs | 18 +++++++++++ .../ConferenceBookingSearchModel.cs | 17 +++++++++++ .../SearchModels/DinnerSearchModel.cs | 15 ++++++++++ .../SearchModels/RoomSearchModel.cs | 15 ++++++++++ .../IAdministratorStorage.cs | 26 ++++++++++++++++ .../IConferenceBookingStorage.cs | 26 ++++++++++++++++ .../StoragesContracts/IDinnerStorage.cs | 26 ++++++++++++++++ .../StoragesContracts/IRoomStorage.cs | 26 ++++++++++++++++ .../ViewModels/AdministratorViewModel.cs | 30 +++++++++++++++++++ .../ViewModels/ConferenceBookingViewModel.cs | 21 +++++++++++++ .../ViewModels/DinnerViewModel.cs | 22 ++++++++++++++ .../ViewModels/RoomViewModel.cs | 23 ++++++++++++++ .../Models/IConferenceBookingModel.cs | 2 +- 22 files changed, 424 insertions(+), 9 deletions(-) create mode 100644 Hotel/HotelContracts/BindingModels/AdministratorBindingModel.cs create mode 100644 Hotel/HotelContracts/BindingModels/ConferenceBookingBindingModel.cs create mode 100644 Hotel/HotelContracts/BindingModels/DinnerBindingModel.cs create mode 100644 Hotel/HotelContracts/BindingModels/RoomBindingModel.cs create mode 100644 Hotel/HotelContracts/BusinessLogicsContracts/IAdministratorLogic.cs create mode 100644 Hotel/HotelContracts/BusinessLogicsContracts/IConferenceBookingLogic.cs create mode 100644 Hotel/HotelContracts/BusinessLogicsContracts/IDinnerLogic.cs create mode 100644 Hotel/HotelContracts/BusinessLogicsContracts/IRoomLogic.cs create mode 100644 Hotel/HotelContracts/SearchModels/AdministratorSearchModel.cs create mode 100644 Hotel/HotelContracts/SearchModels/ConferenceBookingSearchModel.cs create mode 100644 Hotel/HotelContracts/SearchModels/DinnerSearchModel.cs create mode 100644 Hotel/HotelContracts/SearchModels/RoomSearchModel.cs create mode 100644 Hotel/HotelContracts/StoragesContracts/IAdministratorStorage.cs create mode 100644 Hotel/HotelContracts/StoragesContracts/IConferenceBookingStorage.cs create mode 100644 Hotel/HotelContracts/StoragesContracts/IDinnerStorage.cs create mode 100644 Hotel/HotelContracts/StoragesContracts/IRoomStorage.cs create mode 100644 Hotel/HotelContracts/ViewModels/AdministratorViewModel.cs create mode 100644 Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs create mode 100644 Hotel/HotelContracts/ViewModels/DinnerViewModel.cs create mode 100644 Hotel/HotelContracts/ViewModels/RoomViewModel.cs diff --git a/Hotel/HotelContracts/BindingModels/AdministratorBindingModel.cs b/Hotel/HotelContracts/BindingModels/AdministratorBindingModel.cs new file mode 100644 index 0000000..ee49464 --- /dev/null +++ b/Hotel/HotelContracts/BindingModels/AdministratorBindingModel.cs @@ -0,0 +1,19 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BindingModels +{ + public class AdministratorBindingModel : IAdministratorModel + { + public int Id { get; set; } + public string AdministratorFIO { get; set; } = string.Empty; + public string AdministratorPhone { get; set; } = string.Empty; + public string AdministratorLogin { get; set; } = string.Empty; + public string AdministratorPassword { get; set; } = string.Empty; + public string AdministratorEmail { get; set; } = string.Empty; + } +} diff --git a/Hotel/HotelContracts/BindingModels/ConferenceBookingBindingModel.cs b/Hotel/HotelContracts/BindingModels/ConferenceBookingBindingModel.cs new file mode 100644 index 0000000..d0a51f8 --- /dev/null +++ b/Hotel/HotelContracts/BindingModels/ConferenceBookingBindingModel.cs @@ -0,0 +1,19 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BindingModels +{ + public class ConferenceBookingBindingModel : IConferenceBookingModel + { + public int Id { get; set; } + public int AdministratorId { get; set; } + public int? ConferenceId { get; set; } + public string PlaceСonference { get; set; } = string.Empty; + public DateTime? DateСonference { get; set; } + public Dictionary ConferenceBookingDinners { get; set; } = new(); + } +} diff --git a/Hotel/HotelContracts/BindingModels/DinnerBindingModel.cs b/Hotel/HotelContracts/BindingModels/DinnerBindingModel.cs new file mode 100644 index 0000000..520d4fa --- /dev/null +++ b/Hotel/HotelContracts/BindingModels/DinnerBindingModel.cs @@ -0,0 +1,18 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BindingModels +{ + public class DinnerBindingModel : IDinnerModel + { + public int Id { get; set; } + public string DinnerName { get; set; } = string.Empty; + public int DinnerСalorieСontent { get; set; } + public double DinnerPrice { get; set; } + public int AdministratorId { get; set; } + } +} diff --git a/Hotel/HotelContracts/BindingModels/RoomBindingModel.cs b/Hotel/HotelContracts/BindingModels/RoomBindingModel.cs new file mode 100644 index 0000000..170d05c --- /dev/null +++ b/Hotel/HotelContracts/BindingModels/RoomBindingModel.cs @@ -0,0 +1,20 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BindingModels +{ + public class RoomBindingModel : IRoomModel + { + public int Id { get; set; } + public int RoomNumber { get; set; } + public int CountBeds { get; set; } + public double RoomPrice { get; set; } + public int AdministratorId { get; set; } + public Dictionary RoomDinners { get; set; } = new(); + } +} + diff --git a/Hotel/HotelContracts/BusinessLogicsContracts/IAdministratorLogic.cs b/Hotel/HotelContracts/BusinessLogicsContracts/IAdministratorLogic.cs new file mode 100644 index 0000000..eb25df4 --- /dev/null +++ b/Hotel/HotelContracts/BusinessLogicsContracts/IAdministratorLogic.cs @@ -0,0 +1,20 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BusinessLogicsContracts +{ + public interface IAdministratorLogic + { + List? ReadList(AdministratorSearchModel? model); + AdministratorViewModel? ReadElement(AdministratorSearchModel model); + bool Create(AdministratorBindingModel model); + bool Update(AdministratorBindingModel model); + bool Delete(AdministratorBindingModel model); + } +} diff --git a/Hotel/HotelContracts/BusinessLogicsContracts/IConferenceBookingLogic.cs b/Hotel/HotelContracts/BusinessLogicsContracts/IConferenceBookingLogic.cs new file mode 100644 index 0000000..026710c --- /dev/null +++ b/Hotel/HotelContracts/BusinessLogicsContracts/IConferenceBookingLogic.cs @@ -0,0 +1,21 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BusinessLogicsContracts +{ + public interface IConferenceBookingLogic + { + List? ReadList(ConferenceBookingSearchModel? model); + ConferenceBookingViewModel? ReadElement(ConferenceBookingSearchModel model); + bool Create(ConferenceBookingBindingModel model); + bool Update(ConferenceBookingBindingModel model); + bool Delete(ConferenceBookingBindingModel model); + } +} diff --git a/Hotel/HotelContracts/BusinessLogicsContracts/IDinnerLogic.cs b/Hotel/HotelContracts/BusinessLogicsContracts/IDinnerLogic.cs new file mode 100644 index 0000000..e4e321b --- /dev/null +++ b/Hotel/HotelContracts/BusinessLogicsContracts/IDinnerLogic.cs @@ -0,0 +1,20 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BusinessLogicsContracts +{ + public interface IDinnerLogic + { + List? ReadList(DinnerSearchModel? model); + DinnerViewModel? ReadElement(DinnerSearchModel model); + bool Create(DinnerBindingModel model); + bool Update(DinnerBindingModel model); + bool Delete(DinnerBindingModel model); + } +} diff --git a/Hotel/HotelContracts/BusinessLogicsContracts/IRoomLogic.cs b/Hotel/HotelContracts/BusinessLogicsContracts/IRoomLogic.cs new file mode 100644 index 0000000..bcd307c --- /dev/null +++ b/Hotel/HotelContracts/BusinessLogicsContracts/IRoomLogic.cs @@ -0,0 +1,21 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.BusinessLogicsContracts +{ + public interface IRoomLogic + { + List? ReadList(RoomSearchModel? model); + RoomViewModel? ReadElement(RoomSearchModel model); + bool Create(RoomBindingModel model); + bool Update(RoomBindingModel model); + bool Delete(RoomBindingModel model); + } +} diff --git a/Hotel/HotelContracts/HotelContracts.csproj b/Hotel/HotelContracts/HotelContracts.csproj index f23081c..98739e9 100644 --- a/Hotel/HotelContracts/HotelContracts.csproj +++ b/Hotel/HotelContracts/HotelContracts.csproj @@ -10,12 +10,4 @@ - - - - - - - - diff --git a/Hotel/HotelContracts/SearchModels/AdministratorSearchModel.cs b/Hotel/HotelContracts/SearchModels/AdministratorSearchModel.cs new file mode 100644 index 0000000..f3dd45b --- /dev/null +++ b/Hotel/HotelContracts/SearchModels/AdministratorSearchModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.SearchModels +{ + public class AdministratorSearchModel + { + public int? Id { get; set; } + public string? AdministratorFIO { get; set; } + public string? AdministratorLogin { get; set; } + + public string? AdministratorPassword { get; set; } + public string? AdministratorEmail { get; set; } + } +} diff --git a/Hotel/HotelContracts/SearchModels/ConferenceBookingSearchModel.cs b/Hotel/HotelContracts/SearchModels/ConferenceBookingSearchModel.cs new file mode 100644 index 0000000..1bf44b0 --- /dev/null +++ b/Hotel/HotelContracts/SearchModels/ConferenceBookingSearchModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.SearchModels +{ + public class ConferenceBookingSearchModel + { + public int? Id { get; set; } + public int? AdministratorId { get; set; } + public int? ConferenceId { get; set; } + public string? PlaceСonference { get; set; } + public DateTime? DateСonference { get; set; } + } +} diff --git a/Hotel/HotelContracts/SearchModels/DinnerSearchModel.cs b/Hotel/HotelContracts/SearchModels/DinnerSearchModel.cs new file mode 100644 index 0000000..44c3e4c --- /dev/null +++ b/Hotel/HotelContracts/SearchModels/DinnerSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.SearchModels +{ + public class DinnerSearchModel + { + public int? Id { get; set; } + public string? DinnerName { get; set; } + public int? AdministratorId { get; set; } + } +} diff --git a/Hotel/HotelContracts/SearchModels/RoomSearchModel.cs b/Hotel/HotelContracts/SearchModels/RoomSearchModel.cs new file mode 100644 index 0000000..5977970 --- /dev/null +++ b/Hotel/HotelContracts/SearchModels/RoomSearchModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.SearchModels +{ + public class RoomSearchModel + { + public int? Id { get; set; } + public int? RoomNumber { get; set; } + public int? AdministratorId { get; set; } + } +} diff --git a/Hotel/HotelContracts/StoragesContracts/IAdministratorStorage.cs b/Hotel/HotelContracts/StoragesContracts/IAdministratorStorage.cs new file mode 100644 index 0000000..d2fa6fb --- /dev/null +++ b/Hotel/HotelContracts/StoragesContracts/IAdministratorStorage.cs @@ -0,0 +1,26 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.StoragesContracts +{ + public interface IAdministratorStorage + { + List GetFullList(); + + List GetFilteredList(AdministratorSearchModel model); + + AdministratorViewModel? GetElement(AdministratorSearchModel model); + + AdministratorViewModel? Insert(AdministratorBindingModel model); + + AdministratorViewModel? Update(AdministratorBindingModel model); + + AdministratorViewModel? Delete(AdministratorBindingModel model); + } +} diff --git a/Hotel/HotelContracts/StoragesContracts/IConferenceBookingStorage.cs b/Hotel/HotelContracts/StoragesContracts/IConferenceBookingStorage.cs new file mode 100644 index 0000000..668337f --- /dev/null +++ b/Hotel/HotelContracts/StoragesContracts/IConferenceBookingStorage.cs @@ -0,0 +1,26 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.StoragesContracts +{ + public interface IConferenceBookingStorage + { + List GetFullList(); + + List GetFilteredList(ConferenceBookingSearchModel model); + + ConferenceBookingViewModel? GetElement(ConferenceBookingSearchModel model); + + ConferenceBookingViewModel? Insert(ConferenceBookingBindingModel model); + + ConferenceBookingViewModel? Update(ConferenceBookingBindingModel model); + + ConferenceBookingViewModel? Delete(ConferenceBookingBindingModel model); + } +} diff --git a/Hotel/HotelContracts/StoragesContracts/IDinnerStorage.cs b/Hotel/HotelContracts/StoragesContracts/IDinnerStorage.cs new file mode 100644 index 0000000..dbadbcf --- /dev/null +++ b/Hotel/HotelContracts/StoragesContracts/IDinnerStorage.cs @@ -0,0 +1,26 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.StoragesContracts +{ + public interface IDinnerStorage + { + List GetFullList(); + + List GetFilteredList(DinnerSearchModel model); + + DinnerViewModel? GetElement(DinnerSearchModel model); + + DinnerViewModel? Insert(DinnerBindingModel model); + + DinnerViewModel? Update(DinnerBindingModel model); + + DinnerViewModel? Delete(DinnerBindingModel model); + } +} diff --git a/Hotel/HotelContracts/StoragesContracts/IRoomStorage.cs b/Hotel/HotelContracts/StoragesContracts/IRoomStorage.cs new file mode 100644 index 0000000..e4ba332 --- /dev/null +++ b/Hotel/HotelContracts/StoragesContracts/IRoomStorage.cs @@ -0,0 +1,26 @@ +using HotelContracts.BindingModels; +using HotelContracts.SearchModels; +using HotelContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.StoragesContracts +{ + public interface IRoomStorage + { + List GetFullList(); + + List GetFilteredList(RoomSearchModel model); + + RoomViewModel? GetElement(RoomSearchModel model); + + RoomViewModel? Insert(RoomBindingModel model); + + RoomViewModel? Update(RoomBindingModel model); + + RoomViewModel? Delete(RoomBindingModel model); + } +} diff --git a/Hotel/HotelContracts/ViewModels/AdministratorViewModel.cs b/Hotel/HotelContracts/ViewModels/AdministratorViewModel.cs new file mode 100644 index 0000000..d81d885 --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/AdministratorViewModel.cs @@ -0,0 +1,30 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.ViewModels +{ + public class AdministratorViewModel : IAdministratorModel + { + public int Id { get; set; } + + [DisplayName("ФИО администратора")] + public string AdministratorFIO { get; set; } = string.Empty; + + [DisplayName("Пароль администратора")] + public string AdministratorPassword { get; set; } = string.Empty; + + [DisplayName("Логин администратора")] + public string AdministratorLogin { get; set; } = string.Empty; + + [DisplayName("Mail администратора")] + public string AdministratorEmail { get; set; } = string.Empty; + + [DisplayName("Телефон администратора")] + public string AdministratorPhone { get; set; } = string.Empty; + } +} diff --git a/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs b/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs new file mode 100644 index 0000000..8949031 --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/ConferenceBookingViewModel.cs @@ -0,0 +1,21 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.ViewModels +{ + public class ConferenceBookingViewModel : IConferenceBookingModel + { + public int Id { get; set; } + public int AdministratorId { get; set; } + public int? ConferenceId { get; set; } + public string PlaceСonference { get; set; } = string.Empty; + [DisplayName("Дата конференции")] + public DateTime? DateСonference { get; set; } + public Dictionary ConferenceBookingDinners { get; set; } = new(); + } +} diff --git a/Hotel/HotelContracts/ViewModels/DinnerViewModel.cs b/Hotel/HotelContracts/ViewModels/DinnerViewModel.cs new file mode 100644 index 0000000..108c4e7 --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/DinnerViewModel.cs @@ -0,0 +1,22 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.ViewModels +{ + public class DinnerViewModel : IDinnerModel + { + public int Id { get; set; } + [DisplayName("Название обеда")] + public string DinnerName { get; set; } = string.Empty; + [DisplayName("Калорийность обеда")] + public int DinnerСalorieСontent { get; set; } + [DisplayName("Цена обеда")] + public double DinnerPrice { get; set; } + public int AdministratorId { get; set; } + } +} diff --git a/Hotel/HotelContracts/ViewModels/RoomViewModel.cs b/Hotel/HotelContracts/ViewModels/RoomViewModel.cs new file mode 100644 index 0000000..29596db --- /dev/null +++ b/Hotel/HotelContracts/ViewModels/RoomViewModel.cs @@ -0,0 +1,23 @@ +using HotelDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace HotelContracts.ViewModels +{ + public class RoomViewModel : IRoomModel + { + public int Id { get; set; } + [DisplayName("Номер комнаты")] + public int RoomNumber { get; set; } + [DisplayName("Количество спальных мест")] + public int CountBeds { get; set; } + [DisplayName("Стоимость номера")] + public double RoomPrice { get; set; } + public int AdministratorId { get; set; } + public Dictionary RoomDinners { get; set; } = new(); + } +} diff --git a/Hotel/HotelDataModels/Models/IConferenceBookingModel.cs b/Hotel/HotelDataModels/Models/IConferenceBookingModel.cs index e8de827..51bdb3f 100644 --- a/Hotel/HotelDataModels/Models/IConferenceBookingModel.cs +++ b/Hotel/HotelDataModels/Models/IConferenceBookingModel.cs @@ -13,6 +13,6 @@ namespace HotelDataModels.Models string PlaceСonference { get; } DateTime? DateСonference { get; } public Dictionary ConferenceBookingDinners { get; } - + } }