From 270ef0086eb1506a025b85176fead45b1ba3c88f Mon Sep 17 00:00:00 2001 From: Ivan_Starostin Date: Sun, 2 Jun 2024 18:01:18 +0400 Subject: [PATCH] Upload files to 'ShipyardView' --- ShipyardView/FormMain.Designer.cs | 415 +++++++++++----------- ShipyardView/FormMain.cs | 21 +- ShipyardView/FormMain.resx | 126 +++++++ ShipyardView/ImplementersForm.Designer.cs | 114 ++++++ ShipyardView/ImplementersForm.cs | 113 ++++++ 5 files changed, 581 insertions(+), 208 deletions(-) create mode 100644 ShipyardView/FormMain.resx create mode 100644 ShipyardView/ImplementersForm.Designer.cs create mode 100644 ShipyardView/ImplementersForm.cs diff --git a/ShipyardView/FormMain.Designer.cs b/ShipyardView/FormMain.Designer.cs index b03acd6..da81f74 100644 --- a/ShipyardView/FormMain.Designer.cs +++ b/ShipyardView/FormMain.Designer.cs @@ -1,215 +1,216 @@ namespace ShipyardView { - partial class FormMain - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; + partial class FormMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } - #region Windows Form Designer generated code + #region Windows Form Designer generated code - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - dataGridView = new DataGridView(); - ShipId = new DataGridViewTextBoxColumn(); - ButtonRef = new Button(); - ButtonCreateOrder = new Button(); - ButtonTakeOrderInWork = new Button(); - ButtonOrderReady = new Button(); - ButtonIssuedOrder = new Button(); - menuStrip1 = new MenuStrip(); - ReportstoolStrip = new ToolStripMenuItem(); - ComponentListToolStripMenuItem = new ToolStripMenuItem(); - ComponentsShipToolStripMenuItem = new ToolStripMenuItem(); - OrderListToolStripMenuItem = new ToolStripMenuItem(); - GuidesToolStripMenuItem = new ToolStripMenuItem(); - ShipsToolStripMenuItem = new ToolStripMenuItem(); - ComponentsToolStripMenuItem = new ToolStripMenuItem(); - ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); - menuStrip1.SuspendLayout(); - SuspendLayout(); - // - // dataGridView - // - dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; - dataGridView.Location = new Point(0, 117); - dataGridView.Name = "dataGridView"; - dataGridView.RowHeadersWidth = 51; - dataGridView.RowTemplate.Height = 29; - dataGridView.Size = new Size(1000, 387); - dataGridView.TabIndex = 0; - // - // ShipId - // - ShipId.MinimumWidth = 6; - ShipId.Name = "ShipId"; - ShipId.Width = 125; - // - // ButtonRef - // - ButtonRef.Location = new Point(1079, 429); - ButtonRef.Name = "ButtonRef"; - ButtonRef.Size = new Size(94, 34); - ButtonRef.TabIndex = 3; - ButtonRef.Text = "обновить"; - ButtonRef.UseVisualStyleBackColor = true; - ButtonRef.Click += ButtonRef_Click; - // - // ButtonCreateOrder - // - ButtonCreateOrder.Location = new Point(1027, 94); - ButtonCreateOrder.Name = "ButtonCreateOrder"; - ButtonCreateOrder.Size = new Size(146, 43); - ButtonCreateOrder.TabIndex = 5; - ButtonCreateOrder.Text = "создать"; - ButtonCreateOrder.UseVisualStyleBackColor = true; - ButtonCreateOrder.Click += ButtonCreateOrder_Click; - // - // ButtonTakeOrderInWork - // - ButtonTakeOrderInWork.Location = new Point(1027, 143); - ButtonTakeOrderInWork.Name = "ButtonTakeOrderInWork"; - ButtonTakeOrderInWork.Size = new Size(146, 47); - ButtonTakeOrderInWork.TabIndex = 6; - ButtonTakeOrderInWork.Text = "выполняется"; - ButtonTakeOrderInWork.UseVisualStyleBackColor = true; - ButtonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click; - // - // ButtonOrderReady - // - ButtonOrderReady.Location = new Point(1027, 196); - ButtonOrderReady.Name = "ButtonOrderReady"; - ButtonOrderReady.Size = new Size(146, 36); - ButtonOrderReady.TabIndex = 7; - ButtonOrderReady.Text = "заказ готов"; - ButtonOrderReady.UseVisualStyleBackColor = true; - ButtonOrderReady.Click += ButtonOrderReady_Click; - // - // ButtonIssuedOrder - // - ButtonIssuedOrder.Location = new Point(1027, 238); - ButtonIssuedOrder.Name = "ButtonIssuedOrder"; - ButtonIssuedOrder.Size = new Size(146, 35); - ButtonIssuedOrder.TabIndex = 8; - ButtonIssuedOrder.Text = "заказ отдан"; - ButtonIssuedOrder.UseVisualStyleBackColor = true; - ButtonIssuedOrder.Click += ButtonIssuedOrder_Click; - // - // menuStrip1 - // - menuStrip1.ImageScalingSize = new Size(20, 20); - menuStrip1.Items.AddRange(new ToolStripItem[] { ReportstoolStrip, GuidesToolStripMenuItem }); - menuStrip1.Location = new Point(0, 0); - menuStrip1.Name = "menuStrip1"; - menuStrip1.Size = new Size(1185, 28); - menuStrip1.TabIndex = 10; - menuStrip1.Text = "menuStrip1"; - // - // ReportstoolStrip - // - ReportstoolStrip.DropDownItems.AddRange(new ToolStripItem[] { ComponentListToolStripMenuItem, ComponentsShipToolStripMenuItem, OrderListToolStripMenuItem }); - ReportstoolStrip.Name = "ReportstoolStrip"; - ReportstoolStrip.Size = new Size(71, 24); - ReportstoolStrip.Text = "отчеты"; - // - // ComponentListToolStripMenuItem - // - ComponentListToolStripMenuItem.Name = "ComponentListToolStripMenuItem"; - ComponentListToolStripMenuItem.Size = new Size(275, 26); - ComponentListToolStripMenuItem.Text = "список кораблей"; - ComponentListToolStripMenuItem.Click += ComponentListToolStripMenuItem_Click; - // - // ComponentsShipToolStripMenuItem - // - ComponentsShipToolStripMenuItem.Name = "ComponentsShipToolStripMenuItem"; - ComponentsShipToolStripMenuItem.Size = new Size(275, 26); - ComponentsShipToolStripMenuItem.Text = "компоненты по кораблям"; - ComponentsShipToolStripMenuItem.Click += ComponentsShipToolStripMenuItem_Click; - // - // OrderListToolStripMenuItem - // - OrderListToolStripMenuItem.Name = "OrderListToolStripMenuItem"; - OrderListToolStripMenuItem.Size = new Size(275, 26); - OrderListToolStripMenuItem.Text = "список заказов"; - OrderListToolStripMenuItem.Click += OrderListToolStripMenuItem_Click; - // - // GuidesToolStripMenuItem - // - GuidesToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ShipsToolStripMenuItem, ComponentsToolStripMenuItem }); - GuidesToolStripMenuItem.Name = "GuidesToolStripMenuItem"; - GuidesToolStripMenuItem.Size = new Size(115, 24); - GuidesToolStripMenuItem.Text = "справочники"; - // - // ShipsToolStripMenuItem - // - ShipsToolStripMenuItem.Name = "ShipsToolStripMenuItem"; - ShipsToolStripMenuItem.Size = new Size(224, 26); - ShipsToolStripMenuItem.Text = "корабли"; - ShipsToolStripMenuItem.Click += ShipsToolStripMenuItem_Click; - // - // ComponentsToolStripMenuItem - // - ComponentsToolStripMenuItem.Name = "ComponentsToolStripMenuItem"; - ComponentsToolStripMenuItem.Size = new Size(224, 26); - ComponentsToolStripMenuItem.Text = "компоненты"; - ComponentsToolStripMenuItem.Click += ComponentsToolStripMenuItem_Click; - // - // FormMain - // - AutoScaleDimensions = new SizeF(8F, 20F); - AutoScaleMode = AutoScaleMode.Font; - ClientSize = new Size(1185, 516); - Controls.Add(ButtonIssuedOrder); - Controls.Add(ButtonOrderReady); - Controls.Add(ButtonTakeOrderInWork); - Controls.Add(ButtonCreateOrder); - Controls.Add(ButtonRef); - Controls.Add(menuStrip1); - Controls.Add(dataGridView); - Name = "FormMain"; - Text = "FormMain"; - Load += FormMain_Load; - ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); - menuStrip1.ResumeLayout(false); - menuStrip1.PerformLayout(); - ResumeLayout(false); - PerformLayout(); - } + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridView = new DataGridView(); + ShipId = new DataGridViewTextBoxColumn(); + ButtonRef = new Button(); + ButtonCreateOrder = new Button(); + ButtonIssuedOrder = new Button(); + menuStrip1 = new MenuStrip(); + ReportstoolStrip = new ToolStripMenuItem(); + ComponentListToolStripMenuItem = new ToolStripMenuItem(); + ComponentsShipToolStripMenuItem = new ToolStripMenuItem(); + OrderListToolStripMenuItem = new ToolStripMenuItem(); + GuidesToolStripMenuItem = new ToolStripMenuItem(); + ShipsToolStripMenuItem = new ToolStripMenuItem(); + ComponentsToolStripMenuItem = new ToolStripMenuItem(); + ClientsToolStripMenuItem = new ToolStripMenuItem(); + ImplementersToolStripMenuItem = new ToolStripMenuItem(); + StartWorkingToolStripMenuItem = new ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit(); + menuStrip1.SuspendLayout(); + SuspendLayout(); + // + // dataGridView + // + dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView.Location = new Point(0, 117); + dataGridView.Name = "dataGridView"; + dataGridView.RowHeadersWidth = 51; + dataGridView.RowTemplate.Height = 29; + dataGridView.Size = new Size(1111, 387); + dataGridView.TabIndex = 0; + // + // ShipId + // + ShipId.MinimumWidth = 6; + ShipId.Name = "ShipId"; + ShipId.Width = 125; + // + // ButtonRef + // + ButtonRef.Location = new Point(1146, 436); + ButtonRef.Name = "ButtonRef"; + ButtonRef.Size = new Size(94, 34); + ButtonRef.TabIndex = 3; + ButtonRef.Text = "обновить"; + ButtonRef.UseVisualStyleBackColor = true; + ButtonRef.Click += ButtonRef_Click; + // + // ButtonCreateOrder + // + ButtonCreateOrder.Location = new Point(1117, 179); + ButtonCreateOrder.Name = "ButtonCreateOrder"; + ButtonCreateOrder.Size = new Size(146, 43); + ButtonCreateOrder.TabIndex = 5; + ButtonCreateOrder.Text = "создать"; + ButtonCreateOrder.UseVisualStyleBackColor = true; + ButtonCreateOrder.Click += ButtonCreateOrder_Click; + // + // ButtonIssuedOrder + // + ButtonIssuedOrder.Location = new Point(1117, 238); + ButtonIssuedOrder.Name = "ButtonIssuedOrder"; + ButtonIssuedOrder.Size = new Size(146, 35); + ButtonIssuedOrder.TabIndex = 8; + ButtonIssuedOrder.Text = "заказ отдан"; + ButtonIssuedOrder.UseVisualStyleBackColor = true; + ButtonIssuedOrder.Click += ButtonIssuedOrder_Click; + // + // menuStrip1 + // + menuStrip1.ImageScalingSize = new Size(20, 20); + menuStrip1.Items.AddRange(new ToolStripItem[] { ReportstoolStrip, GuidesToolStripMenuItem, StartWorkingToolStripMenuItem }); + menuStrip1.Location = new Point(0, 0); + menuStrip1.Name = "menuStrip1"; + menuStrip1.Size = new Size(1285, 28); + menuStrip1.TabIndex = 10; + menuStrip1.Text = "menuStrip1"; + // + // ReportstoolStrip + // + ReportstoolStrip.DropDownItems.AddRange(new ToolStripItem[] { ComponentListToolStripMenuItem, ComponentsShipToolStripMenuItem, OrderListToolStripMenuItem }); + ReportstoolStrip.Name = "ReportstoolStrip"; + ReportstoolStrip.Size = new Size(71, 24); + ReportstoolStrip.Text = "отчеты"; + // + // ComponentListToolStripMenuItem + // + ComponentListToolStripMenuItem.Name = "ComponentListToolStripMenuItem"; + ComponentListToolStripMenuItem.Size = new Size(275, 26); + ComponentListToolStripMenuItem.Text = "список кораблей"; + ComponentListToolStripMenuItem.Click += ComponentListToolStripMenuItem_Click; + // + // ComponentsShipToolStripMenuItem + // + ComponentsShipToolStripMenuItem.Name = "ComponentsShipToolStripMenuItem"; + ComponentsShipToolStripMenuItem.Size = new Size(275, 26); + ComponentsShipToolStripMenuItem.Text = "компоненты по кораблям"; + ComponentsShipToolStripMenuItem.Click += ComponentsShipToolStripMenuItem_Click; + // + // OrderListToolStripMenuItem + // + OrderListToolStripMenuItem.Name = "OrderListToolStripMenuItem"; + OrderListToolStripMenuItem.Size = new Size(275, 26); + OrderListToolStripMenuItem.Text = "список заказов"; + OrderListToolStripMenuItem.Click += OrderListToolStripMenuItem_Click; + // + // GuidesToolStripMenuItem + // + GuidesToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ShipsToolStripMenuItem, ComponentsToolStripMenuItem, ClientsToolStripMenuItem, ImplementersToolStripMenuItem }); + GuidesToolStripMenuItem.Name = "GuidesToolStripMenuItem"; + GuidesToolStripMenuItem.Size = new Size(115, 24); + GuidesToolStripMenuItem.Text = "справочники"; + // + // ShipsToolStripMenuItem + // + ShipsToolStripMenuItem.Name = "ShipsToolStripMenuItem"; + ShipsToolStripMenuItem.Size = new Size(180, 26); + ShipsToolStripMenuItem.Text = "корабли"; + ShipsToolStripMenuItem.Click += ShipsToolStripMenuItem_Click; + // + // ComponentsToolStripMenuItem + // + ComponentsToolStripMenuItem.Name = "ComponentsToolStripMenuItem"; + ComponentsToolStripMenuItem.Size = new Size(180, 26); + ComponentsToolStripMenuItem.Text = "компоненты"; + ComponentsToolStripMenuItem.Click += ComponentsToolStripMenuItem_Click; + // + // ClientsToolStripMenuItem + // + ClientsToolStripMenuItem.Name = "ClientsToolStripMenuItem"; + ClientsToolStripMenuItem.Size = new Size(180, 26); + ClientsToolStripMenuItem.Text = "клиенты"; + ClientsToolStripMenuItem.Click += ClientsToolStripMenuItem_Click; + // + // ImplementersToolStripMenuItem + // + ImplementersToolStripMenuItem.Name = "ImplementersToolStripMenuItem"; + ImplementersToolStripMenuItem.Size = new Size(180, 26); + ImplementersToolStripMenuItem.Text = "работники"; + ImplementersToolStripMenuItem.Click += ImplementersToolStripMenuItem_Click; + // + // StartWorkingToolStripMenuItem + // + StartWorkingToolStripMenuItem.Name = "StartWorkingToolStripMenuItem"; + StartWorkingToolStripMenuItem.Size = new Size(113, 24); + StartWorkingToolStripMenuItem.Text = "запуск работ"; + StartWorkingToolStripMenuItem.Click += StartWorkingToolStripMenuItem_Click; + // + // FormMain + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(1285, 516); + Controls.Add(ButtonIssuedOrder); + Controls.Add(ButtonCreateOrder); + Controls.Add(ButtonRef); + Controls.Add(menuStrip1); + Controls.Add(dataGridView); + Name = "FormMain"; + Text = "FormMain"; + Load += FormMain_Load; + ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit(); + menuStrip1.ResumeLayout(false); + menuStrip1.PerformLayout(); + ResumeLayout(false); + PerformLayout(); + } - #endregion + #endregion - private DataGridView dataGridView; - private Button ButtonRef; - private Button ButtonCreateOrder; - private Button ButtonTakeOrderInWork; - private Button ButtonOrderReady; - private Button ButtonIssuedOrder; - private DataGridViewTextBoxColumn ShipId; - private MenuStrip menuStrip1; - private ToolStripMenuItem ReportstoolStrip; - private ToolStripMenuItem ComponentListToolStripMenuItem; - private ToolStripMenuItem ComponentsShipToolStripMenuItem; - private ToolStripMenuItem OrderListToolStripMenuItem; - private ToolStripMenuItem GuidesToolStripMenuItem; - private ToolStripMenuItem ShipsToolStripMenuItem; - private ToolStripMenuItem ComponentsToolStripMenuItem; - } + private DataGridView dataGridView; + private Button ButtonRef; + private Button ButtonCreateOrder; + private Button ButtonIssuedOrder; + private DataGridViewTextBoxColumn ShipId; + private MenuStrip menuStrip1; + private ToolStripMenuItem ReportstoolStrip; + private ToolStripMenuItem ComponentListToolStripMenuItem; + private ToolStripMenuItem ComponentsShipToolStripMenuItem; + private ToolStripMenuItem OrderListToolStripMenuItem; + private ToolStripMenuItem GuidesToolStripMenuItem; + private ToolStripMenuItem ShipsToolStripMenuItem; + private ToolStripMenuItem ComponentsToolStripMenuItem; + private ToolStripMenuItem ClientsToolStripMenuItem; + private ToolStripMenuItem StartWorkingToolStripMenuItem; + private ToolStripMenuItem ImplementersToolStripMenuItem; + } } \ No newline at end of file diff --git a/ShipyardView/FormMain.cs b/ShipyardView/FormMain.cs index ae120b6..819e063 100644 --- a/ShipyardView/FormMain.cs +++ b/ShipyardView/FormMain.cs @@ -13,12 +13,14 @@ namespace ShipyardView private readonly ILogger _logger; private readonly IOrderLogic _orderLogic; private readonly IReportLogic _reportLogic; - public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic) + private readonly IWorkProcess _workProcess; + public FormMain(ILogger logger, IOrderLogic orderLogic, IReportLogic reportLogic, IWorkProcess workProcess) { InitializeComponent(); _logger = logger; _orderLogic = orderLogic; _reportLogic = reportLogic; + _workProcess = workProcess; } private void FormMain_Load(object sender, EventArgs e) { @@ -36,6 +38,8 @@ namespace ShipyardView dataGridView.Columns["ShipId"].Visible = false; dataGridView.Columns["ShipName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView.Columns["ClientId"].Visible = false; + dataGridView.Columns["ImplementerFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView.Columns["ImplementerId"].Visible = false; } _logger.LogInformation("Загрузка заказов"); } @@ -206,5 +210,20 @@ namespace ShipyardView form.ShowDialog(); } } + + private void StartWorkingToolStripMenuItem_Click(object sender, EventArgs e) + { + _workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic)) as IImplementerLogic)!, _orderLogic); + MessageBox.Show("Процесс обработки запущен", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void ImplementersToolStripMenuItem_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(ImplementersForm)); + if (service is ImplementersForm form) + { + form.ShowDialog(); + } + } } } \ No newline at end of file diff --git a/ShipyardView/FormMain.resx b/ShipyardView/FormMain.resx new file mode 100644 index 0000000..b59af33 --- /dev/null +++ b/ShipyardView/FormMain.resx @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + 786, 17 + + \ No newline at end of file diff --git a/ShipyardView/ImplementersForm.Designer.cs b/ShipyardView/ImplementersForm.Designer.cs new file mode 100644 index 0000000..c293c78 --- /dev/null +++ b/ShipyardView/ImplementersForm.Designer.cs @@ -0,0 +1,114 @@ +namespace ShipyardView +{ + partial class ImplementersForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + dataGridView1 = new DataGridView(); + CreateButton = new Button(); + ChangeButton = new Button(); + DeleteButton = new Button(); + RefreshButton = new Button(); + ((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit(); + SuspendLayout(); + // + // dataGridView1 + // + dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize; + dataGridView1.Location = new Point(12, 12); + dataGridView1.Name = "dataGridView1"; + dataGridView1.RowHeadersWidth = 51; + dataGridView1.RowTemplate.Height = 29; + dataGridView1.Size = new Size(574, 433); + dataGridView1.TabIndex = 0; + // + // CreateButton + // + CreateButton.Location = new Point(647, 56); + CreateButton.Name = "CreateButton"; + CreateButton.Size = new Size(94, 36); + CreateButton.TabIndex = 1; + CreateButton.Text = "создать"; + CreateButton.UseVisualStyleBackColor = true; + CreateButton.Click += CreateButton_Click; + // + // ChangeButton + // + ChangeButton.Location = new Point(647, 119); + ChangeButton.Name = "ChangeButton"; + ChangeButton.Size = new Size(94, 42); + ChangeButton.TabIndex = 2; + ChangeButton.Text = "изменить"; + ChangeButton.UseVisualStyleBackColor = true; + ChangeButton.Click += ChangeButton_Click; + // + // DeleteButton + // + DeleteButton.Location = new Point(647, 196); + DeleteButton.Name = "DeleteButton"; + DeleteButton.Size = new Size(94, 43); + DeleteButton.TabIndex = 3; + DeleteButton.Text = "удалить"; + DeleteButton.UseVisualStyleBackColor = true; + DeleteButton.Click += DeleteButton_Click; + // + // RefreshButton + // + RefreshButton.Location = new Point(647, 303); + RefreshButton.Name = "RefreshButton"; + RefreshButton.Size = new Size(94, 38); + RefreshButton.TabIndex = 4; + RefreshButton.Text = "обновить"; + RefreshButton.UseVisualStyleBackColor = true; + RefreshButton.Click += RefreshButton_Click; + // + // ImplementersForm + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(800, 450); + Controls.Add(RefreshButton); + Controls.Add(DeleteButton); + Controls.Add(ChangeButton); + Controls.Add(CreateButton); + Controls.Add(dataGridView1); + Name = "ImplementersForm"; + Text = "ImplementersForm"; + Load += ImplementersForm_Load; + ((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit(); + ResumeLayout(false); + } + + #endregion + + private DataGridView dataGridView1; + private Button CreateButton; + private Button ChangeButton; + private Button DeleteButton; + private Button RefreshButton; + } +} \ No newline at end of file diff --git a/ShipyardView/ImplementersForm.cs b/ShipyardView/ImplementersForm.cs new file mode 100644 index 0000000..3ce5b5f --- /dev/null +++ b/ShipyardView/ImplementersForm.cs @@ -0,0 +1,113 @@ +using Microsoft.Extensions.Logging; +using ShipyardContracts.BindingModels; +using ShipyardContracts.BusinessLogicContracts; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace ShipyardView +{ + public partial class ImplementersForm : Form + { + private readonly ILogger _logger; + private readonly IImplementerLogic _logic; + public ImplementersForm(ILogger logger, IImplementerLogic logic) + { + InitializeComponent(); + _logger = logger; + _logic = logic; + } + private void ImplementersForm_Load(object sender, EventArgs e) + { + LoadData(); + } + private void LoadData() + { + try + { + var list = _logic.ReadList(null); + if (list != null) + { + dataGridView1.DataSource = list; + dataGridView1.Columns["Id"].Visible = false; + dataGridView1.Columns["ImplementerFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView1.Columns["Password"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView1.Columns["Qualification"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + dataGridView1.Columns["WorkExperience"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; + } + _logger.LogInformation("Загрузка компонентов"); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка загрузки исполнителей"); + MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + private void CreateButton_Click(object sender, EventArgs e) + { + var service = Program.ServiceProvider?.GetService(typeof(ImplementerForm)); + if (service is ImplementerForm form) + { + if (form.ShowDialog() == DialogResult.OK) + { + LoadData(); + } + } + } + private void ChangeButton_Click(object sender, EventArgs e) + { + if (dataGridView1.SelectedRows.Count == 1) + { + var service = + Program.ServiceProvider?.GetService(typeof(ImplementerForm)); + if (service is ImplementerForm form) + { + form.Id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["Id"].Value); + if (form.ShowDialog() == DialogResult.OK) + { + LoadData(); + } + } + } + } + private void DeleteButton_Click(object sender, EventArgs e) + { + if (dataGridView1.SelectedRows.Count == 1) + { + if (MessageBox.Show("Удалить запись?", "Вопрос", + MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) + { + int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells["Id"].Value); + _logger.LogInformation("Удаление компонента"); + try + { + if (!_logic.Delete(new ImplementerBindingModel + { + Id = id + })) + { + throw new Exception("Ошибка при удалении. Дополнительная информация в логах."); + } + LoadData(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Ошибка удаления исполнителя"); + MessageBox.Show(ex.Message, "Ошибка", + MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + } + private void RefreshButton_Click(object sender, EventArgs e) + { + LoadData(); + } + } +}