From 92e10e8bf8ebcc9b522668664fbd3b45ef8d24ff Mon Sep 17 00:00:00 2001 From: Yuee Shiness Date: Thu, 20 Apr 2023 21:29:17 +0400 Subject: [PATCH] MessageInfo interfaces + binding/search/view models. --- .../BindingModels/MessageInfoBindingModel.cs | 24 +++++++++++++++ .../IMessageInfoLogic.cs | 17 +++++++++++ .../SearchModels/MessageInfoSearchModel.cs | 16 ++++++++++ .../StorageContracts/IMessageInfoStorage.cs | 19 ++++++++++++ .../ViewModels/MessageInfoViewModel.cs | 29 +++++++++++++++++++ .../Models/IMessageInfoModel.cs | 18 ++++++++++++ 6 files changed, 123 insertions(+) create mode 100644 DressAtelierContracts/BindingModels/MessageInfoBindingModel.cs create mode 100644 DressAtelierContracts/BusinessLogicContracts/IMessageInfoLogic.cs create mode 100644 DressAtelierContracts/SearchModels/MessageInfoSearchModel.cs create mode 100644 DressAtelierContracts/StorageContracts/IMessageInfoStorage.cs create mode 100644 DressAtelierContracts/ViewModels/MessageInfoViewModel.cs create mode 100644 DressAtelierDataModels/Models/IMessageInfoModel.cs diff --git a/DressAtelierContracts/BindingModels/MessageInfoBindingModel.cs b/DressAtelierContracts/BindingModels/MessageInfoBindingModel.cs new file mode 100644 index 0000000..f1d9975 --- /dev/null +++ b/DressAtelierContracts/BindingModels/MessageInfoBindingModel.cs @@ -0,0 +1,24 @@ +using DressAtelierDataModels.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierContracts.BindingModels +{ + public class MessageInfoBindingModel : IMessageInfoModel + { + public string ID { get; set; } = string.Empty; + + public int? ClientID { get; set; } + + public string SenderName { get; set; } = string.Empty; + + public DateTime DeliveryDate { get; set; } + + public string Subject { get; set; } = string.Empty; + + public string Body { get; set; } = string.Empty; + } +} diff --git a/DressAtelierContracts/BusinessLogicContracts/IMessageInfoLogic.cs b/DressAtelierContracts/BusinessLogicContracts/IMessageInfoLogic.cs new file mode 100644 index 0000000..ea2d1f1 --- /dev/null +++ b/DressAtelierContracts/BusinessLogicContracts/IMessageInfoLogic.cs @@ -0,0 +1,17 @@ +using DressAtelierContracts.BindingModels; +using DressAtelierContracts.SearchModels; +using DressAtelierContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierContracts.BusinessLogicContracts +{ + public interface IMessageInfoLogic + { + List? ReadList(MessageInfoSearchModel? model); + bool Create(MessageInfoBindingModel model); + } +} diff --git a/DressAtelierContracts/SearchModels/MessageInfoSearchModel.cs b/DressAtelierContracts/SearchModels/MessageInfoSearchModel.cs new file mode 100644 index 0000000..11e26c5 --- /dev/null +++ b/DressAtelierContracts/SearchModels/MessageInfoSearchModel.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierContracts.SearchModels +{ + public class MessageInfoSearchModel + { + public string? ID { get; set; } + public int? ClientID { get; set; } + + } + +} diff --git a/DressAtelierContracts/StorageContracts/IMessageInfoStorage.cs b/DressAtelierContracts/StorageContracts/IMessageInfoStorage.cs new file mode 100644 index 0000000..4c8c3f7 --- /dev/null +++ b/DressAtelierContracts/StorageContracts/IMessageInfoStorage.cs @@ -0,0 +1,19 @@ +using DressAtelierContracts.BindingModels; +using DressAtelierContracts.SearchModels; +using DressAtelierContracts.ViewModels; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierContracts.StorageContracts +{ + public interface IMessageInfoStorage + { + List GetFullList(); + List GetFilteredList(MessageInfoSearchModel model); + MessageInfoViewModel? GetElement(MessageInfoSearchModel model); + MessageInfoViewModel? Insert(MessageInfoBindingModel model); + } +} diff --git a/DressAtelierContracts/ViewModels/MessageInfoViewModel.cs b/DressAtelierContracts/ViewModels/MessageInfoViewModel.cs new file mode 100644 index 0000000..94be7e7 --- /dev/null +++ b/DressAtelierContracts/ViewModels/MessageInfoViewModel.cs @@ -0,0 +1,29 @@ +using DressAtelierDataModels.Models; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierContracts.ViewModels +{ + public class MessageInfoViewModel : IMessageInfoModel + { + public string ID { get; set; } = string.Empty; + + public int? ClientID { get; set; } + + [DisplayName("Sender's name")] + public string SenderName { get; set; } = string.Empty; + + [DisplayName("Delivery date")] + public DateTime DeliveryDate { get; set; } + + [DisplayName("Message subject")] + public string Subject { get; set; } = string.Empty; + + [DisplayName("Message content")] + public string Body { get; set; } = string.Empty; + } +} diff --git a/DressAtelierDataModels/Models/IMessageInfoModel.cs b/DressAtelierDataModels/Models/IMessageInfoModel.cs new file mode 100644 index 0000000..5959599 --- /dev/null +++ b/DressAtelierDataModels/Models/IMessageInfoModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DressAtelierDataModels.Models +{ + public interface IMessageInfoModel + { + string ID { get; } + int? ClientID { get; } + string SenderName { get; } + DateTime DeliveryDate { get; } + string Subject { get; } + string Body { get; } + } +}