MessageInfo interfaces + binding/search/view models.

This commit is contained in:
Yuee Shiness 2023-04-20 21:29:17 +04:00
parent fb4ab32719
commit 92e10e8bf8
6 changed files with 123 additions and 0 deletions

View File

@ -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;
}
}

View File

@ -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<MessageInfoViewModel>? ReadList(MessageInfoSearchModel? model);
bool Create(MessageInfoBindingModel model);
}
}

View File

@ -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; }
}
}

View File

@ -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<MessageInfoViewModel> GetFullList();
List<MessageInfoViewModel> GetFilteredList(MessageInfoSearchModel model);
MessageInfoViewModel? GetElement(MessageInfoSearchModel model);
MessageInfoViewModel? Insert(MessageInfoBindingModel model);
}
}

View File

@ -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;
}
}

View File

@ -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; }
}
}