From 53ced323f5f8b96cefb93a56515e630a280025a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B8=D0=BD=D0=B0?= <Алина@DESKTOP-PH8VQJA> Date: Fri, 3 May 2024 22:12:37 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=A3=D0=91=D0=944?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataFileSingleton.cs | 54 -------- .../Implements/ComponentStorage.cs | 78 ----------- .../Implements/OrderStorage.cs | 90 ------------- .../Implements/TravelStorage.cs | 82 ------------ .../Models/Component.cs | 64 --------- .../Models/Order.cs | 104 --------------- .../Models/Travel.cs | 95 ------------- .../TravelCompanyFileImplement.csproj | 14 -- .../DataListSingleton.cs | 31 ----- .../Implements/ComponentStorage.cs | 106 --------------- .../Implements/OrderStorage.cs | 125 ------------------ .../Implements/TravelStorage.cs | 112 ---------------- .../Models/Component.cs | 41 ------ .../Models/Order.cs | 60 --------- .../Models/Travel.cs | 55 -------- .../TravelCompanyListImplement.csproj | 25 ---- 16 files changed, 1136 deletions(-) delete mode 100644 TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Implements/ComponentStorage.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Implements/OrderStorage.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Implements/TravelStorage.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Models/Component.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Models/Order.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/Models/Travel.cs delete mode 100644 TravelCompany/TracelCompanyFileImplement/TravelCompanyFileImplement.csproj delete mode 100644 TravelCompany/TravelCompanyListImplement/DataListSingleton.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Implements/ComponentStorage.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Implements/OrderStorage.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Implements/TravelStorage.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Models/Component.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Models/Order.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/Models/Travel.cs delete mode 100644 TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj diff --git a/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs b/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs deleted file mode 100644 index 1bb27c6..0000000 --- a/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs +++ /dev/null @@ -1,54 +0,0 @@ -using TravelCompanyFileImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; - -namespace TravelCompanyFileImplement -{ - public class DataFileSingleton - { - private static DataFileSingleton? instance; - private readonly string ComponentFileName = "Component.xml"; - private readonly string OrderFileName = "Order.xml"; - private readonly string TravelFileName = "Travel.xml"; - public List Components { get; private set; } - public List Orders { get; private set; } - public List Travels { get; private set; } - public static DataFileSingleton GetInstance() - { - if (instance == null) - { - instance = new DataFileSingleton(); - } - return instance; - } - public void SaveComponents() => SaveData(Components, ComponentFileName, "Components", x => x.GetXElement); - public void SaveTravels() => SaveData(Travels, TravelFileName, "Travels", x => x.GetXElement); - public void SaveOrders() => SaveData(Orders, OrderFileName, "Orders", x => x.GetXElement); - private DataFileSingleton() - { - Components = LoadData(ComponentFileName, "Component", x => Component.Create(x)!)!; - Travels = LoadData(TravelFileName, "Travel", x => Travel.Create(x)!)!; - Orders = LoadData(OrderFileName, "Order", x => Order.Create(x)!)!; - } - private static List? LoadData(string filename, string xmlNodeName, Func selectFunction) - { - if (File.Exists(filename)) - { - return - XDocument.Load(filename)?.Root?.Elements(xmlNodeName)?.Select(selectFunction)?.ToList(); - } - return new List(); - } - private static void SaveData(List data, string filename, string xmlNodeName, Func selectFunction) - { - if (data != null) - { - new XDocument(new XElement(xmlNodeName, data.Select(selectFunction).ToArray())).Save(filename); - } - } - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Implements/ComponentStorage.cs b/TravelCompany/TracelCompanyFileImplement/Implements/ComponentStorage.cs deleted file mode 100644 index ea25b28..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Implements/ComponentStorage.cs +++ /dev/null @@ -1,78 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.ViewModels; -using TravelCompanyFileImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyFileImplement.Implements -{ - public class ComponentStorage : IComponentStorage - { - private readonly DataFileSingleton source; - public ComponentStorage() - { - source = DataFileSingleton.GetInstance(); - } - public List GetFullList() - { - return source.Components.Select(x => x.GetViewModel).ToList(); - } - public List GetFilteredList(ComponentSearchModel model) - { - if (string.IsNullOrEmpty(model.ComponentName)) - { - return new(); - } - return source.Components.Where(x => x.ComponentName.Contains(model.ComponentName)).Select(x => x.GetViewModel).ToList(); - } - public ComponentViewModel? GetElement(ComponentSearchModel model) - { - if (string.IsNullOrEmpty(model.ComponentName) && !model.Id.HasValue) - { - return null; - } - return source.Components.FirstOrDefault(x => (!string.IsNullOrEmpty(model.ComponentName) && x.ComponentName == model.ComponentName) || - (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; - } - public ComponentViewModel? Insert(ComponentBindingModel model) - { - model.Id = source.Components.Count > 0 ? source.Components.Max(x => x.Id) + 1 : 1; - var newComponent = Component.Create(model); - if (newComponent == null) - { - return null; - } - source.Components.Add(newComponent); - source.SaveComponents(); - return newComponent.GetViewModel; - } - public ComponentViewModel? Update(ComponentBindingModel model) - { - var component = source.Components.FirstOrDefault(x => x.Id == model.Id); - if (component == null) - { - return null; - } - component.Update(model); - source.SaveComponents(); - return component.GetViewModel; - } - public ComponentViewModel? Delete(ComponentBindingModel model) - { - var element = source.Components.FirstOrDefault(x => x.Id == model.Id); - if (element != null) - { - source.Components.Remove(element); - source.SaveComponents(); - return element.GetViewModel; - } - return null; - } - - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Implements/OrderStorage.cs b/TravelCompany/TracelCompanyFileImplement/Implements/OrderStorage.cs deleted file mode 100644 index a6ed4b8..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Implements/OrderStorage.cs +++ /dev/null @@ -1,90 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.ViewModels; -using TravelCompanyFileImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyFileImplement.Implements -{ - public class OrderStorage : IOrderStorage - { - private readonly DataFileSingleton source; - - public OrderStorage() - { - source = DataFileSingleton.GetInstance(); - } - - public OrderViewModel? GetElement(OrderSearchModel model) - { - if (!model.Id.HasValue) - { - return null; - } - return GetViewModel(source.Orders.FirstOrDefault(x => model.Id.HasValue && x.Id == model.Id)); - } - - public List GetFilteredList(OrderSearchModel model) - { - if (!model.Id.HasValue) - { - return new(); - } - return source.Orders.Where(x => x.Id == model.Id).Select(x => GetViewModel(x)).ToList(); - } - - public List GetFullList() - { - return source.Orders.Select(x => GetViewModel(x)).ToList(); - } - - public OrderViewModel? Insert(OrderBindingModel model) - { - model.Id = source.Orders.Count > 0 ? source.Orders.Max(x => x.Id) + 1 : 1; - var newOrder = Order.Create(model); - if (newOrder == null) - { - return null; - } - source.Orders.Add(newOrder); - source.SaveOrders(); - return GetViewModel(newOrder); - } - - public OrderViewModel? Update(OrderBindingModel model) - { - var order = source.Orders.FirstOrDefault(x => x.Id == model.Id); - if (order == null) - { - return null; - } - order.Update(model); - source.SaveOrders(); - return GetViewModel(order); - } - public OrderViewModel? Delete(OrderBindingModel model) - { - var order = source.Orders.FirstOrDefault(x => x.Id == model.Id); - if (order == null) - { - return null; - } - order.Update(model); - source.SaveOrders(); - return GetViewModel(order); - } - - private OrderViewModel GetViewModel(Order order) - { - var viewModel = order.GetViewModel; - var travel = source.Travels.FirstOrDefault(x => x.Id == order.TravelId); - viewModel.TravelName = travel?.TravelName; - return viewModel; - } - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Implements/TravelStorage.cs b/TravelCompany/TracelCompanyFileImplement/Implements/TravelStorage.cs deleted file mode 100644 index 0d9ad82..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Implements/TravelStorage.cs +++ /dev/null @@ -1,82 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.ViewModels; -using TravelCompanyFileImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyFileImplement.Implements -{ - public class TravelStorage : ITravelStorage - { - private readonly DataFileSingleton source; - - public TravelStorage() - { - source = DataFileSingleton.GetInstance(); - } - - public TravelViewModel? GetElement(TravelSearchModel model) - { - if (string.IsNullOrEmpty(model.TravelName) && !model.Id.HasValue) - { - return null; - } - return source.Travels.FirstOrDefault(x => (!string.IsNullOrEmpty(model.TravelName) && x.TravelName == model.TravelName) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; - } - - public List GetFilteredList(TravelSearchModel model) - { - if (string.IsNullOrEmpty(model.TravelName)) - { - return new(); - } - return source.Travels.Where(x => x.TravelName.Contains(model.TravelName)).Select(x => x.GetViewModel).ToList(); - } - - public List GetFullList() - { - return source.Travels.Select(x => x.GetViewModel).ToList(); - } - - public TravelViewModel? Insert(TravelBindingModel model) - { - model.Id = source.Travels.Count > 0 ? source.Travels.Max(x => x.Id) + 1 : 1; - var newDoc = Travel.Create(model); - if (newDoc == null) - { - return null; - } - source.Travels.Add(newDoc); - source.SaveTravels(); - return newDoc.GetViewModel; - } - - public TravelViewModel? Update(TravelBindingModel model) - { - var document = source.Travels.FirstOrDefault(x => x.Id == model.Id); - if (document == null) - { - return null; - } - document.Update(model); - source.SaveTravels(); - return document.GetViewModel; - } - public TravelViewModel? Delete(TravelBindingModel model) - { - var document = source.Travels.FirstOrDefault(x => x.Id == model.Id); - if (document == null) - { - return null; - } - document.Update(model); - source.SaveTravels(); - return document.GetViewModel; - } - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Models/Component.cs b/TravelCompany/TracelCompanyFileImplement/Models/Component.cs deleted file mode 100644 index 0a39648..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Models/Component.cs +++ /dev/null @@ -1,64 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; - -namespace TravelCompanyFileImplement.Models -{ - public class Component : IComponentModel - { - public int Id { get; private set; } - public string ComponentName { get; private set; } = string.Empty; - public double Cost { get; set; } - public static Component? Create(ComponentBindingModel model) - { - if (model == null) - { - return null; - } - return new Component() - { - Id = model.Id, - ComponentName = model.ComponentName, - Cost = model.Cost - }; - } - public static Component? Create(XElement element) - { - if (element == null) - { - return null; - } - return new Component() - { - Id = Convert.ToInt32(element.Attribute("Id")!.Value), - ComponentName = element.Element("ComponentName")!.Value, - Cost = Convert.ToDouble(element.Element("Cost")!.Value) - }; - } - public void Update(ComponentBindingModel model) - { - if (model == null) - { - return; - } - ComponentName = model.ComponentName; - Cost = model.Cost; - } - public ComponentViewModel GetViewModel => new() - { - Id = Id, - ComponentName = ComponentName, - Cost = Cost - }; - public XElement GetXElement => new("Component", - new XAttribute("Id", Id), - new XElement("ComponentName", ComponentName), - new XElement("Cost", Cost.ToString())); - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Models/Order.cs b/TravelCompany/TracelCompanyFileImplement/Models/Order.cs deleted file mode 100644 index d73b728..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Models/Order.cs +++ /dev/null @@ -1,104 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Enums; -using TravelCompanyDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; - -namespace TravelCompanyFileImplement.Models -{ - public class Order : IOrderModel - { - public int TravelId { get; private set; } - - 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, - TravelId = model.TravelId, - 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), - TravelId = Convert.ToInt32(element.Element("TravelId")!.Value), - Count = Convert.ToInt32(element.Element("Count")!.Value), - Sum = Convert.ToDouble(element.Element("Sum")!.Value), - DateCreate = DateTime.ParseExact(element.Element("DateCreate")!.Value, "G", null), - }; - DateTime.TryParse(element.Element("DateImplement")!.Value, out DateTime dateImpl); - - order.DateImplement = dateImpl; - - if (!Enum.TryParse(element.Element("Status")!.Value, out OrderStatus status)) - { - return null; - } - order.Status = status; - return order; - } - - public void Update(OrderBindingModel? model) - { - if (model == null) - { - return; - } - Status = model.Status; - DateImplement = model.DateImplement; - } - - public OrderViewModel GetViewModel => new() - { - Id = Id, - TravelId = TravelId, - Count = Count, - Sum = Sum, - Status = Status, - DateCreate = DateCreate, - DateImplement = DateImplement - }; - - public XElement GetXElement => new("Order", - new XAttribute("Id", Id), - new XElement("TravelId", TravelId), - 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())); - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/Models/Travel.cs b/TravelCompany/TracelCompanyFileImplement/Models/Travel.cs deleted file mode 100644 index a493ee4..0000000 --- a/TravelCompany/TracelCompanyFileImplement/Models/Travel.cs +++ /dev/null @@ -1,95 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Xml.Linq; - -namespace TravelCompanyFileImplement.Models -{ - public class Travel : ITravelModel - { - public int Id { get; private set; } - public string TravelName { get; private set; } = string.Empty; - public double Price { get; private set; } - public Dictionary Components { get; private set; } = new(); - private Dictionary? _TravelComponents = null; - public Dictionary TravelComponents - { - get - { - if (_TravelComponents == null) - { - var source = DataFileSingleton.GetInstance(); - _TravelComponents = Components.ToDictionary(x => x.Key, y => - ((source.Components.FirstOrDefault(z => z.Id == y.Key) as IComponentModel)!, - y.Value)); - } - return _TravelComponents; - } - } - public static Travel? Create(TravelBindingModel model) - { - if (model == null) - { - return null; - } - return new Travel() - { - Id = model.Id, - TravelName = model.TravelName, - Price = model.Price, - Components = model.TravelComponents.ToDictionary(x => x.Key, x - => x.Value.Item2) - }; - } - public static Travel? Create(XElement element) - { - if (element == null) - { - return null; - } - return new Travel() - { - Id = Convert.ToInt32(element.Attribute("Id")!.Value), - TravelName = element.Element("TravelName")!.Value, - Price = Convert.ToDouble(element.Element("Price")!.Value), - Components = - element.Element("TravelComponents")!.Elements("TravelComponent") - .ToDictionary(x => - Convert.ToInt32(x.Element("Key")?.Value), x => - Convert.ToInt32(x.Element("Value")?.Value)) - }; - } - public void Update(TravelBindingModel model) - { - if (model == null) - { - return; - } - TravelName = model.TravelName; - Price = model.Price; - Components = model.TravelComponents.ToDictionary(x => x.Key, x => - x.Value.Item2); - _TravelComponents = null; - } - public TravelViewModel GetViewModel => new() - { - Id = Id, - TravelName = TravelName, - Price = Price, - TravelComponents = TravelComponents - }; - public XElement GetXElement => new("Travel", - new XAttribute("Id", Id), - new XElement("TravelName", TravelName), - new XElement("Price", Price.ToString()), - new XElement("TravelComponents", Components.Select(x => new XElement("TravelComponent", new XElement("Key", x.Key), new XElement("Value", x.Value))) - - .ToArray())); - - } -} diff --git a/TravelCompany/TracelCompanyFileImplement/TravelCompanyFileImplement.csproj b/TravelCompany/TracelCompanyFileImplement/TravelCompanyFileImplement.csproj deleted file mode 100644 index 2cf28e6..0000000 --- a/TravelCompany/TracelCompanyFileImplement/TravelCompanyFileImplement.csproj +++ /dev/null @@ -1,14 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - diff --git a/TravelCompany/TravelCompanyListImplement/DataListSingleton.cs b/TravelCompany/TravelCompanyListImplement/DataListSingleton.cs deleted file mode 100644 index 01817fb..0000000 --- a/TravelCompany/TravelCompanyListImplement/DataListSingleton.cs +++ /dev/null @@ -1,31 +0,0 @@ -using TravelCompanyListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement -{ - internal class DataListSingleton - { - private static DataListSingleton? _instance; - public List Components { get; set; } - public List Orders { get; set; } - public List Travels { get; set; } - private DataListSingleton() - { - Components = new List(); - Orders = new List(); - Travels = new List(); - } - public static DataListSingleton GetInstance() - { - if (_instance == null) - { - _instance = new DataListSingleton(); - } - return _instance; - } - } -} diff --git a/TravelCompany/TravelCompanyListImplement/Implements/ComponentStorage.cs b/TravelCompany/TravelCompanyListImplement/Implements/ComponentStorage.cs deleted file mode 100644 index dddef2b..0000000 --- a/TravelCompany/TravelCompanyListImplement/Implements/ComponentStorage.cs +++ /dev/null @@ -1,106 +0,0 @@ -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement.Implements -{ - public class ComponentStorage : IComponentStorage - { - private readonly DataListSingleton _source; - public ComponentStorage() - { - _source = DataListSingleton.GetInstance(); - } - public List GetFullList() - { - var result = new List(); - foreach (var component in _source.Components) - { - result.Add(component.GetViewModel); - } - return result; - } - public List GetFilteredList(ComponentSearchModel model) - { - var result = new List(); - if (string.IsNullOrEmpty(model.ComponentName)) - { - return result; - } - foreach (var component in _source.Components) - { - if (component.ComponentName.Contains(model.ComponentName)) - { - result.Add(component.GetViewModel); - } - } - return result; - } - public ComponentViewModel? GetElement(ComponentSearchModel model) - { - if (string.IsNullOrEmpty(model.ComponentName) && !model.Id.HasValue) - { - return null; - } - foreach (var component in _source.Components) - { - if ((!string.IsNullOrEmpty(model.ComponentName) && component.ComponentName == model.ComponentName) || - (model.Id.HasValue && component.Id == model.Id)) - { - return component.GetViewModel; - } - } - return null; - } - public ComponentViewModel? Insert(ComponentBindingModel model) - { - model.Id = 1; - foreach (var component in _source.Components) - { - if (model.Id <= component.Id) - { - model.Id = component.Id + 1; - } - } - var newComponent = Component.Create(model); - if (newComponent == null) - { - return null; - } - _source.Components.Add(newComponent); - return newComponent.GetViewModel; - } - public ComponentViewModel? Update(ComponentBindingModel model) - { - foreach (var component in _source.Components) - { - if (component.Id == model.Id) - { - component.Update(model); - return component.GetViewModel; - } - } - return null; - } - public ComponentViewModel? Delete(ComponentBindingModel model) - { - for (int i = 0; i < _source.Components.Count; ++i) - { - if (_source.Components[i].Id == model.Id) - { - var element = _source.Components[i]; - _source.Components.RemoveAt(i); - return element.GetViewModel; - } - } - return null; - } - } -} diff --git a/TravelCompany/TravelCompanyListImplement/Implements/OrderStorage.cs b/TravelCompany/TravelCompanyListImplement/Implements/OrderStorage.cs deleted file mode 100644 index 0676fe2..0000000 --- a/TravelCompany/TravelCompanyListImplement/Implements/OrderStorage.cs +++ /dev/null @@ -1,125 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.ViewModels; -using TravelCompanyListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement.Implements -{ - public class OrderStorage : IOrderStorage - { - private readonly DataListSingleton _source; - - public OrderStorage() - { - _source = DataListSingleton.GetInstance(); - } - - public List GetFullList() - { - var result = new List(); - foreach (var order in _source.Orders) - { - result.Add(AttachTravelName(order.GetViewModel)); - } - return result; - } - - public List GetFilteredList(OrderSearchModel model) - { - var result = new List(); - if (model == null || !model.Id.HasValue) - { - return result; - } - foreach (var order in _source.Orders) - { - if (order.Id == model.Id) - { - result.Add(AttachTravelName(order.GetViewModel)); - } - } - return result; - } - - public OrderViewModel? GetElement(OrderSearchModel model) - { - if (!model.Id.HasValue) - { - return null; - } - foreach (var order in _source.Orders) - { - if (model.Id.HasValue && order.Id == model.Id) - { - return AttachTravelName(order.GetViewModel); - } - } - return null; - } - - public OrderViewModel? Insert(OrderBindingModel model) - { - model.Id = 1; - foreach (var order in _source.Orders) - { - if (model.Id <= order.Id) - { - model.Id = order.Id + 1; - } - } - var newOrder = Order.Create(model); - if (newOrder == null) - { - return null; - } - _source.Orders.Add(newOrder); - return AttachTravelName(newOrder.GetViewModel); - } - - public OrderViewModel? Update(OrderBindingModel model) - { - foreach (var order in _source.Orders) - { - if (order.Id == model.Id) - { - order.Update(model); - return AttachTravelName(order.GetViewModel); - } - } - return null; - } - - public OrderViewModel? Delete(OrderBindingModel model) - { - for (int i = 0; i < _source.Orders.Count; ++i) - { - if (_source.Orders[i].Id == model.Id) - { - var element = _source.Orders[i]; - _source.Orders.RemoveAt(i); - return AttachTravelName(element.GetViewModel); - } - } - return null; - } - - private OrderViewModel AttachTravelName(OrderViewModel model) - { - foreach (var Travel in _source.Travels) - { - if (Travel.Id == model.TravelId) - { - model.TravelName = Travel.TravelName; - return model; - } - } - return model; - } - } -} diff --git a/TravelCompany/TravelCompanyListImplement/Implements/TravelStorage.cs b/TravelCompany/TravelCompanyListImplement/Implements/TravelStorage.cs deleted file mode 100644 index 7673715..0000000 --- a/TravelCompany/TravelCompanyListImplement/Implements/TravelStorage.cs +++ /dev/null @@ -1,112 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.SearchModels; -using TravelCompanyContracts.StoragesContracts; -using TravelCompanyContracts.ViewModels; -using TravelCompanyListImplement.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement.Implements -{ - public class TravelStorage : ITravelStorage - { - private readonly DataListSingleton _source; - public TravelStorage() - { - _source = DataListSingleton.GetInstance(); - } - - public TravelViewModel? Delete(TravelBindingModel model) - { - for (int i = 0; i < _source.Travels.Count; ++i) - { - if (_source.Travels[i].Id == model.Id) - { - var element = _source.Travels[i]; - _source.Travels.RemoveAt(i); - return element.GetViewModel; - } - } - return null; - } - - public TravelViewModel? GetElement(TravelSearchModel model) - { - if (string.IsNullOrEmpty(model.TravelName) && !model.Id.HasValue) - { - return null; - } - foreach (var Travel in _source.Travels) - { - if ((!string.IsNullOrEmpty(model.TravelName) && Travel.TravelName == model.TravelName) || - (model.Id.HasValue && Travel.Id == model.Id)) - { - return Travel.GetViewModel; - } - } - return null; - } - - public List GetFilteredList(TravelSearchModel model) - { - var result = new List(); - if (string.IsNullOrEmpty(model.TravelName)) - { - return result; - } - foreach (var Travel in _source.Travels) - { - if (Travel.TravelName.Contains(model.TravelName)) - { - result.Add(Travel.GetViewModel); - } - } - return result; - } - - public List GetFullList() - { - var result = new List(); - foreach (var Travel in _source.Travels) - { - result.Add(Travel.GetViewModel); - } - return result; - } - - public TravelViewModel? Insert(TravelBindingModel model) - { - model.Id = 1; - foreach (var Travel in _source.Travels) - { - if (model.Id <= Travel.Id) - { - model.Id = Travel.Id + 1; - } - } - var newTravel = Travel.Create(model); - if (newTravel == null) - { - return null; - } - _source.Travels.Add(newTravel); - return newTravel.GetViewModel; - } - - public TravelViewModel? Update(TravelBindingModel model) - { - foreach (var Travel in _source.Travels) - { - if (Travel.Id == model.Id) - { - Travel.Update(model); - return Travel.GetViewModel; - } - } - return null; - } - } -} diff --git a/TravelCompany/TravelCompanyListImplement/Models/Component.cs b/TravelCompany/TravelCompanyListImplement/Models/Component.cs deleted file mode 100644 index 1c9f49a..0000000 --- a/TravelCompany/TravelCompanyListImplement/Models/Component.cs +++ /dev/null @@ -1,41 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Models; - -namespace TravelCompanyListImplement.Models -{ - public class Component : IComponentModel - { - public int Id { get; private set; } - public string ComponentName { get; private set; } = string.Empty; - public double Cost { get; set; } - public static Component? Create(ComponentBindingModel? model) - { - if (model == null) - { - return null; - } - return new Component() - { - Id = model.Id, - ComponentName = model.ComponentName, - Cost = model.Cost - }; - } - public void Update(ComponentBindingModel? model) - { - if (model == null) - { - return; - } - ComponentName = model.ComponentName; - Cost = model.Cost; - } - public ComponentViewModel GetViewModel => new() - { - Id = Id, - ComponentName = ComponentName, - Cost = Cost - }; - } -} \ No newline at end of file diff --git a/TravelCompany/TravelCompanyListImplement/Models/Order.cs b/TravelCompany/TravelCompanyListImplement/Models/Order.cs deleted file mode 100644 index e9e9705..0000000 --- a/TravelCompany/TravelCompanyListImplement/Models/Order.cs +++ /dev/null @@ -1,60 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Enums; -using TravelCompanyDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement.Models -{ - public class Order : IOrderModel - { - public int Id { get; private set; } - public int TravelId { get; private set; } - public int Count { get; private set; } - public double Sum { get; private set; } - public OrderStatus Status { get; private set; } - public DateTime DateCreate { get; private set; } - public DateTime? DateImplement { get; private set; } - public static Order? Create(OrderBindingModel? model) - { - if (model == null) - { - return null; - } - return new Order() - { - Id = model.Id, - TravelId = model.TravelId, - Count = model.Count, - Sum = model.Sum, - Status = model.Status, - DateCreate = model.DateCreate, - DateImplement = model.DateImplement, - }; - } - public void Update(OrderBindingModel? model) - { - if (model == null) - { - return; - } - Status = model.Status; - DateImplement = model.DateImplement; - } - public OrderViewModel GetViewModel => new() - { - Id = Id, - TravelId = TravelId, - Count = Count, - Sum = Sum, - Status = Status, - DateCreate = DateCreate, - DateImplement = DateImplement, - }; - } -} diff --git a/TravelCompany/TravelCompanyListImplement/Models/Travel.cs b/TravelCompany/TravelCompanyListImplement/Models/Travel.cs deleted file mode 100644 index 32ff4bc..0000000 --- a/TravelCompany/TravelCompanyListImplement/Models/Travel.cs +++ /dev/null @@ -1,55 +0,0 @@ -using TravelCompanyContracts.BindingModels; -using TravelCompanyContracts.ViewModels; -using TravelCompanyDataModels.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace TravelCompanyListImplement.Models -{ - internal class Travel : ITravelModel - { - public int Id { get; private set; } - public string TravelName { get; private set; } = string.Empty; - public double Price { get; private set; } - public Dictionary TravelComponents - { - get; - private set; - } = new Dictionary(); - public static Travel? Create(TravelBindingModel? model) - { - if (model == null) - { - return null; - } - return new Travel() - { - Id = model.Id, - TravelName = model.TravelName, - Price = model.Price, - TravelComponents = model.TravelComponents - }; - } - public void Update(TravelBindingModel? model) - { - if (model == null) - { - return; - } - TravelName = model.TravelName; - Price = model.Price; - TravelComponents = model.TravelComponents; - } - public TravelViewModel GetViewModel => new() - { - Id = Id, - TravelName = TravelName, - Price = Price, - TravelComponents = TravelComponents - }; - - } -} diff --git a/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj b/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj deleted file mode 100644 index 801025b..0000000 --- a/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - net6.0 - enable - enable - - - - - - - - - - - - - - - - - - -