From 9c2c5f90e2d193b7f3b4d69cc1c0f1100c689071 Mon Sep 17 00:00:00 2001 From: Danila_Mochalov Date: Tue, 18 Apr 2023 20:11:50 +0400 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5?= =?UTF-8?q?=D0=B9=D1=81=D1=8B=20=D0=B8=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B8=D1=81=D1=8C=D0=BC=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BindingModels/MessageInfoBindingModel.cs | 24 ++++++++++++++++++ .../IMessageInfoLogic.cs | 17 +++++++++++++ .../SearchModels/MessageInfoSearchModel.cs | 14 +++++++++++ .../StorageContracts/IMessageInfoStorage.cs | 19 ++++++++++++++ .../ViewModels/MessageInfoViewModel.cs | 25 +++++++++++++++++++ .../Models/IMessageInfoModel.cs | 18 +++++++++++++ 6 files changed, 117 insertions(+) create mode 100644 LawFirm/LawFirmContracts/BindingModels/MessageInfoBindingModel.cs create mode 100644 LawFirm/LawFirmContracts/BusinessLogicContracts/IMessageInfoLogic.cs create mode 100644 LawFirm/LawFirmContracts/SearchModels/MessageInfoSearchModel.cs create mode 100644 LawFirm/LawFirmContracts/StorageContracts/IMessageInfoStorage.cs create mode 100644 LawFirm/LawFirmContracts/ViewModels/MessageInfoViewModel.cs create mode 100644 LawFirm/LawFirmDataModels/Models/IMessageInfoModel.cs diff --git a/LawFirm/LawFirmContracts/BindingModels/MessageInfoBindingModel.cs b/LawFirm/LawFirmContracts/BindingModels/MessageInfoBindingModel.cs new file mode 100644 index 0000000..e0cb256 --- /dev/null +++ b/LawFirm/LawFirmContracts/BindingModels/MessageInfoBindingModel.cs @@ -0,0 +1,24 @@ +using LawFirmDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmContracts.BindingModels +{ + public class MessageInfoBindingModel : IMessageInfoModel + { + public string MessageId { get; set; } = string.Empty; + + public int? ClientId { get; set; } + + public string SenderName { get; set; } = string.Empty; + + public DateTime DateDelivery { get; set; } + + public string Subject { get; set; } = string.Empty; + + public string Body { get; set; } = string.Empty; + } +} diff --git a/LawFirm/LawFirmContracts/BusinessLogicContracts/IMessageInfoLogic.cs b/LawFirm/LawFirmContracts/BusinessLogicContracts/IMessageInfoLogic.cs new file mode 100644 index 0000000..982278f --- /dev/null +++ b/LawFirm/LawFirmContracts/BusinessLogicContracts/IMessageInfoLogic.cs @@ -0,0 +1,17 @@ +using LawFirmContracts.BindingModels; +using LawFirmContracts.SearchModels; +using LawFirmContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmContracts.BusinessLogicContracts +{ + public interface IMessageInfoLogic + { + List? ReadList(MessageInfoSearchModel? model); + bool Create(MessageInfoBindingModel model); + } +} diff --git a/LawFirm/LawFirmContracts/SearchModels/MessageInfoSearchModel.cs b/LawFirm/LawFirmContracts/SearchModels/MessageInfoSearchModel.cs new file mode 100644 index 0000000..cad0a9e --- /dev/null +++ b/LawFirm/LawFirmContracts/SearchModels/MessageInfoSearchModel.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmContracts.SearchModels +{ + public class MessageInfoSearchModel + { + public int? ClientId { get; set; } + public string? MessageId { get; set; } + } +} diff --git a/LawFirm/LawFirmContracts/StorageContracts/IMessageInfoStorage.cs b/LawFirm/LawFirmContracts/StorageContracts/IMessageInfoStorage.cs new file mode 100644 index 0000000..299fd48 --- /dev/null +++ b/LawFirm/LawFirmContracts/StorageContracts/IMessageInfoStorage.cs @@ -0,0 +1,19 @@ +using LawFirmContracts.BindingModels; +using LawFirmContracts.SearchModels; +using LawFirmContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmContracts.StorageContracts +{ + public interface IMessageInfoStorage + { + List GetFullList(); + List GetFilteredList(MessageInfoSearchModel model); + MessageInfoViewModel? GetElement(MessageInfoSearchModel model); + MessageInfoViewModel? Insert(MessageInfoBindingModel model); + } +} diff --git a/LawFirm/LawFirmContracts/ViewModels/MessageInfoViewModel.cs b/LawFirm/LawFirmContracts/ViewModels/MessageInfoViewModel.cs new file mode 100644 index 0000000..c5283b5 --- /dev/null +++ b/LawFirm/LawFirmContracts/ViewModels/MessageInfoViewModel.cs @@ -0,0 +1,25 @@ +using LawFirmDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmContracts.ViewModels +{ + public class MessageInfoViewModel : IMessageInfoModel + { + public string MessageId { get; set; } = string.Empty; + + public int? ClientId { get; set; } + [DisplayName("Отправитель")] + public string SenderName { get; set; } = string.Empty; + [DisplayName("Дата письма")] + public DateTime DateDelivery { get; set; } + [DisplayName("Заголовок")] + public string Subject { get; set; } = string.Empty; + [DisplayName("Текст")] + public string Body { get; set; } = string.Empty; + } +} diff --git a/LawFirm/LawFirmDataModels/Models/IMessageInfoModel.cs b/LawFirm/LawFirmDataModels/Models/IMessageInfoModel.cs new file mode 100644 index 0000000..91ba52c --- /dev/null +++ b/LawFirm/LawFirmDataModels/Models/IMessageInfoModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LawFirmDataModels.Models +{ + public interface IMessageInfoModel + { + string MessageId { get; } + int? ClientId { get; } + string SenderName { get; } + DateTime DateDelivery { get; } + string Subject { get; } + string Body { get; } + } +}