From c2f4f598110b09ef4e6607dba053f7d551aa9f20 Mon Sep 17 00:00:00 2001 From: Ivan_Starostin Date: Fri, 21 Jun 2024 21:52:16 +0400 Subject: [PATCH] Upload files to 'ShipyardDatabaseImplement' --- ShipyardDatabaseImplement/Implementer.cs | 8 +++++ ShipyardDatabaseImplement/MessageInfo.cs | 19 ++++++---- ShipyardDatabaseImplement/Order.cs | 44 +++++++++++++++--------- ShipyardDatabaseImplement/Ship.cs | 28 +++++++++------ 4 files changed, 66 insertions(+), 33 deletions(-) diff --git a/ShipyardDatabaseImplement/Implementer.cs b/ShipyardDatabaseImplement/Implementer.cs index 478e9aa..c1aca84 100644 --- a/ShipyardDatabaseImplement/Implementer.cs +++ b/ShipyardDatabaseImplement/Implementer.cs @@ -8,20 +8,28 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Runtime.Serialization; namespace ShipyardDatabaseImplement.Models { + [DataContract] public class Implementer : IImplementerModel { + [DataMember] public int Id { get; private set; } [Required] + [DataMember] public string ImplementerFIO { get; private set; } = string.Empty; [Required] + [DataMember] public string Password { get; set; } = string.Empty; [Required] + [DataMember] public int Qualification { get; set; } = 0; [Required] + [DataMember] public int WorkExperience { get; set; } = 0; + [ForeignKey("ImplementerId")] public virtual List Orders { get; set; } = new(); public static Implementer? Create(ImplementerBindingModel model) diff --git a/ShipyardDatabaseImplement/MessageInfo.cs b/ShipyardDatabaseImplement/MessageInfo.cs index 84024bd..a7d1b95 100644 --- a/ShipyardDatabaseImplement/MessageInfo.cs +++ b/ShipyardDatabaseImplement/MessageInfo.cs @@ -5,30 +5,35 @@ using ShipyardDataModels; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace ShipyardDatabaseImplement.Models { + [DataContract] public class MessageInfo : IMessageInfoModel { [Key] + [DataMember] public string MessageId { get; private set; } = string.Empty; - + [DataMember] public int? ClientId { get; private set; } - + [DataMember] public string SenderName { get; private set; } = string.Empty; - + [DataMember] public DateTime DateDelivery { get; private set; } = DateTime.Now; - + [DataMember] public string Subject { get; private set; } = string.Empty; - + [DataMember] public string Body { get; private set; } = string.Empty; - public Client? Client { get; private set; } - + [NotMapped] + public int Id => throw new NotImplementedException(); public static MessageInfo? Create(ShipyardDataBase context, MessageInfoBindingModel model) + { if (model == null) { diff --git a/ShipyardDatabaseImplement/Order.cs b/ShipyardDatabaseImplement/Order.cs index d165350..ae77c9e 100644 --- a/ShipyardDatabaseImplement/Order.cs +++ b/ShipyardDatabaseImplement/Order.cs @@ -7,30 +7,42 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace ShipyardDatabaseImplement.Models { - public class Order : IOrderModel - { - public int Id { get; private set; } - public virtual Ship Ship { get; set; } = new(); - [Required] - public int Count { get; private set; } - [Required] - public double Sum { get; private set; } - [Required] - public OrderStatus Status { get; private set; } - [Required] - public DateTime DateCreate { get; private set; } - public DateTime? DateImplement { get; private set; } - [Required] - public int ShipId { get; private set; } + [DataContract] + public class Order : IOrderModel + { + [DataMember] + public int Id { get; private set; } [Required] + [DataMember] public int ClientId { get; private set; } - public virtual Client? Client { get; private set; } + public virtual Client Client { get; private set; } + [Required] + [DataMember] + public int Count { get; private set; } + [Required] + [DataMember] + public double Sum { get; private set; } + [Required] + [DataMember] + public OrderStatus Status { get; private set; } + [Required] + [DataMember] + public DateTime DateCreate { get; private set; } + [DataMember] + public DateTime? DateImplement { get; private set; } + [Required] + [DataMember] + public int ShipId { get; private set; } + public virtual Ship? Ship { get; set; } + [DataMember] public int? ImplementerId { get; private set; } = null; + public virtual Implementer? Implementer { get; private set; } public static Order? Create(OrderBindingModel model, ShipyardDataBase context) diff --git a/ShipyardDatabaseImplement/Ship.cs b/ShipyardDatabaseImplement/Ship.cs index 8a190fc..b65b97b 100644 --- a/ShipyardDatabaseImplement/Ship.cs +++ b/ShipyardDatabaseImplement/Ship.cs @@ -7,21 +7,29 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; +using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; namespace ShipyardDatabaseImplement.Models { - public class Ship : IShipModel - { - public int Id { get; set; } - [Required] - public string ShipName { get; set; } = string.Empty; - [Required] - public double Price { get; set; } - private Dictionary? _shipComponents = null; - [NotMapped] - public Dictionary ShipComponents + [DataContract] + public class Ship : IShipModel + { + [DataMember] + public int Id { get; set; } + [Required] + [DataMember] + public string ShipName { get; set; } = string.Empty; + [Required] + [DataMember] + public double Price { get; set; } + private Dictionary? _shipComponents = + null; + [NotMapped] + [DataMember] + + public Dictionary ShipComponents { get {