From fda5b29e56bab80a575d29d051e40455285353e8 Mon Sep 17 00:00:00 2001 From: "ns.potapov" Date: Sat, 6 Apr 2024 20:13:16 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B8=D0=B5=D0=BD=D1=82=D0=B0=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=B8=D0=BA=D0=B8=20=D1=85=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=D0=B8=D0=BD=D0=B8=D1=8F=20=D0=B2=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/Client.cs | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 SecuritySystem/SecuritySystemFileImplement/Models/Client.cs diff --git a/SecuritySystem/SecuritySystemFileImplement/Models/Client.cs b/SecuritySystem/SecuritySystemFileImplement/Models/Client.cs new file mode 100644 index 0000000..93afe5f --- /dev/null +++ b/SecuritySystem/SecuritySystemFileImplement/Models/Client.cs @@ -0,0 +1,68 @@ +using SecuritySystemContracts.BindingModels; +using SecuritySystemContracts.ViewModels; +using SecuritySystemDataModels.Models; +using SecuritySystemFileImplement.Models; +using System.Reflection; +using System.Xml.Linq; + +namespace SecuritySystemFileImplement.Models +{ + public class Client : IClientModel + { + public int Id { get; private set; } + public string ClientFIO { get; private set; } = string.Empty; + public string Email { get; private set; } = string.Empty; + public string Password { get; private set; } = string.Empty; + 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(XElement element) + { + if (element == null) + { + return null; + } + return new Client() + { + Id = Convert.ToInt32(element.Attribute("Id")!.Value), + Email = Convert.ToString(element.Attribute("Email")!.Value), + Password = Convert.ToString(element.Attribute("Password")!.Value), + ClientFIO = Convert.ToString(element.Attribute("ClientFIO")!.Value) + }; + } + 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 + }; + public XElement GetXElement => new("Сlient", + new XAttribute("Id", Id), + new XElement("Email", Email), + new XElement("Password", Password), + new XElement("ClientFIO", ClientFIO) + ); + } +}