diff --git a/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs b/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs new file mode 100644 index 0000000..1bb27c6 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/DataFileSingleton.cs @@ -0,0 +1,54 @@ +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 new file mode 100644 index 0000000..ea25b28 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Implements/ComponentStorage.cs @@ -0,0 +1,78 @@ +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 new file mode 100644 index 0000000..a6ed4b8 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Implements/OrderStorage.cs @@ -0,0 +1,90 @@ +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 new file mode 100644 index 0000000..0d9ad82 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Implements/TravelStorage.cs @@ -0,0 +1,82 @@ +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 new file mode 100644 index 0000000..0a39648 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Models/Component.cs @@ -0,0 +1,64 @@ +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 new file mode 100644 index 0000000..d73b728 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Models/Order.cs @@ -0,0 +1,104 @@ +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 new file mode 100644 index 0000000..a493ee4 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/Models/Travel.cs @@ -0,0 +1,95 @@ +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 new file mode 100644 index 0000000..2cf28e6 --- /dev/null +++ b/TravelCompany/TracelCompanyFileImplement/TravelCompanyFileImplement.csproj @@ -0,0 +1,14 @@ + + + + net6.0 + enable + enable + + + + + + + + diff --git a/TravelCompany/TravelCompany.sln b/TravelCompany/TravelCompany.sln index fca5002..f51d7e4 100644 --- a/TravelCompany/TravelCompany.sln +++ b/TravelCompany/TravelCompany.sln @@ -9,9 +9,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TravelCompanyDataModels", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TravelCompanyContracts", "TravelCompanyContracts\TravelCompanyContracts.csproj", "{F5360FD0-02FD-4549-956C-87BE43698D5B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TravelCompanyBusinessLogic", "TravelCompanyBusinessLogic\TravelCompanyBusinessLogic.csproj", "{DC7EB4DD-9023-416F-A718-A8596B80A587}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TravelCompanyBusinessLogic", "TravelCompanyBusinessLogic\TravelCompanyBusinessLogic.csproj", "{DC7EB4DD-9023-416F-A718-A8596B80A587}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TravelCompanyListImplement", "TravelCompanyListImplement\TravelCompanyListImplement.csproj", "{9D85E556-67A1-44D5-B46B-5C880935118D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TravelCompanyListImplement", "TravelCompanyListImplement\TravelCompanyListImplement.csproj", "{9D85E556-67A1-44D5-B46B-5C880935118D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TravelCompanyFileImplement", "TracelCompanyFileImplement\TravelCompanyFileImplement.csproj", "{9DB1A97D-B2AA-43B4-94DF-2A3B715B4235}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -39,6 +41,10 @@ Global {9D85E556-67A1-44D5-B46B-5C880935118D}.Debug|Any CPU.Build.0 = Debug|Any CPU {9D85E556-67A1-44D5-B46B-5C880935118D}.Release|Any CPU.ActiveCfg = Release|Any CPU {9D85E556-67A1-44D5-B46B-5C880935118D}.Release|Any CPU.Build.0 = Release|Any CPU + {9DB1A97D-B2AA-43B4-94DF-2A3B715B4235}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9DB1A97D-B2AA-43B4-94DF-2A3B715B4235}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9DB1A97D-B2AA-43B4-94DF-2A3B715B4235}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9DB1A97D-B2AA-43B4-94DF-2A3B715B4235}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TravelCompany/TravelCompany/FormMain.Designer.cs b/TravelCompany/TravelCompany/FormMain.Designer.cs index 7d43296..49c9eea 100644 --- a/TravelCompany/TravelCompany/FormMain.Designer.cs +++ b/TravelCompany/TravelCompany/FormMain.Designer.cs @@ -49,13 +49,14 @@ // dataGridView // dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(1, 41); + dataGridView.Location = new Point(1, 31); + dataGridView.Margin = new Padding(3, 2, 3, 2); dataGridView.Name = "dataGridView"; dataGridView.ReadOnly = true; dataGridView.RowHeadersWidth = 51; dataGridView.RowTemplate.Height = 29; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView.Size = new Size(1143, 569); + dataGridView.Size = new Size(820, 427); dataGridView.TabIndex = 0; // // toolStrip1 @@ -64,7 +65,7 @@ toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1, toolStripDropDownButtonOperations }); toolStrip1.Location = new Point(0, 0); toolStrip1.Name = "toolStrip1"; - toolStrip1.Size = new Size(1328, 27); + toolStrip1.Size = new Size(1047, 25); toolStrip1.TabIndex = 1; toolStrip1.Text = "toolStrip1"; // @@ -75,20 +76,20 @@ toolStripDropDownButton1.Image = (Image)resources.GetObject("toolStripDropDownButton1.Image"); toolStripDropDownButton1.ImageTransparentColor = Color.Magenta; toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - toolStripDropDownButton1.Size = new Size(108, 24); + toolStripDropDownButton1.Size = new Size(88, 22); toolStripDropDownButton1.Text = "Справочник"; // // компонентыToolStripMenuItem // компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; - компонентыToolStripMenuItem.Size = new Size(252, 26); + компонентыToolStripMenuItem.Size = new Size(202, 22); компонентыToolStripMenuItem.Text = "Компоненты"; компонентыToolStripMenuItem.Click += компонентыToolStripMenuItem_Click; // // туристическиеПутевкиToolStripMenuItem // туристическиеПутевкиToolStripMenuItem.Name = "туристическиеПутевкиToolStripMenuItem"; - туристическиеПутевкиToolStripMenuItem.Size = new Size(252, 26); + туристическиеПутевкиToolStripMenuItem.Size = new Size(202, 22); туристическиеПутевкиToolStripMenuItem.Text = "Туристические путевки"; туристическиеПутевкиToolStripMenuItem.Click += путевкиToolStripMenuItem_Click; // @@ -118,9 +119,10 @@ // // buttonCreateeOrder // - buttonCreateeOrder.Location = new Point(1161, 99); + buttonCreateeOrder.Location = new Point(869, 68); + buttonCreateeOrder.Margin = new Padding(3, 2, 3, 2); buttonCreateeOrder.Name = "buttonCreateeOrder"; - buttonCreateeOrder.Size = new Size(155, 39); + buttonCreateeOrder.Size = new Size(136, 29); buttonCreateeOrder.TabIndex = 2; buttonCreateeOrder.Text = "Создать заказ"; buttonCreateeOrder.UseVisualStyleBackColor = true; @@ -128,9 +130,10 @@ // // buttonTakeOrderInWork // - buttonTakeOrderInWork.Location = new Point(1161, 144); + buttonTakeOrderInWork.Location = new Point(869, 102); + buttonTakeOrderInWork.Margin = new Padding(3, 2, 3, 2); buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; - buttonTakeOrderInWork.Size = new Size(155, 53); + buttonTakeOrderInWork.Size = new Size(136, 40); buttonTakeOrderInWork.TabIndex = 3; buttonTakeOrderInWork.Text = "Отдать на выполнение"; buttonTakeOrderInWork.UseVisualStyleBackColor = true; @@ -138,9 +141,10 @@ // // buttonOrderReady // - buttonOrderReady.Location = new Point(1161, 203); + buttonOrderReady.Location = new Point(869, 146); + buttonOrderReady.Margin = new Padding(3, 2, 3, 2); buttonOrderReady.Name = "buttonOrderReady"; - buttonOrderReady.Size = new Size(155, 39); + buttonOrderReady.Size = new Size(136, 29); buttonOrderReady.TabIndex = 4; buttonOrderReady.Text = "Заказ готов"; buttonOrderReady.UseVisualStyleBackColor = true; @@ -148,9 +152,10 @@ // // buttonIssuedOrder // - buttonIssuedOrder.Location = new Point(1161, 248); + buttonIssuedOrder.Location = new Point(869, 180); + buttonIssuedOrder.Margin = new Padding(3, 2, 3, 2); buttonIssuedOrder.Name = "buttonIssuedOrder"; - buttonIssuedOrder.Size = new Size(155, 39); + buttonIssuedOrder.Size = new Size(136, 29); buttonIssuedOrder.TabIndex = 5; buttonIssuedOrder.Text = "Заказ выдан"; buttonIssuedOrder.UseVisualStyleBackColor = true; @@ -158,9 +163,10 @@ // // buttonRefresh // - buttonRefresh.Location = new Point(1161, 293); + buttonRefresh.Location = new Point(869, 214); + buttonRefresh.Margin = new Padding(3, 2, 3, 2); buttonRefresh.Name = "buttonRefresh"; - buttonRefresh.Size = new Size(155, 39); + buttonRefresh.Size = new Size(136, 29); buttonRefresh.TabIndex = 6; buttonRefresh.Text = "Обновить список"; buttonRefresh.UseVisualStyleBackColor = true; @@ -168,9 +174,9 @@ // // FormMain // - AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1328, 611); + ClientSize = new Size(1047, 458); Controls.Add(buttonRefresh); Controls.Add(buttonIssuedOrder); Controls.Add(buttonOrderReady); @@ -178,6 +184,7 @@ Controls.Add(buttonCreateeOrder); Controls.Add(toolStrip1); Controls.Add(dataGridView); + Margin = new Padding(3, 2, 3, 2); Name = "FormMain"; Text = "Туристическая фирма"; ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); diff --git a/TravelCompany/TravelCompany/FormMain.cs b/TravelCompany/TravelCompany/FormMain.cs index 79945a3..e43b0a4 100644 --- a/TravelCompany/TravelCompany/FormMain.cs +++ b/TravelCompany/TravelCompany/FormMain.cs @@ -23,6 +23,7 @@ namespace TravelCompanyView InitializeComponent(); _logger = logger; _orderLogic = orderLogic; + LoadData(); } private void FormMain_Load(object sender, EventArgs e) { diff --git a/TravelCompany/TravelCompany/FormMain.resx b/TravelCompany/TravelCompany/FormMain.resx index 587d980..ef60d85 100644 --- a/TravelCompany/TravelCompany/FormMain.resx +++ b/TravelCompany/TravelCompany/FormMain.resx @@ -124,7 +124,7 @@ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAEKSURBVEhL3ZG9DsFQHMXvczDZvIOtXsHObuhqkViI3Quw + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEKSURBVEhL3ZG9DsFQHMXvczDZvIOtXsHObuhqkViI3Quw 6CYmNoMYJJ0NBiFFIoIytOuf0+TeXP3yde+iyS+3OcP53Z4y3/dJJ4HAsiwyTVMp6BQCBIZhKAWdEcHV vSlBmeB82NFy1KLluEWOPRC5MoHdMWhazwi4RJlALgf4EuT6BI+5kCsTrGddUY658E+QvyXYHq9UnRyC U87f4aUApcXhnrI9Jzg/laQKFntXlHM+lSQK5psL5fvbp/JvJLGCQqmSWM5JkiCT84igXGtSrruKLQ0T diff --git a/TravelCompany/TravelCompany/FormTravels.cs b/TravelCompany/TravelCompany/FormTravels.cs index 185e21a..889cb0d 100644 --- a/TravelCompany/TravelCompany/FormTravels.cs +++ b/TravelCompany/TravelCompany/FormTravels.cs @@ -23,6 +23,7 @@ namespace TravelCompanyView InitializeComponent(); _logger = logger; _logic = logic; + LoadData(); } private void FormTravels_Load(object sender, EventArgs e) diff --git a/TravelCompany/TravelCompany/Program.cs b/TravelCompany/TravelCompany/Program.cs index acc04d1..a0957e1 100644 --- a/TravelCompany/TravelCompany/Program.cs +++ b/TravelCompany/TravelCompany/Program.cs @@ -5,7 +5,7 @@ using TravelCompanyBusinessLogic.BusinessLogic; using TravelCompanyContracts.BusinessLogicContracts; using TravelCompanyContracts.BusinessLogicsContracts; using TravelCompanyContracts.StoragesContracts; -using TravelCompanyListImplement.Implements; +using TravelCompanyFileImplement.Implements; using TravelCompanyView; namespace TravelCompany diff --git a/TravelCompany/TravelCompany/TravelCompanyView.csproj b/TravelCompany/TravelCompany/TravelCompanyView.csproj index f1ce2a6..21b3ca4 100644 --- a/TravelCompany/TravelCompany/TravelCompanyView.csproj +++ b/TravelCompany/TravelCompany/TravelCompanyView.csproj @@ -10,14 +10,17 @@ + + + diff --git a/TravelCompany/TravelCompanyBusinessLogic/TravelCompanyBusinessLogic.csproj b/TravelCompany/TravelCompanyBusinessLogic/TravelCompanyBusinessLogic.csproj index fd62a0d..801025b 100644 --- a/TravelCompany/TravelCompanyBusinessLogic/TravelCompanyBusinessLogic.csproj +++ b/TravelCompany/TravelCompanyBusinessLogic/TravelCompanyBusinessLogic.csproj @@ -8,10 +8,12 @@ + + diff --git a/TravelCompany/TravelCompanyContracts/TravelCompanyContracts.csproj b/TravelCompany/TravelCompanyContracts/TravelCompanyContracts.csproj index f3c43e1..b3bbb9d 100644 --- a/TravelCompany/TravelCompanyContracts/TravelCompanyContracts.csproj +++ b/TravelCompany/TravelCompanyContracts/TravelCompanyContracts.csproj @@ -8,10 +8,12 @@ + + diff --git a/TravelCompany/TravelCompanyDataModels/TravelCompanyDataModels.csproj b/TravelCompany/TravelCompanyDataModels/TravelCompanyDataModels.csproj index d80c28f..37b0ba4 100644 --- a/TravelCompany/TravelCompanyDataModels/TravelCompanyDataModels.csproj +++ b/TravelCompany/TravelCompanyDataModels/TravelCompanyDataModels.csproj @@ -8,10 +8,12 @@ + + diff --git a/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj b/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj index fd62a0d..801025b 100644 --- a/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj +++ b/TravelCompany/TravelCompanyListImplement/TravelCompanyListImplement.csproj @@ -8,10 +8,12 @@ + +