From f07e32804df5fa5dbbe04883001e13c926f5ac2c Mon Sep 17 00:00:00 2001 From: Oleg Shabunov Date: Fri, 19 Apr 2024 20:32:50 +0400 Subject: [PATCH] MessageInfo DataModels, Contracts --- .../BindingModels/MessageInfoBindingModel.cs | 19 +++++++++++++++ .../IMessageInfoLogic.cs | 13 ++++++++++ .../SearchModels/MessageInfoSearchModel.cs | 9 +++++++ .../StoragesContracts/IMessageInfoStorage.cs | 17 +++++++++++++ .../ViewModels/MessageInfoViewModel.cs | 24 +++++++++++++++++++ .../Models/IMessageInfoModel.cs | 17 +++++++++++++ 6 files changed, 99 insertions(+) create mode 100644 AutoWorkshopContracts/BindingModels/MessageInfoBindingModel.cs create mode 100644 AutoWorkshopContracts/BusinessLogicContracts/IMessageInfoLogic.cs create mode 100644 AutoWorkshopContracts/SearchModels/MessageInfoSearchModel.cs create mode 100644 AutoWorkshopContracts/StoragesContracts/IMessageInfoStorage.cs create mode 100644 AutoWorkshopContracts/ViewModels/MessageInfoViewModel.cs create mode 100644 AutoWorkshopDataModels/Models/IMessageInfoModel.cs diff --git a/AutoWorkshopContracts/BindingModels/MessageInfoBindingModel.cs b/AutoWorkshopContracts/BindingModels/MessageInfoBindingModel.cs new file mode 100644 index 0000000..b1220be --- /dev/null +++ b/AutoWorkshopContracts/BindingModels/MessageInfoBindingModel.cs @@ -0,0 +1,19 @@ +using AutoWorkshopDataModels.Models; + +namespace AutoWorkshopContracts.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/AutoWorkshopContracts/BusinessLogicContracts/IMessageInfoLogic.cs b/AutoWorkshopContracts/BusinessLogicContracts/IMessageInfoLogic.cs new file mode 100644 index 0000000..a1570e5 --- /dev/null +++ b/AutoWorkshopContracts/BusinessLogicContracts/IMessageInfoLogic.cs @@ -0,0 +1,13 @@ +using AutoWorkshopContracts.BindingModels; +using AutoWorkshopContracts.SearchModels; +using AutoWorkshopContracts.ViewModels; + +namespace AutoWorkshopContracts.BusinessLogicContracts +{ + public interface IMessageInfoLogic + { + List? ReadList(MessageInfoSearchModel? Model); + + bool Create(MessageInfoBindingModel Model); + } +} diff --git a/AutoWorkshopContracts/SearchModels/MessageInfoSearchModel.cs b/AutoWorkshopContracts/SearchModels/MessageInfoSearchModel.cs new file mode 100644 index 0000000..26075d9 --- /dev/null +++ b/AutoWorkshopContracts/SearchModels/MessageInfoSearchModel.cs @@ -0,0 +1,9 @@ +namespace AutoWorkshopContracts.SearchModels +{ + public class MessageInfoSearchModel + { + public string? MessageId { get; set; } + + public string? SenderName { get; set; } + } +} diff --git a/AutoWorkshopContracts/StoragesContracts/IMessageInfoStorage.cs b/AutoWorkshopContracts/StoragesContracts/IMessageInfoStorage.cs new file mode 100644 index 0000000..5fa0a45 --- /dev/null +++ b/AutoWorkshopContracts/StoragesContracts/IMessageInfoStorage.cs @@ -0,0 +1,17 @@ +using AutoWorkshopContracts.BindingModels; +using AutoWorkshopContracts.SearchModels; +using AutoWorkshopContracts.ViewModels; + +namespace AutoWorkshopContracts.StoragesContracts +{ + public interface IMessageInfoStorage + { + List GetFullList(); + + List GetFilteredList(MessageInfoSearchModel Model); + + MessageInfoViewModel? GetElement(MessageInfoSearchModel Model); + + MessageInfoViewModel? Insert(MessageInfoBindingModel Model); + } +} diff --git a/AutoWorkshopContracts/ViewModels/MessageInfoViewModel.cs b/AutoWorkshopContracts/ViewModels/MessageInfoViewModel.cs new file mode 100644 index 0000000..34d2b95 --- /dev/null +++ b/AutoWorkshopContracts/ViewModels/MessageInfoViewModel.cs @@ -0,0 +1,24 @@ +using AutoWorkshopDataModels.Models; +using System.ComponentModel; + +namespace AutoWorkshopContracts.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/AutoWorkshopDataModels/Models/IMessageInfoModel.cs b/AutoWorkshopDataModels/Models/IMessageInfoModel.cs new file mode 100644 index 0000000..d7a7c12 --- /dev/null +++ b/AutoWorkshopDataModels/Models/IMessageInfoModel.cs @@ -0,0 +1,17 @@ +namespace AutoWorkshopDataModels.Models +{ + public interface IMessageInfoModel + { + string MessageId { get; } + + int? ClientId { get; } + + string SenderName { get; } + + DateTime DateDelivery { get; } + + string Subject { get; } + + string Body { get; } + } +}