using DinerContracts.BindingModels; using DinerContracts.ViewModels; using DinerDataModels.Models; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DinerDataBaseImplement.Models { public class MessageInfo : IMessageInfoModel { [NotMapped] public int ID { get; private set; } [Key] 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; public virtual Client? Client { get; set; } public static MessageInfo? Create(DinerDatabaseBy7Work context, MessageInfoBindingModel model) { if (model == null) { return null; } return new MessageInfo() { MessageID = model.MessageID, SenderName = model.SenderName, DateDelivery = model.DateDelivery, Subject = model.Subject, Body = model.Body }; } public MessageInfoViewModel GetViewModel => new() { MessageID = MessageID, ClientID = ClientID, SenderName = SenderName, DateDelivery = DateDelivery, Subject = Subject, Body = Body, }; } }