DataMember

This commit is contained in:
maxnes3 2023-05-04 23:47:03 +04:00
parent 30d1082058
commit 55ab64bf1b
12 changed files with 95 additions and 40 deletions

View File

@ -8,20 +8,25 @@ using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Runtime.Serialization;
namespace ComputersShopDataBaseImplement.Models namespace ComputersShopDataBaseImplement.Models
{ {
[DataContract]
public class Client : IClientModel public class Client : IClientModel
{ {
[Required] [Required]
[DataMember]
public string ClientFIO { get; set; } = string.Empty; public string ClientFIO { get; set; } = string.Empty;
[Required] [Required]
[DataMember]
public string Email { get; set; } = string.Empty; public string Email { get; set; } = string.Empty;
[Required] [Required]
[DataMember]
public string Password { get; set; } = string.Empty; public string Password { get; set; } = string.Empty;
[DataMember]
public int Id { get; set; } public int Id { get; set; }
[ForeignKey("ClientId")] [ForeignKey("ClientId")]

View File

@ -9,16 +9,21 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ComputersShopContracts.BindingModels; using ComputersShopContracts.BindingModels;
using ComputersShopContracts.ViewModels; using ComputersShopContracts.ViewModels;
using System.Runtime.Serialization;
namespace ComputersShopDataBaseImplement.Models namespace ComputersShopDataBaseImplement.Models
{ {
public class Component : IComponentModel [DataContract]
public class Component : IComponentModel
{ {
[DataMember]
public int Id { get; private set; } public int Id { get; private set; }
[Required] [Required]
public string ComponentName { get; private set; } = string.Empty; [DataMember]
public string ComponentName { get; private set; } = string.Empty;
[Required] [Required]
public double Cost { get; set; } [DataMember]
public double Cost { get; set; }
[ForeignKey("ComponentId")] [ForeignKey("ComponentId")]
public virtual List<ComputerComponent> ComputerComponents { get; set; } = new(); public virtual List<ComputerComponent> ComputerComponents { get; set; } = new();
public static Component? Create(ComponentBindingModel model) public static Component? Create(ComponentBindingModel model)

View File

@ -8,16 +8,21 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ComputersShopContracts.BindingModels; using ComputersShopContracts.BindingModels;
using ComputersShopContracts.ViewModels; using ComputersShopContracts.ViewModels;
using System.Runtime.Serialization;
namespace ComputersShopDataBaseImplement.Models namespace ComputersShopDataBaseImplement.Models
{ {
[DataContract]
public class Computer : IComputerModel public class Computer : IComputerModel
{ {
public int Id { get; set; } [DataMember]
public int Id { get; set; }
[Required] [Required]
public string ComputerName { get; set; } = string.Empty; [DataMember]
public string ComputerName { get; set; } = string.Empty;
[Required] [Required]
public double Price { get; set; } [DataMember]
public double Price { get; set; }
private Dictionary<int, (IComponentModel, int)>? _ComputerComponents = null; private Dictionary<int, (IComponentModel, int)>? _ComputerComponents = null;
[NotMapped] [NotMapped]
public Dictionary<int, (IComponentModel, int)> ComputerComponents public Dictionary<int, (IComponentModel, int)> ComputerComponents

View File

@ -8,24 +8,31 @@ using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Runtime.Serialization;
namespace ComputersShopDataBaseImplement.Models namespace ComputersShopDataBaseImplement.Models
{ {
[DataContract]
public class Implementer : IImplementerModel public class Implementer : IImplementerModel
{ {
public int Id { get; set; } [DataMember]
public int Id { get; set; }
[Required] [Required]
public string ImplementerFIO { get; set; } = string.Empty; [DataMember]
public string ImplementerFIO { get; set; } = string.Empty;
[Required] [Required]
public string Password { get; set; } = string.Empty; [DataMember]
public string Password { get; set; } = string.Empty;
[Required] [Required]
public int WorkExperience { get; set; } [DataMember]
public int WorkExperience { get; set; }
[Required] [Required]
public int Qualification { get; set; } [DataMember]
public int Qualification { get; set; }
[ForeignKey("ImplementerId")] [ForeignKey("ImplementerId")]
public virtual List<Order> Orders { get; set; } = new(); public virtual List<Order> Orders { get; set; } = new();

View File

@ -5,6 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -13,7 +14,8 @@ namespace ComputersShopDataBaseImplement.Models
public class Message : IMessageInfoModel public class Message : IMessageInfoModel
{ {
[Key] [Key]
public string MessageId { get; private set; } = string.Empty; [DataMember]
public string MessageId { get; private set; } = string.Empty;
public int? ClientId { get; private set; } public int? ClientId { get; private set; }

View File

@ -7,27 +7,36 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Reflection.Metadata; using System.Reflection.Metadata;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace ComputersShopDataBaseImplement.Models namespace ComputersShopDataBaseImplement.Models
{ {
[DataContract]
public class Order : IOrderModel public class Order : IOrderModel
{ {
[Required] [Required]
[DataMember]
public int ComputerId { get; set; } public int ComputerId { get; set; }
[Required] [Required]
[DataMember]
public int ClientId { get; private set; } public int ClientId { get; private set; }
public int? ImplementerId { get; set; } [DataMember]
public int? ImplementerId { get; set; }
[Required] [Required]
[DataMember]
public int Count { get; set; } public int Count { get; set; }
[Required] [Required]
[DataMember]
public double Sum { get; set; } public double Sum { get; set; }
[Required] [Required]
[DataMember]
public OrderStatus Status { get; set; } public OrderStatus Status { get; set; }
[Required] [Required]
[DataMember]
public DateTime DateCreate { get; set; } public DateTime DateCreate { get; set; }
[DataMember]
public DateTime? DateImplement { get; set; } public DateTime? DateImplement { get; set; }
public virtual Computer Computer { get; set; } public virtual Computer Computer { get; set; }
public virtual Client Client { get; set; } public virtual Client Client { get; set; }

View File

@ -4,20 +4,23 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Client : IClientModel public class Client : IClientModel
{ {
[DataMember]
public string ClientFIO { get; private set; } = string.Empty; public string ClientFIO { get; private set; } = string.Empty;
[DataMember]
public string Email { get; private set; } = string.Empty; public string Email { get; private set; } = string.Empty;
[DataMember]
public string Password { get; private set; } = string.Empty; public string Password { get; private set; } = string.Empty;
[DataMember]
public int Id { get; private set; } public int Id { get; private set; }
public static Client? Create(ClientBindingModel model) public static Client? Create(ClientBindingModel model)

View File

@ -4,16 +4,21 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Component : IComponentModel public class Component : IComponentModel
{ {
[DataMember]
public int Id { get; private set; } public int Id { get; private set; }
[DataMember]
public string ComponentName { get; private set; } = string.Empty; public string ComponentName { get; private set; } = string.Empty;
[DataMember]
public double Cost { get; set; } public double Cost { get; set; }
public static Component? Create(ComponentBindingModel model) public static Component? Create(ComponentBindingModel model)
{ {

View File

@ -4,16 +4,21 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Computer : IComputerModel public class Computer : IComputerModel
{ {
[DataMember]
public int Id { get; private set; } public int Id { get; private set; }
[DataMember]
public string ComputerName { get; private set; } = string.Empty; public string ComputerName { get; private set; } = string.Empty;
[DataMember]
public double Price { get; private set; } public double Price { get; private set; }
public Dictionary<int, int> Components { get; private set; } = new(); public Dictionary<int, int> Components { get; private set; } = new();
private Dictionary<int, (IComponentModel, int)>? _ComputerComponents = null; private Dictionary<int, (IComponentModel, int)>? _ComputerComponents = null;

View File

@ -4,23 +4,26 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Implementer : IImplementerModel public class Implementer : IImplementerModel
{ {
[DataMember]
public string ImplementerFIO { get; set; } = string.Empty; public string ImplementerFIO { get; set; } = string.Empty;
[DataMember]
public string Password { get; set; } = string.Empty; public string Password { get; set; } = string.Empty;
[DataMember]
public int WorkExperience { get; set; } public int WorkExperience { get; set; }
[DataMember]
public int Qualification { get; set; } public int Qualification { get; set; }
[DataMember]
public int Id { get; set; } public int Id { get; set; }
public static Implementer? Create(ImplementerBindingModel? model) public static Implementer? Create(ImplementerBindingModel? model)
{ {

View File

@ -4,24 +4,27 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Message : IMessageInfoModel public class Message : IMessageInfoModel
{ {
[DataMember]
public string MessageId { get; private set; } = string.Empty; public string MessageId { get; private set; } = string.Empty;
[DataMember]
public int? ClientId { get; private set; } public int? ClientId { get; private set; }
[DataMember]
public string SenderName { get; private set; } = string.Empty; public string SenderName { get; private set; } = string.Empty;
[DataMember]
public DateTime DateDelivery { get; private set; } = DateTime.Now; public DateTime DateDelivery { get; private set; } = DateTime.Now;
[DataMember]
public string Subject { get; private set; } = string.Empty; public string Subject { get; private set; } = string.Empty;
[DataMember]
public string Body { get; private set; } = string.Empty; public string Body { get; private set; } = string.Empty;
public int Id => throw new NotImplementedException(); public int Id => throw new NotImplementedException();

View File

@ -5,30 +5,33 @@ using ComputersShopDataModels.Models;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Serialization;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml.Linq; using System.Xml.Linq;
namespace ComputersShopFileImplement.Models namespace ComputersShopFileImplement.Models
{ {
[DataContract]
public class Order : IOrderModel public class Order : IOrderModel
{ {
[DataMember]
public int ComputerId { get; private set; } public int ComputerId { get; private set; }
[DataMember]
public int ClientId { get; set; } public int ClientId { get; set; }
[DataMember]
public int? ImplementerId { get; private set; } public int? ImplementerId { get; private set; }
[DataMember]
public int Count { get; private set; } public int Count { get; private set; }
[DataMember]
public double Sum { get; private set; } public double Sum { get; private set; }
[DataMember]
public OrderStatus Status { get; private set; } = OrderStatus.Неизвестен; public OrderStatus Status { get; private set; } = OrderStatus.Неизвестен;
[DataMember]
public DateTime DateCreate { get; private set; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc); public DateTime DateCreate { get; private set; } = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc);
[DataMember]
public DateTime? DateImplement { get; private set; } public DateTime? DateImplement { get; private set; }
[DataMember]
public int Id { get; private set; } public int Id { get; private set; }
public static Order? Create(OrderBindingModel? model) public static Order? Create(OrderBindingModel? model)