diff --git a/JewelryStore/JewelryStore.csproj b/JewelryStore/JewelryStore.csproj
index e6930e9..1d74223 100644
--- a/JewelryStore/JewelryStore.csproj
+++ b/JewelryStore/JewelryStore.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/JewelryStoreBusinessLogic/JewelryStoreBusinessLogic.csproj b/JewelryStoreBusinessLogic/JewelryStoreBusinessLogic.csproj
index 7e1df35..f21c000 100644
--- a/JewelryStoreBusinessLogic/JewelryStoreBusinessLogic.csproj
+++ b/JewelryStoreBusinessLogic/JewelryStoreBusinessLogic.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/JewelryStoreFileImplement/Models/Order.cs b/JewelryStoreFileImplement/Models/Order.cs
index 5db9adf..fc8fa48 100644
--- a/JewelryStoreFileImplement/Models/Order.cs
+++ b/JewelryStoreFileImplement/Models/Order.cs
@@ -7,11 +7,106 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Xml.Linq;
namespace JewelryStoreFileImplement.Models
{
- public class Order : IOrderModel // TODO Lab_2
+ public class Order : IOrderModel
{
-
+ public int JewelId { get; private set; }
+
+ public string JewelName { get; private set; } = string.Empty;
+
+ public int Count { get; private set; }
+
+ public double Sum { get; private set; }
+
+ public OrderStatus Status { get; private set; } = OrderStatus.Неизвестен;
+
+ public DateTime DateCreate { get; private set; } = DateTime.Now;
+
+ public DateTime? DateImplement { get; private set; }
+
+ public int Id { get; private set; }
+
+ public static Order? Create(OrderBindingModel model)
+ {
+ if (model == null)
+ {
+ return null;
+ }
+ return new Order()
+ {
+ Id = model.Id,
+ JewelId = model.JewelId,
+ JewelName = model.JewelName,
+ Count = model.Count,
+ Sum = model.Sum,
+ Status = model.Status,
+ DateCreate = model.DateCreate,
+ DateImplement = model.DateImplement
+ };
+ }
+
+ public static Order? Create(XElement element)
+ {
+ if (element == null)
+ {
+ return null;
+ }
+
+ var order = new Order()
+ {
+ Id = Convert.ToInt32(element.Attribute("Id")!.Value),
+ JewelId = Convert.ToInt32(element.Element("JewelId")!.Value),
+ JewelName = element.Element("JewelName")!.Value,
+ Count = Convert.ToInt32(element.Element("Count")!.Value),
+ Sum = Convert.ToDouble(element.Element("Sum")!.Value),
+ Status = (OrderStatus)Enum.Parse(typeof(OrderStatus), element.Element("Status")!.Value),
+ DateCreate = DateTime.ParseExact(element.Element("DateCreate")!.Value, "G", null)
+ };
+
+ DateTime.TryParse(element.Element("DateImplement")!.Value, out DateTime dateImpl);
+ order.DateImplement = dateImpl;
+
+ return order;
+ }
+
+ public void Update(OrderBindingModel model)
+ {
+ if (model == null)
+ {
+ return;
+ }
+ JewelId = model.JewelId;
+ JewelName = model.JewelName;
+ Count = model.Count;
+ Sum = model.Sum;
+ Status = model.Status;
+ DateCreate = model.DateCreate;
+ DateImplement = model.DateImplement;
+ }
+
+ public OrderViewModel GetViewModel => new()
+ {
+ Id = Id,
+ JewelId = JewelId,
+ JewelName = JewelName,
+ Count = Count,
+ Sum = Sum,
+ Status = Status,
+ DateCreate = DateCreate,
+ DateImplement = DateImplement
+ };
+
+ public XElement GetXElement => new("Order",
+ new XAttribute("Id", Id),
+ new XElement("JewelName", JewelName),
+ new XElement("JewelId", JewelId.ToString()),
+ new XElement("Count", Count.ToString()),
+ new XElement("Sum", Sum.ToString()),
+ new XElement("Status", Status.ToString()),
+ new XElement("DateCreate", DateCreate.ToString()),
+ new XElement("DateImplement", DateImplement.ToString()));
}
}