From ffa10f747fe4059f414291f34ddc19875dbd7f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BE=D1=84=D1=8C=D1=8F=20=D0=AF=D0=BA=D0=BE=D0=B1?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 14 Apr 2024 15:23:03 +0400 Subject: [PATCH 1/2] Upd --- MotorPlant/MotorPlant.sln | 8 +- .../MotorPlantFileImplement/Component.cs | 59 ++++++++++++ .../ComponentStorage.cs | 72 +++++++++++++++ .../DataFileSingleton.cs | 49 ++++++++++ MotorPlant/MotorPlantFileImplement/Engine.cs | 89 +++++++++++++++++++ .../MotorPlantFileImplement/EngineStorage.cs | 71 +++++++++++++++ .../MotorPlantFileImplement.csproj | 14 +++ MotorPlant/MotorPlantFileImplement/Order.cs | 88 ++++++++++++++++++ .../MotorPlantFileImplement/OrderStorage.cs | 85 ++++++++++++++++++ .../MotorPlantView/FormMain.Designer.cs | 47 +++++----- MotorPlant/MotorPlantView/FormMain.resx | 53 ++++++----- .../MotorPlantView/MotorPlantView.csproj | 1 + MotorPlant/MotorPlantView/Program.cs | 7 +- 13 files changed, 585 insertions(+), 58 deletions(-) create mode 100644 MotorPlant/MotorPlantFileImplement/Component.cs create mode 100644 MotorPlant/MotorPlantFileImplement/ComponentStorage.cs create mode 100644 MotorPlant/MotorPlantFileImplement/DataFileSingleton.cs create mode 100644 MotorPlant/MotorPlantFileImplement/Engine.cs create mode 100644 MotorPlant/MotorPlantFileImplement/EngineStorage.cs create mode 100644 MotorPlant/MotorPlantFileImplement/MotorPlantFileImplement.csproj create mode 100644 MotorPlant/MotorPlantFileImplement/Order.cs create mode 100644 MotorPlant/MotorPlantFileImplement/OrderStorage.cs diff --git a/MotorPlant/MotorPlant.sln b/MotorPlant/MotorPlant.sln index 293a55c..b16b409 100644 --- a/MotorPlant/MotorPlant.sln +++ b/MotorPlant/MotorPlant.sln @@ -11,7 +11,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MotorPlantContracts", "Moto EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MotorPlantBusinessLogic", "MotorPlantBusinessLogic\MotorPlantBusinessLogic.csproj", "{EEA707BB-A528-4FC9-866B-5E82B3E5A881}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MotorPlantListImplement", "MotorPlantListImplement\MotorPlantListImplement.csproj", "{B40FC8FC-D3FB-434C-9A13-F6E1BF88B36D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MotorPlantListImplement", "MotorPlantListImplement\MotorPlantListImplement.csproj", "{B40FC8FC-D3FB-434C-9A13-F6E1BF88B36D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MotorPlantFileImplement", "MotorPlantFileImplement\MotorPlantFileImplement.csproj", "{7F4C8448-8678-4AA4-A922-BB10EFCEF9AF}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -39,6 +41,10 @@ Global {B40FC8FC-D3FB-434C-9A13-F6E1BF88B36D}.Debug|Any CPU.Build.0 = Debug|Any CPU {B40FC8FC-D3FB-434C-9A13-F6E1BF88B36D}.Release|Any CPU.ActiveCfg = Release|Any CPU {B40FC8FC-D3FB-434C-9A13-F6E1BF88B36D}.Release|Any CPU.Build.0 = Release|Any CPU + {7F4C8448-8678-4AA4-A922-BB10EFCEF9AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7F4C8448-8678-4AA4-A922-BB10EFCEF9AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7F4C8448-8678-4AA4-A922-BB10EFCEF9AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7F4C8448-8678-4AA4-A922-BB10EFCEF9AF}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/MotorPlant/MotorPlantFileImplement/Component.cs b/MotorPlant/MotorPlantFileImplement/Component.cs new file mode 100644 index 0000000..5f29da5 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/Component.cs @@ -0,0 +1,59 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.ViewModels; +using MotorPlantDataModels.Models; +using System.Xml.Linq; + +namespace MotorPlantFileImplement.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/MotorPlant/MotorPlantFileImplement/ComponentStorage.cs b/MotorPlant/MotorPlantFileImplement/ComponentStorage.cs new file mode 100644 index 0000000..fb47e04 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/ComponentStorage.cs @@ -0,0 +1,72 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.SearchModels; +using MotorPlantContracts.StoragesContracts; +using MotorPlantContracts.ViewModels; +using MotorPlantFileImplement.Models; + +namespace MotorPlantFileImplement.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; + } + } +} \ No newline at end of file diff --git a/MotorPlant/MotorPlantFileImplement/DataFileSingleton.cs b/MotorPlant/MotorPlantFileImplement/DataFileSingleton.cs new file mode 100644 index 0000000..a448669 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/DataFileSingleton.cs @@ -0,0 +1,49 @@ +using MotorPlantFileImplement.Models; +using System.Xml.Linq; + +namespace MotorPlantFileImplement +{ + public class DataFileSingleton + { + private static DataFileSingleton? instance; + private readonly string ComponentFileName = "Component.xml"; + private readonly string OrderFileName = "Order.xml"; + private readonly string EngineFileName = "Engine.xml"; + public List Components { get; private set; } + public List Orders { get; private set; } + public List Engines { 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 SaveEngines() => SaveData(Engines, EngineFileName, "Engines", x => x.GetXElement); + public void SaveOrders() => SaveData(Orders, OrderFileName, "Orders", x => x.GetXElement); + private DataFileSingleton() + { + Components = LoadData(ComponentFileName, "Component", x => Component.Create(x)!)!; + Engines = LoadData(EngineFileName, "Engine", x => Engine.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/MotorPlant/MotorPlantFileImplement/Engine.cs b/MotorPlant/MotorPlantFileImplement/Engine.cs new file mode 100644 index 0000000..5f283a5 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/Engine.cs @@ -0,0 +1,89 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.ViewModels; +using MotorPlantDataModels.Models; +using System.Xml.Linq; + +namespace MotorPlantFileImplement.Models +{ + public class Engine : IEngineModel + { + public int Id { get; private set; } + public string EngineName { get; private set; } = string.Empty; + public double Price { get; private set; } + public Dictionary Components { get; private set; } = new(); + private Dictionary? _EngineComponents = null; + public Dictionary EngineComponents + { + get + { + if (_EngineComponents == null) + { + var source = DataFileSingleton.GetInstance(); + _EngineComponents = Components.ToDictionary(x => x.Key, y => + ((source.Components.FirstOrDefault(z => z.Id == y.Key) as IComponentModel)!, + y.Value)); + } + return _EngineComponents; + } + } + public static Engine? Create(EngineBindingModel model) + { + if (model == null) + { + return null; + } + return new Engine() + { + Id = model.Id, + EngineName = model.EngineName, + Price = model.Price, + Components = model.EngineComponents.ToDictionary(x => x.Key, x + => x.Value.Item2) + }; + } + public static Engine? Create(XElement element) + { + if (element == null) + { + return null; + } + return new Engine() + { + Id = Convert.ToInt32(element.Attribute("Id")!.Value), + EngineName = element.Element("EngineName")!.Value, + Price = Convert.ToDouble(element.Element("Price")!.Value), + Components = + element.Element("EngineComponents")!.Elements("EngineComponent") + .ToDictionary(x => + Convert.ToInt32(x.Element("Key")?.Value), x => + Convert.ToInt32(x.Element("Value")?.Value)) + }; + } + public void Update(EngineBindingModel model) + { + if (model == null) + { + return; + } + EngineName = model.EngineName; + Price = model.Price; + Components = model.EngineComponents.ToDictionary(x => x.Key, x => + x.Value.Item2); + _EngineComponents = null; + } + public EngineViewModel GetViewModel => new() + { + Id = Id, + EngineName = EngineName, + Price = Price, + EngineComponents = EngineComponents + }; + public XElement GetXElement => new("Engine", + new XAttribute("Id", Id), + new XElement("EngineName", EngineName), + new XElement("Price", Price.ToString()), + new XElement("EngineComponents", Components.Select(x => new XElement("EngineComponent", new XElement("Key", x.Key), new XElement("Value", x.Value))) + + .ToArray())); + } +} diff --git a/MotorPlant/MotorPlantFileImplement/EngineStorage.cs b/MotorPlant/MotorPlantFileImplement/EngineStorage.cs new file mode 100644 index 0000000..393fd2d --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/EngineStorage.cs @@ -0,0 +1,71 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.SearchModels; +using MotorPlantContracts.StoragesContracts; +using MotorPlantContracts.ViewModels; +using MotorPlantFileImplement.Models; + +namespace MotorPlantFileImplement.Implements +{ + public class EngineStorage : IEngineStorage + { + private readonly DataFileSingleton source; + public EngineStorage() + { + source = DataFileSingleton.GetInstance(); + } + public EngineViewModel? GetElement(EngineSearchModel model) + { + if (string.IsNullOrEmpty(model.EngineName) && !model.Id.HasValue) + { + return null; + } + return source.Engines.FirstOrDefault(x => (!string.IsNullOrEmpty(model.EngineName) && x.EngineName == model.EngineName) || (model.Id.HasValue && x.Id == model.Id))?.GetViewModel; + } + public List GetFilteredList(EngineSearchModel model) + { + if (string.IsNullOrEmpty(model.EngineName)) + { + return new(); + } + return source.Engines.Where(x => x.EngineName.Contains(model.EngineName)).Select(x => x.GetViewModel).ToList(); + } + public List GetFullList() + { + return source.Engines.Select(x => x.GetViewModel).ToList(); + } + public EngineViewModel? Insert(EngineBindingModel model) + { + model.Id = source.Engines.Count > 0 ? source.Engines.Max(x => x.Id) + 1 : 1; + var newDoc = Engine.Create(model); + if (newDoc == null) + { + return null; + } + source.Engines.Add(newDoc); + source.SaveEngines(); + return newDoc.GetViewModel; + } + public EngineViewModel? Update(EngineBindingModel model) + { + var document = source.Engines.FirstOrDefault(x => x.Id == model.Id); + if (document == null) + { + return null; + } + document.Update(model); + source.SaveEngines(); + return document.GetViewModel; + } + public EngineViewModel? Delete(EngineBindingModel model) + { + var document = source.Engines.FirstOrDefault(x => x.Id == model.Id); + if (document == null) + { + return null; + } + document.Update(model); + source.SaveEngines(); + return document.GetViewModel; + } + } +} diff --git a/MotorPlant/MotorPlantFileImplement/MotorPlantFileImplement.csproj b/MotorPlant/MotorPlantFileImplement/MotorPlantFileImplement.csproj new file mode 100644 index 0000000..4da00b3 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/MotorPlantFileImplement.csproj @@ -0,0 +1,14 @@ + + + + net6.0 + enable + enable + + + + + + + + diff --git a/MotorPlant/MotorPlantFileImplement/Order.cs b/MotorPlant/MotorPlantFileImplement/Order.cs new file mode 100644 index 0000000..7df5906 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/Order.cs @@ -0,0 +1,88 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.ViewModels; +using MotorPlantDataModels.Enums; +using MotorPlantDataModels.Models; +using System.Xml.Linq; + +namespace MotorPlantFileImplement.Models +{ + public class Order : IOrderModel + { + public int EngineId { 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, + EngineId = model.EngineId, + 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), + EngineId = Convert.ToInt32(element.Element("EngineId")!.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, + EngineId = EngineId, + Count = Count, + Sum = Sum, + Status = Status, + DateCreate = DateCreate, + DateImplement = DateImplement + }; + public XElement GetXElement => new("Order", + new XAttribute("Id", Id), + new XElement("EngineId", EngineId), + 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/MotorPlant/MotorPlantFileImplement/OrderStorage.cs b/MotorPlant/MotorPlantFileImplement/OrderStorage.cs new file mode 100644 index 0000000..5fdd024 --- /dev/null +++ b/MotorPlant/MotorPlantFileImplement/OrderStorage.cs @@ -0,0 +1,85 @@ +using MotorPlantContracts.BindingModels; +using MotorPlantContracts.SearchModels; +using MotorPlantContracts.StoragesContracts; +using MotorPlantContracts.ViewModels; +using MotorPlantFileImplement.Models; + +namespace MotorPlantFileImplement.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; + foreach (var comp in source.Engines) + { + if (comp.Id == order.EngineId) + { + viewModel.EngineName = comp.EngineName; + break; + } + } + return viewModel; + } + } +} diff --git a/MotorPlant/MotorPlantView/FormMain.Designer.cs b/MotorPlant/MotorPlantView/FormMain.Designer.cs index f00ef03..eb3bef1 100644 --- a/MotorPlant/MotorPlantView/FormMain.Designer.cs +++ b/MotorPlant/MotorPlantView/FormMain.Designer.cs @@ -28,6 +28,7 @@ /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); toolStrip1 = new ToolStrip(); toolStripDropDownButton1 = new ToolStripDropDownButton(); КомпонентыToolStripMenuItem = new ToolStripMenuItem(); @@ -48,7 +49,7 @@ toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1 }); toolStrip1.Location = new Point(0, 0); toolStrip1.Name = "toolStrip1"; - toolStrip1.Size = new Size(1107, 27); + toolStrip1.Size = new Size(969, 25); toolStrip1.TabIndex = 0; toolStrip1.Text = "toolStrip1"; // @@ -56,31 +57,31 @@ // toolStripDropDownButton1.DisplayStyle = ToolStripItemDisplayStyle.Text; toolStripDropDownButton1.DropDownItems.AddRange(new ToolStripItem[] { КомпонентыToolStripMenuItem, ДвигателиToolStripMenuItem }); + 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(182, 26); + КомпонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; + КомпонентыToolStripMenuItem.Size = new Size(174, 22); КомпонентыToolStripMenuItem.Text = "Компоненты"; КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click; // // ДвигателиToolStripMenuItem // ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem"; - ДвигателиToolStripMenuItem.Size = new Size(182, 26); + ДвигателиToolStripMenuItem.Size = new Size(174, 22); ДвигателиToolStripMenuItem.Text = "Двигатели"; ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click; // // buttonCreateOrder // - buttonCreateOrder.Location = new Point(914, 75); - buttonCreateOrder.Margin = new Padding(3, 4, 3, 4); + buttonCreateOrder.Location = new Point(800, 56); buttonCreateOrder.Name = "buttonCreateOrder"; - buttonCreateOrder.Size = new Size(161, 32); + buttonCreateOrder.Size = new Size(141, 24); buttonCreateOrder.TabIndex = 1; buttonCreateOrder.Text = "Создать заказ"; buttonCreateOrder.UseVisualStyleBackColor = true; @@ -88,10 +89,9 @@ // // buttonTakeOrderInWork // - buttonTakeOrderInWork.Location = new Point(914, 115); - buttonTakeOrderInWork.Margin = new Padding(3, 4, 3, 4); + buttonTakeOrderInWork.Location = new Point(800, 100); buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; - buttonTakeOrderInWork.Size = new Size(161, 48); + buttonTakeOrderInWork.Size = new Size(141, 24); buttonTakeOrderInWork.TabIndex = 2; buttonTakeOrderInWork.Text = "Отдать на выполнение"; buttonTakeOrderInWork.UseVisualStyleBackColor = true; @@ -99,10 +99,9 @@ // // buttonOrderReady // - buttonOrderReady.Location = new Point(914, 189); - buttonOrderReady.Margin = new Padding(3, 4, 3, 4); + buttonOrderReady.Location = new Point(800, 142); buttonOrderReady.Name = "buttonOrderReady"; - buttonOrderReady.Size = new Size(161, 32); + buttonOrderReady.Size = new Size(141, 24); buttonOrderReady.TabIndex = 3; buttonOrderReady.Text = "Заказ готов"; buttonOrderReady.UseVisualStyleBackColor = true; @@ -110,10 +109,9 @@ // // buttonIssuedOrder // - buttonIssuedOrder.Location = new Point(914, 241); - buttonIssuedOrder.Margin = new Padding(3, 4, 3, 4); + buttonIssuedOrder.Location = new Point(800, 181); buttonIssuedOrder.Name = "buttonIssuedOrder"; - buttonIssuedOrder.Size = new Size(161, 32); + buttonIssuedOrder.Size = new Size(141, 24); buttonIssuedOrder.TabIndex = 4; buttonIssuedOrder.Text = "Заказ выдан"; buttonIssuedOrder.UseVisualStyleBackColor = true; @@ -121,10 +119,9 @@ // // buttonRef // - buttonRef.Location = new Point(914, 296); - buttonRef.Margin = new Padding(3, 4, 3, 4); + buttonRef.Location = new Point(800, 222); buttonRef.Name = "buttonRef"; - buttonRef.Size = new Size(161, 32); + buttonRef.Size = new Size(141, 24); buttonRef.TabIndex = 5; buttonRef.Text = "Обновить список"; buttonRef.UseVisualStyleBackColor = true; @@ -133,21 +130,20 @@ // dataGridView // dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(0, 35); - dataGridView.Margin = new Padding(3, 4, 3, 4); + dataGridView.Location = new Point(0, 26); dataGridView.Name = "dataGridView"; dataGridView.ReadOnly = true; dataGridView.RowHeadersWidth = 51; dataGridView.RowTemplate.Height = 24; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView.Size = new Size(872, 580); + dataGridView.Size = new Size(763, 435); dataGridView.TabIndex = 6; // // FormMain // - AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleDimensions = new SizeF(7F, 15F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1107, 615); + ClientSize = new Size(969, 461); Controls.Add(dataGridView); Controls.Add(buttonRef); Controls.Add(buttonIssuedOrder); @@ -155,7 +151,6 @@ Controls.Add(buttonTakeOrderInWork); Controls.Add(buttonCreateOrder); Controls.Add(toolStrip1); - Margin = new Padding(3, 4, 3, 4); Name = "FormMain"; Text = "Моторный завод"; Load += FormMain_Load; diff --git a/MotorPlant/MotorPlantView/FormMain.resx b/MotorPlant/MotorPlantView/FormMain.resx index c354583..1af7de1 100644 --- a/MotorPlant/MotorPlantView/FormMain.resx +++ b/MotorPlant/MotorPlantView/FormMain.resx @@ -1,17 +1,17 @@  - @@ -117,7 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 17, 17 - \ No newline at end of file diff --git a/MotorPlant/MotorPlantView/MotorPlantView.csproj b/MotorPlant/MotorPlantView/MotorPlantView.csproj index e487fd8..0c7b07f 100644 --- a/MotorPlant/MotorPlantView/MotorPlantView.csproj +++ b/MotorPlant/MotorPlantView/MotorPlantView.csproj @@ -20,6 +20,7 @@ + diff --git a/MotorPlant/MotorPlantView/Program.cs b/MotorPlant/MotorPlantView/Program.cs index 015ee8d..f808486 100644 --- a/MotorPlant/MotorPlantView/Program.cs +++ b/MotorPlant/MotorPlantView/Program.cs @@ -1,13 +1,12 @@ -using MotorPlantView.Forms; using MotorPlantContracts.BusinessLogicsContracts; using MotorPlantContracts.StoragesContracts; -using MotorPlantListImplement.Implements; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using NLog.Extensions.Logging; using MotorPlantBusinessLogic.BusinessLogics; +using MotorPlantFileImplement.Implements; -namespace MotorPlantView +namespace MotorPlantView.Forms { internal static class Program { @@ -38,9 +37,11 @@ namespace MotorPlantView services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); + services.AddTransient(); services.AddTransient(); services.AddTransient(); -- 2.25.1 From f6461057018d2e1041555e9be2f174407ca2c7df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=BE=D1=84=D1=8C=D1=8F=20=D0=AF=D0=BA=D0=BE=D0=B1?= =?UTF-8?q?=D1=87=D1=83=D0=BA?= Date: Sun, 14 Apr 2024 15:24:19 +0400 Subject: [PATCH 2/2] Upd2 --- .../MotorPlantView/FormMain.Designer.cs | 47 ++++++++-------- MotorPlant/MotorPlantView/FormMain.resx | 53 ++++++++++--------- 2 files changed, 54 insertions(+), 46 deletions(-) diff --git a/MotorPlant/MotorPlantView/FormMain.Designer.cs b/MotorPlant/MotorPlantView/FormMain.Designer.cs index eb3bef1..f00ef03 100644 --- a/MotorPlant/MotorPlantView/FormMain.Designer.cs +++ b/MotorPlant/MotorPlantView/FormMain.Designer.cs @@ -28,7 +28,6 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain)); toolStrip1 = new ToolStrip(); toolStripDropDownButton1 = new ToolStripDropDownButton(); КомпонентыToolStripMenuItem = new ToolStripMenuItem(); @@ -49,7 +48,7 @@ toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripDropDownButton1 }); toolStrip1.Location = new Point(0, 0); toolStrip1.Name = "toolStrip1"; - toolStrip1.Size = new Size(969, 25); + toolStrip1.Size = new Size(1107, 27); toolStrip1.TabIndex = 0; toolStrip1.Text = "toolStrip1"; // @@ -57,31 +56,31 @@ // toolStripDropDownButton1.DisplayStyle = ToolStripItemDisplayStyle.Text; toolStripDropDownButton1.DropDownItems.AddRange(new ToolStripItem[] { КомпонентыToolStripMenuItem, ДвигателиToolStripMenuItem }); - toolStripDropDownButton1.Image = (Image)resources.GetObject("toolStripDropDownButton1.Image"); toolStripDropDownButton1.ImageTransparentColor = Color.Magenta; toolStripDropDownButton1.Name = "toolStripDropDownButton1"; - toolStripDropDownButton1.Size = new Size(88, 22); + toolStripDropDownButton1.Size = new Size(108, 24); toolStripDropDownButton1.Text = "Справочник"; // // КомпонентыToolStripMenuItem // - КомпонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem"; - КомпонентыToolStripMenuItem.Size = new Size(174, 22); + КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem"; + КомпонентыToolStripMenuItem.Size = new Size(182, 26); КомпонентыToolStripMenuItem.Text = "Компоненты"; КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click; // // ДвигателиToolStripMenuItem // ДвигателиToolStripMenuItem.Name = "ДвигателиToolStripMenuItem"; - ДвигателиToolStripMenuItem.Size = new Size(174, 22); + ДвигателиToolStripMenuItem.Size = new Size(182, 26); ДвигателиToolStripMenuItem.Text = "Двигатели"; ДвигателиToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click; // // buttonCreateOrder // - buttonCreateOrder.Location = new Point(800, 56); + buttonCreateOrder.Location = new Point(914, 75); + buttonCreateOrder.Margin = new Padding(3, 4, 3, 4); buttonCreateOrder.Name = "buttonCreateOrder"; - buttonCreateOrder.Size = new Size(141, 24); + buttonCreateOrder.Size = new Size(161, 32); buttonCreateOrder.TabIndex = 1; buttonCreateOrder.Text = "Создать заказ"; buttonCreateOrder.UseVisualStyleBackColor = true; @@ -89,9 +88,10 @@ // // buttonTakeOrderInWork // - buttonTakeOrderInWork.Location = new Point(800, 100); + buttonTakeOrderInWork.Location = new Point(914, 115); + buttonTakeOrderInWork.Margin = new Padding(3, 4, 3, 4); buttonTakeOrderInWork.Name = "buttonTakeOrderInWork"; - buttonTakeOrderInWork.Size = new Size(141, 24); + buttonTakeOrderInWork.Size = new Size(161, 48); buttonTakeOrderInWork.TabIndex = 2; buttonTakeOrderInWork.Text = "Отдать на выполнение"; buttonTakeOrderInWork.UseVisualStyleBackColor = true; @@ -99,9 +99,10 @@ // // buttonOrderReady // - buttonOrderReady.Location = new Point(800, 142); + buttonOrderReady.Location = new Point(914, 189); + buttonOrderReady.Margin = new Padding(3, 4, 3, 4); buttonOrderReady.Name = "buttonOrderReady"; - buttonOrderReady.Size = new Size(141, 24); + buttonOrderReady.Size = new Size(161, 32); buttonOrderReady.TabIndex = 3; buttonOrderReady.Text = "Заказ готов"; buttonOrderReady.UseVisualStyleBackColor = true; @@ -109,9 +110,10 @@ // // buttonIssuedOrder // - buttonIssuedOrder.Location = new Point(800, 181); + buttonIssuedOrder.Location = new Point(914, 241); + buttonIssuedOrder.Margin = new Padding(3, 4, 3, 4); buttonIssuedOrder.Name = "buttonIssuedOrder"; - buttonIssuedOrder.Size = new Size(141, 24); + buttonIssuedOrder.Size = new Size(161, 32); buttonIssuedOrder.TabIndex = 4; buttonIssuedOrder.Text = "Заказ выдан"; buttonIssuedOrder.UseVisualStyleBackColor = true; @@ -119,9 +121,10 @@ // // buttonRef // - buttonRef.Location = new Point(800, 222); + buttonRef.Location = new Point(914, 296); + buttonRef.Margin = new Padding(3, 4, 3, 4); buttonRef.Name = "buttonRef"; - buttonRef.Size = new Size(141, 24); + buttonRef.Size = new Size(161, 32); buttonRef.TabIndex = 5; buttonRef.Text = "Обновить список"; buttonRef.UseVisualStyleBackColor = true; @@ -130,20 +133,21 @@ // dataGridView // dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(0, 26); + dataGridView.Location = new Point(0, 35); + dataGridView.Margin = new Padding(3, 4, 3, 4); dataGridView.Name = "dataGridView"; dataGridView.ReadOnly = true; dataGridView.RowHeadersWidth = 51; dataGridView.RowTemplate.Height = 24; dataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; - dataGridView.Size = new Size(763, 435); + dataGridView.Size = new Size(872, 580); dataGridView.TabIndex = 6; // // FormMain // - AutoScaleDimensions = new SizeF(7F, 15F); + AutoScaleDimensions = new SizeF(8F, 20F); AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(969, 461); + ClientSize = new Size(1107, 615); Controls.Add(dataGridView); Controls.Add(buttonRef); Controls.Add(buttonIssuedOrder); @@ -151,6 +155,7 @@ Controls.Add(buttonTakeOrderInWork); Controls.Add(buttonCreateOrder); Controls.Add(toolStrip1); + Margin = new Padding(3, 4, 3, 4); Name = "FormMain"; Text = "Моторный завод"; Load += FormMain_Load; diff --git a/MotorPlant/MotorPlantView/FormMain.resx b/MotorPlant/MotorPlantView/FormMain.resx index 1af7de1..c354583 100644 --- a/MotorPlant/MotorPlantView/FormMain.resx +++ b/MotorPlant/MotorPlantView/FormMain.resx @@ -1,17 +1,17 @@  - @@ -117,4 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 17, 17 + \ No newline at end of file -- 2.25.1