From b4b11629ed758391f1031d86afcb796cd507d5bc Mon Sep 17 00:00:00 2001 From: "ns.potapov" Date: Sat, 6 Apr 2024 21:29:17 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B0=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BA=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B2=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Client.cs | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 SecuritySystem/SecuritySystemDatabaseImplement/Models/Client.cs diff --git a/SecuritySystem/SecuritySystemDatabaseImplement/Models/Client.cs b/SecuritySystem/SecuritySystemDatabaseImplement/Models/Client.cs new file mode 100644 index 0000000..390d53c --- /dev/null +++ b/SecuritySystem/SecuritySystemDatabaseImplement/Models/Client.cs @@ -0,0 +1,62 @@ +using SecuritySystemContracts.BindingModels; +using SecuritySystemContracts.ViewModels; +using SecuritySystemDataModels.Models; +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; + +namespace SecuritySystemDatabaseImplement.Models +{ + public class Client : IClientModel + { + public int Id { get; private set; } + [Required] + public string ClientFIO { get; private set; } = string.Empty; + [Required] + public string Email { get; private set; } = string.Empty; + [Required] + public string Password { get; private set; } = string.Empty; + [ForeignKey("ClientId")] + public virtual List Orders { get; set; } = new(); + public static Client? Create(ClientBindingModel model) + { + if (model == null) + { + return null; + } + return new Client() + { + Id = model.Id, + Email = model.Email, + Password = model.Password, + ClientFIO = model.ClientFIO + }; + } + public static Client Create(ClientViewModel model) + { + return new Client + { + Id = model.Id, + Email = model.Email, + Password = model.Password, + ClientFIO = model.ClientFIO + }; + } + public void Update(ClientBindingModel model) + { + if (model == null) + { + return; + } + Email = model.Email; + Password = model.Password; + ClientFIO = model.ClientFIO; + } + public ClientViewModel GetViewModel => new() + { + Id = Id, + Email = Email, + Password = Password, + ClientFIO = ClientFIO + }; + } +}