diff --git a/PlumbingRepair.sln b/PlumbingRepair.sln
index b563296..db47ecd 100644
--- a/PlumbingRepair.sln
+++ b/PlumbingRepair.sln
@@ -15,11 +15,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairListImplement
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairFileImplement", "PlumpingRepairFileImplement\PlumbingRepairFileImplement.csproj", "{BA7E2CE6-7797-42C7-931C-40C48EA521C7}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairDatabaseImplement", "PlumbingRepairDatabaseImplement\PlumbingRepairDatabaseImplement.csproj", "{1E4DDF78-14D2-498B-9A17-473F156DBE11}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairRestApi", "PlumbingRepairRestApi\PlumbingRepairRestApi.csproj", "{96133F01-9E2F-4767-8CD8-811D8806E930}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlumbingRepairRestApi", "PlumbingRepairRestApi\PlumbingRepairRestApi.csproj", "{96133F01-9E2F-4767-8CD8-811D8806E930}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairClientApp", "PlumbingRepairClientApp\PlumbingRepairClientApp.csproj", "{C8A5024D-9529-452F-AAF3-9EDEEFED6758}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlumbingRepairClientApp", "PlumbingRepairClientApp\PlumbingRepairClientApp.csproj", "{C8A5024D-9529-452F-AAF3-9EDEEFED6758}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlumbingRepairDatabaseImplement", "PlumbingRepairDatabaseImplement\PlumbingRepairDatabaseImplement.csproj", "{A7874FFC-162B-4B6E-92CD-EA265B9E35F1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -51,10 +51,6 @@ Global
{BA7E2CE6-7797-42C7-931C-40C48EA521C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA7E2CE6-7797-42C7-931C-40C48EA521C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA7E2CE6-7797-42C7-931C-40C48EA521C7}.Release|Any CPU.Build.0 = Release|Any CPU
- {1E4DDF78-14D2-498B-9A17-473F156DBE11}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1E4DDF78-14D2-498B-9A17-473F156DBE11}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1E4DDF78-14D2-498B-9A17-473F156DBE11}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1E4DDF78-14D2-498B-9A17-473F156DBE11}.Release|Any CPU.Build.0 = Release|Any CPU
{96133F01-9E2F-4767-8CD8-811D8806E930}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96133F01-9E2F-4767-8CD8-811D8806E930}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96133F01-9E2F-4767-8CD8-811D8806E930}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -63,6 +59,10 @@ Global
{C8A5024D-9529-452F-AAF3-9EDEEFED6758}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C8A5024D-9529-452F-AAF3-9EDEEFED6758}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8A5024D-9529-452F-AAF3-9EDEEFED6758}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A7874FFC-162B-4B6E-92CD-EA265B9E35F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A7874FFC-162B-4B6E-92CD-EA265B9E35F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A7874FFC-162B-4B6E-92CD-EA265B9E35F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A7874FFC-162B-4B6E-92CD-EA265B9E35F1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/PlumbingRepair/App.config b/PlumbingRepair/App.config
index 3666028..70a9fd5 100644
--- a/PlumbingRepair/App.config
+++ b/PlumbingRepair/App.config
@@ -5,7 +5,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/PlumbingRepair/DataGridViewExtension.cs b/PlumbingRepair/DataGridViewExtension.cs
new file mode 100644
index 0000000..4adb482
--- /dev/null
+++ b/PlumbingRepair/DataGridViewExtension.cs
@@ -0,0 +1,53 @@
+using PlumbingRepairContracts.Attributes;
+
+namespace PlumbingRepair
+{
+ public static class DataGridViewExtension
+ {
+ public static void FillandConfigGrid(this DataGridView grid, List? data)
+ {
+ if (data == null)
+ {
+ return;
+ }
+
+ grid.DataSource = data;
+
+ var type = typeof(T);
+ var properties = type.GetProperties();
+
+ foreach (DataGridViewColumn column in grid.Columns)
+ {
+ var property = properties.FirstOrDefault(x => x.Name == column.Name);
+
+ if (property == null)
+ {
+ throw new InvalidOperationException($"В типе {type.Name} не найдено свойство с именем {column.Name}");
+ }
+
+ var attribute = property.GetCustomAttributes(typeof(ColumnAttribute), true)?.SingleOrDefault();
+
+ if (attribute == null)
+ {
+ throw new InvalidOperationException($"Не найден атрибут типа ColumnAttribute для свойства {property.Name}");
+ }
+
+ // ищем нужный нам атрибут
+ if (attribute is ColumnAttribute columnAttr)
+ {
+ column.HeaderText = columnAttr.Title;
+ column.Visible = columnAttr.Visible;
+
+ if (columnAttr.IsUseAutoSize)
+ {
+ column.AutoSizeMode = (DataGridViewAutoSizeColumnMode)Enum.Parse(typeof(DataGridViewAutoSizeColumnMode), columnAttr.GridViewAutoSize.ToString());
+ }
+ else
+ {
+ column.Width = columnAttr.Width;
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/PlumbingRepair/FormClients.cs b/PlumbingRepair/FormClients.cs
index e1ce341..b733869 100644
--- a/PlumbingRepair/FormClients.cs
+++ b/PlumbingRepair/FormClients.cs
@@ -22,14 +22,8 @@ namespace PlumbingRepair
{
try
{
- var list = _logic.ReadList(null);
- if (list != null)
- {
- dataGridView.DataSource = list;
- dataGridView.Columns["Id"].Visible = false;
- dataGridView.Columns["ClientFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
- }
- _logger.LogInformation("Загрузка клиентов");
+ dataGridView.FillandConfigGrid(_logic.ReadList(null));
+ _logger.LogInformation("Загрузка клиентов");
}
catch (Exception ex)
{
diff --git a/PlumbingRepair/FormComponents.cs b/PlumbingRepair/FormComponents.cs
index 685ca8d..b592821 100644
--- a/PlumbingRepair/FormComponents.cs
+++ b/PlumbingRepair/FormComponents.cs
@@ -1,6 +1,8 @@
using Microsoft.Extensions.Logging;
using PlumbingRepairContracts.BindingModels;
using PlumbingRepairContracts.BusinessLogicsContracts;
+using PlumbingRepairContracts.DI;
+using System.Windows.Forms;
namespace PlumbingRepair
{
@@ -23,18 +25,10 @@ namespace PlumbingRepair
private void LoadData()
{
- try
+ try
{
- var list = _logic.ReadList(null);
-
- if (list != null)
- {
- DataGridView.DataSource = list;
- DataGridView.Columns["Id"].Visible = false;
- DataGridView.Columns["ComponentName"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
- }
-
- _logger.LogInformation("Загрузка компонентов");
+ DataGridView.FillandConfigGrid(_logic.ReadList(null));
+ _logger.LogInformation("Загрузка компонентов");
}
catch (Exception ex)
@@ -46,31 +40,24 @@ namespace PlumbingRepair
private void AddButton_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormComponent));
+ var form = DependencyManager.Instance.Resolve();
- if (service is FormComponent form)
+ if (form.ShowDialog() == DialogResult.OK)
{
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadData();
- }
+ LoadData();
}
}
private void ChangeButton_Click(object sender, EventArgs e)
{
if (DataGridView.SelectedRows.Count == 1)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormComponent));
-
- if (service is FormComponent form)
+ var form = DependencyManager.Instance.Resolve();
+ form.Id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value);
+ if (form.ShowDialog() == DialogResult.OK)
{
- form.Id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value);
-
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadData();
- }
+ LoadData();
}
+
}
}
private void DeleteButton_Click(object sender, EventArgs e)
diff --git a/PlumbingRepair/FormCreateOrder.Designer.cs b/PlumbingRepair/FormCreateOrder.Designer.cs
index 4da9736..0ed6a89 100644
--- a/PlumbingRepair/FormCreateOrder.Designer.cs
+++ b/PlumbingRepair/FormCreateOrder.Designer.cs
@@ -36,66 +36,68 @@
this.SumTextBox = new System.Windows.Forms.TextBox();
this.ButtonCancel = new System.Windows.Forms.Button();
this.SaveButton = new System.Windows.Forms.Button();
- this.label1 = new System.Windows.Forms.Label();
- this.comboBoxClient = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// WorkNameLabel
//
this.WorkNameLabel.AutoSize = true;
- this.WorkNameLabel.Location = new System.Drawing.Point(12, 9);
+ this.WorkNameLabel.Location = new System.Drawing.Point(14, 12);
this.WorkNameLabel.Name = "WorkNameLabel";
- this.WorkNameLabel.Size = new System.Drawing.Size(51, 15);
+ this.WorkNameLabel.Size = new System.Drawing.Size(75, 20);
this.WorkNameLabel.TabIndex = 0;
- this.WorkNameLabel.Text = "Работа: ";
+ this.WorkNameLabel.Text = "Изделие: ";
//
// CountLabel
//
this.CountLabel.AutoSize = true;
- this.CountLabel.Location = new System.Drawing.Point(12, 40);
+ this.CountLabel.Location = new System.Drawing.Point(14, 53);
this.CountLabel.Name = "CountLabel";
- this.CountLabel.Size = new System.Drawing.Size(78, 15);
+ this.CountLabel.Size = new System.Drawing.Size(97, 20);
this.CountLabel.TabIndex = 1;
this.CountLabel.Text = "Количество: ";
//
// SumLabel
//
this.SumLabel.AutoSize = true;
- this.SumLabel.Location = new System.Drawing.Point(12, 72);
+ this.SumLabel.Location = new System.Drawing.Point(14, 96);
this.SumLabel.Name = "SumLabel";
- this.SumLabel.Size = new System.Drawing.Size(51, 15);
+ this.SumLabel.Size = new System.Drawing.Size(62, 20);
this.SumLabel.TabIndex = 2;
this.SumLabel.Text = "Сумма: ";
//
// WorkComboBox
//
this.WorkComboBox.FormattingEnabled = true;
- this.WorkComboBox.Location = new System.Drawing.Point(93, 6);
+ this.WorkComboBox.Location = new System.Drawing.Point(106, 8);
+ this.WorkComboBox.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.WorkComboBox.Name = "WorkComboBox";
- this.WorkComboBox.Size = new System.Drawing.Size(201, 23);
+ this.WorkComboBox.Size = new System.Drawing.Size(229, 28);
this.WorkComboBox.TabIndex = 3;
this.WorkComboBox.SelectedIndexChanged += new System.EventHandler(this.WorkComboBox_SelectedIndexChanged);
//
// CountTextBox
//
- this.CountTextBox.Location = new System.Drawing.Point(93, 37);
+ this.CountTextBox.Location = new System.Drawing.Point(106, 49);
+ this.CountTextBox.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.CountTextBox.Name = "CountTextBox";
- this.CountTextBox.Size = new System.Drawing.Size(201, 23);
+ this.CountTextBox.Size = new System.Drawing.Size(229, 27);
this.CountTextBox.TabIndex = 4;
this.CountTextBox.TextChanged += new System.EventHandler(this.CountTextBox_TextChanged);
//
// SumTextBox
//
- this.SumTextBox.Location = new System.Drawing.Point(93, 69);
+ this.SumTextBox.Location = new System.Drawing.Point(106, 92);
+ this.SumTextBox.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.SumTextBox.Name = "SumTextBox";
- this.SumTextBox.Size = new System.Drawing.Size(201, 23);
+ this.SumTextBox.Size = new System.Drawing.Size(229, 27);
this.SumTextBox.TabIndex = 5;
//
// ButtonCancel
//
- this.ButtonCancel.Location = new System.Drawing.Point(222, 191);
+ this.ButtonCancel.Location = new System.Drawing.Point(250, 151);
+ this.ButtonCancel.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.ButtonCancel.Name = "ButtonCancel";
- this.ButtonCancel.Size = new System.Drawing.Size(75, 23);
+ this.ButtonCancel.Size = new System.Drawing.Size(86, 31);
this.ButtonCancel.TabIndex = 6;
this.ButtonCancel.Text = "Отменить";
this.ButtonCancel.UseVisualStyleBackColor = true;
@@ -103,38 +105,20 @@
//
// SaveButton
//
- this.SaveButton.Location = new System.Drawing.Point(130, 191);
+ this.SaveButton.Location = new System.Drawing.Point(147, 151);
+ this.SaveButton.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.SaveButton.Name = "SaveButton";
- this.SaveButton.Size = new System.Drawing.Size(85, 23);
+ this.SaveButton.Size = new System.Drawing.Size(97, 31);
this.SaveButton.TabIndex = 7;
this.SaveButton.Text = "Сохранить";
this.SaveButton.UseVisualStyleBackColor = true;
this.SaveButton.Click += new System.EventHandler(this.SaveButton_Click);
//
- // label1
- //
- this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(12, 106);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(49, 15);
- this.label1.TabIndex = 8;
- this.label1.Text = "Клиент:";
- //
- // comboBoxClient
- //
- this.comboBoxClient.FormattingEnabled = true;
- this.comboBoxClient.Location = new System.Drawing.Point(93, 106);
- this.comboBoxClient.Name = "comboBoxClient";
- this.comboBoxClient.Size = new System.Drawing.Size(201, 23);
- this.comboBoxClient.TabIndex = 9;
- //
// FormCreateOrder
//
- this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(309, 226);
- this.Controls.Add(this.comboBoxClient);
- this.Controls.Add(this.label1);
+ this.ClientSize = new System.Drawing.Size(353, 204);
this.Controls.Add(this.SaveButton);
this.Controls.Add(this.ButtonCancel);
this.Controls.Add(this.SumTextBox);
@@ -143,6 +127,7 @@
this.Controls.Add(this.SumLabel);
this.Controls.Add(this.CountLabel);
this.Controls.Add(this.WorkNameLabel);
+ this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
this.Name = "FormCreateOrder";
this.Text = "Заказ";
this.ResumeLayout(false);
@@ -160,7 +145,5 @@
private TextBox SumTextBox;
private Button ButtonCancel;
private Button SaveButton;
- private Label label1;
- private ComboBox comboBoxClient;
}
}
\ No newline at end of file
diff --git a/PlumbingRepair/FormCreateOrder.cs b/PlumbingRepair/FormCreateOrder.cs
index f663e22..fb46c74 100644
--- a/PlumbingRepair/FormCreateOrder.cs
+++ b/PlumbingRepair/FormCreateOrder.cs
@@ -10,26 +10,23 @@ namespace PlumbingRepair
private readonly ILogger _logger;
private readonly IWorkLogic _logicW;
private readonly IOrderLogic _logicO;
- private readonly IClientLogic _logicC;
- public FormCreateOrder(ILogger logger, IWorkLogic logicW, IOrderLogic logicO, IClientLogic logicC)
+ public FormCreateOrder(ILogger logger, IWorkLogic logicW, IOrderLogic logicO)
{
InitializeComponent();
_logger = logger;
_logicW = logicW;
_logicO = logicO;
- _logicC = logicC;
LoadData();
}
private void LoadData()
{
- _logger.LogInformation("Загрузка Работ для заказа");
+ _logger.LogInformation("Загрузка изделий для заказа");
try
{
var list = _logicW.ReadList(null);
- var listClients = _logicC.ReadList(null);
if (list != null)
{
WorkComboBox.DisplayMember = "WorkName";
@@ -37,18 +34,11 @@ namespace PlumbingRepair
WorkComboBox.DataSource = list;
WorkComboBox.SelectedItem = null;
}
- if(listClients != null)
- {
- comboBoxClient.DisplayMember = "ClientFIO";
- comboBoxClient.ValueMember = "Id";
- comboBoxClient.DataSource = listClients;
- comboBoxClient.SelectedItem = null;
- }
}
catch (Exception ex)
{
- _logger.LogError(ex, "Ошибка загрузки списка Работ");
+ _logger.LogError(ex, "Ошибка загрузки списка изделий");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@@ -103,12 +93,7 @@ namespace PlumbingRepair
if (WorkComboBox.SelectedValue == null)
{
- MessageBox.Show("Выберите Работа", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- return;
- }
- if (comboBoxClient.SelectedValue == null)
- {
- MessageBox.Show("Выберите заказчика", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("Выберите изделие", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
@@ -121,8 +106,7 @@ namespace PlumbingRepair
WorkId = Convert.ToInt32(WorkComboBox.SelectedValue),
WorkName = WorkComboBox.Text,
Count = Convert.ToInt32(CountTextBox.Text),
- Sum = Convert.ToDouble(SumTextBox.Text),
- ClientId = Convert.ToInt32(comboBoxClient.SelectedValue)
+ Sum = Convert.ToDouble(SumTextBox.Text)
});
if (!operationResult)
diff --git a/PlumbingRepair/FormImplementers.cs b/PlumbingRepair/FormImplementers.cs
index cd29385..b2c47a1 100644
--- a/PlumbingRepair/FormImplementers.cs
+++ b/PlumbingRepair/FormImplementers.cs
@@ -1,6 +1,7 @@
using Microsoft.Extensions.Logging;
using PlumbingRepairContracts.BindingModels;
using PlumbingRepairContracts.BusinessLogicsContracts;
+using PlumbingRepairContracts.DI;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -26,14 +27,10 @@ namespace PlumbingRepair
private void AddButton_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormImplementer));
-
- if (service is FormImplementer form)
+ var form = DependencyManager.Instance.Resolve();
+ if (form.ShowDialog() == DialogResult.OK)
{
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadData();
- }
+ LoadData();
}
}
@@ -41,14 +38,11 @@ namespace PlumbingRepair
{
if (DataGridView.SelectedRows.Count == 1)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormImplementer));
- if (service is FormImplementer form)
+ var form = DependencyManager.Instance.Resolve();
+ form.Id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value);
+ if (form.ShowDialog() == DialogResult.OK)
{
- form.Id = Convert.ToInt32(DataGridView.SelectedRows[0].Cells["Id"].Value);
- if (form.ShowDialog() == DialogResult.OK)
- {
- LoadData();
- }
+ LoadData();
}
}
}
@@ -98,14 +92,7 @@ namespace PlumbingRepair
{
try
{
- var list = _logic.ReadList(null);
-
- if (list != null)
- {
- DataGridView.DataSource = list;
- DataGridView.Columns["Id"].Visible = false;
- DataGridView.Columns["ImplementerFIO"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
- }
+ DataGridView.FillandConfigGrid(_logic.ReadList(null));
_logger.LogInformation("Загрузка исполнителей");
}
diff --git a/PlumbingRepair/FormMails.cs b/PlumbingRepair/FormMails.cs
index cf60ca0..eb9fa9b 100644
--- a/PlumbingRepair/FormMails.cs
+++ b/PlumbingRepair/FormMails.cs
@@ -20,14 +20,7 @@ namespace PlumbingRepair
{
try
{
- var list = _logic.ReadList(null);
- if (list != null)
- {
- DataGridView.DataSource = list;
- DataGridView.Columns["ClientId"].Visible = false;
- DataGridView.Columns["MessageId"].Visible = false;
- DataGridView.Columns["Body"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
- }
+ DataGridView.FillandConfigGrid(_logic.ReadList(null));
_logger.LogInformation("Загрузка писем");
}
catch (Exception ex)
diff --git a/PlumbingRepair/FormMain.Designer.cs b/PlumbingRepair/FormMain.Designer.cs
index aa2c69b..5c1eff6 100644
--- a/PlumbingRepair/FormMain.Designer.cs
+++ b/PlumbingRepair/FormMain.Designer.cs
@@ -30,7 +30,7 @@
{
MenuStrip = new MenuStrip();
СправочникиToolStripMenuItem = new ToolStripMenuItem();
- РаботыToolStripMenuItem = new ToolStripMenuItem();
+ ИзделияToolStripMenuItem = new ToolStripMenuItem();
КомпонентыToolStripMenuItem = new ToolStripMenuItem();
КлиентыToolStripMenuItem = new ToolStripMenuItem();
исполнителиToolStripMenuItem = new ToolStripMenuItem();
@@ -39,11 +39,12 @@
WorkComponentToolStripMenuItem = new ToolStripMenuItem();
OrdersToolStripMenuItem = new ToolStripMenuItem();
запускРаботToolStripMenuItem = new ToolStripMenuItem();
+ письмаToolStripMenuItem = new ToolStripMenuItem();
+ создатьБэкапToolStripMenuItem = new ToolStripMenuItem();
CreateOrderButton = new Button();
IssuedOrderButton = new Button();
UpdateListButton = new Button();
DataGridView = new DataGridView();
- почтаToolStripMenuItem = new ToolStripMenuItem();
MenuStrip.SuspendLayout();
((System.ComponentModel.ISupportInitialize)DataGridView).BeginInit();
SuspendLayout();
@@ -51,45 +52,46 @@
// MenuStrip
//
MenuStrip.ImageScalingSize = new Size(20, 20);
- MenuStrip.Items.AddRange(new ToolStripItem[] { СправочникиToolStripMenuItem, отчетыToolStripMenuItem, запускРаботToolStripMenuItem, почтаToolStripMenuItem });
+ MenuStrip.Items.AddRange(new ToolStripItem[] { СправочникиToolStripMenuItem, отчетыToolStripMenuItem, запускРаботToolStripMenuItem, письмаToolStripMenuItem, создатьБэкапToolStripMenuItem });
MenuStrip.Location = new Point(0, 0);
MenuStrip.Name = "MenuStrip";
- MenuStrip.Size = new Size(865, 24);
+ MenuStrip.Padding = new Padding(7, 3, 0, 3);
+ MenuStrip.Size = new Size(989, 30);
MenuStrip.TabIndex = 0;
MenuStrip.Text = "menuStrip1";
//
// СправочникиToolStripMenuItem
//
- СправочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { РаботыToolStripMenuItem, КомпонентыToolStripMenuItem, КлиентыToolStripMenuItem, исполнителиToolStripMenuItem });
+ СправочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ИзделияToolStripMenuItem, КомпонентыToolStripMenuItem, КлиентыToolStripMenuItem, исполнителиToolStripMenuItem });
СправочникиToolStripMenuItem.Name = "СправочникиToolStripMenuItem";
- СправочникиToolStripMenuItem.Size = new Size(94, 20);
+ СправочникиToolStripMenuItem.Size = new Size(117, 24);
СправочникиToolStripMenuItem.Text = "Cправочники";
//
- // РаботыToolStripMenuItem
+ // ИзделияToolStripMenuItem
//
- РаботыToolStripMenuItem.Name = "РаботыToolStripMenuItem";
- РаботыToolStripMenuItem.Size = new Size(149, 22);
- РаботыToolStripMenuItem.Text = "Работы";
- РаботыToolStripMenuItem.Click += РаботыToolStripMenuItem_Click;
+ ИзделияToolStripMenuItem.Name = "ИзделияToolStripMenuItem";
+ ИзделияToolStripMenuItem.Size = new Size(185, 26);
+ ИзделияToolStripMenuItem.Text = "Изделия";
+ ИзделияToolStripMenuItem.Click += ИзделияToolStripMenuItem_Click;
//
// КомпонентыToolStripMenuItem
//
КомпонентыToolStripMenuItem.Name = "КомпонентыToolStripMenuItem";
- КомпонентыToolStripMenuItem.Size = new Size(149, 22);
+ КомпонентыToolStripMenuItem.Size = new Size(185, 26);
КомпонентыToolStripMenuItem.Text = "Компоненты";
КомпонентыToolStripMenuItem.Click += КомпонентыToolStripMenuItem_Click;
//
// КлиентыToolStripMenuItem
//
КлиентыToolStripMenuItem.Name = "КлиентыToolStripMenuItem";
- КлиентыToolStripMenuItem.Size = new Size(149, 22);
+ КлиентыToolStripMenuItem.Size = new Size(185, 26);
КлиентыToolStripMenuItem.Text = "Клиенты";
КлиентыToolStripMenuItem.Click += КлиентыToolStripMenuItem_Click;
//
// исполнителиToolStripMenuItem
//
исполнителиToolStripMenuItem.Name = "исполнителиToolStripMenuItem";
- исполнителиToolStripMenuItem.Size = new Size(149, 22);
+ исполнителиToolStripMenuItem.Size = new Size(185, 26);
исполнителиToolStripMenuItem.Text = "Исполнители";
исполнителиToolStripMenuItem.Click += исполнителиToolStripMenuItem_Click;
//
@@ -97,42 +99,57 @@
//
отчетыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { WorksToolStripMenuItem, WorkComponentToolStripMenuItem, OrdersToolStripMenuItem });
отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
- отчетыToolStripMenuItem.Size = new Size(60, 20);
+ отчетыToolStripMenuItem.Size = new Size(73, 24);
отчетыToolStripMenuItem.Text = "Отчеты";
//
// WorksToolStripMenuItem
//
WorksToolStripMenuItem.Name = "WorksToolStripMenuItem";
- WorksToolStripMenuItem.Size = new Size(211, 22);
- WorksToolStripMenuItem.Text = "Список Работ";
+ WorksToolStripMenuItem.Size = new Size(273, 26);
+ WorksToolStripMenuItem.Text = "Список изделий";
WorksToolStripMenuItem.Click += WorksToolStripMenuItem_Click;
//
// WorkComponentToolStripMenuItem
//
WorkComponentToolStripMenuItem.Name = "WorkComponentToolStripMenuItem";
- WorkComponentToolStripMenuItem.Size = new Size(211, 22);
- WorkComponentToolStripMenuItem.Text = "Работы по компонентам";
+ WorkComponentToolStripMenuItem.Size = new Size(273, 26);
+ WorkComponentToolStripMenuItem.Text = "Изделия по компонентам";
WorkComponentToolStripMenuItem.Click += WorkComponentToolStripMenuItem_Click;
//
// OrdersToolStripMenuItem
//
OrdersToolStripMenuItem.Name = "OrdersToolStripMenuItem";
- OrdersToolStripMenuItem.Size = new Size(211, 22);
+ OrdersToolStripMenuItem.Size = new Size(273, 26);
OrdersToolStripMenuItem.Text = "Список заказов";
OrdersToolStripMenuItem.Click += OrdersToolStripMenuItem_Click;
//
// запускРаботToolStripMenuItem
//
запускРаботToolStripMenuItem.Name = "запускРаботToolStripMenuItem";
- запускРаботToolStripMenuItem.Size = new Size(92, 20);
+ запускРаботToolStripMenuItem.Size = new Size(114, 24);
запускРаботToolStripMenuItem.Text = "Запуск работ";
запускРаботToolStripMenuItem.Click += запускРаботToolStripMenuItem_Click;
//
+ // письмаToolStripMenuItem
+ //
+ письмаToolStripMenuItem.Name = "письмаToolStripMenuItem";
+ письмаToolStripMenuItem.Size = new Size(77, 24);
+ письмаToolStripMenuItem.Text = "Письма";
+ письмаToolStripMenuItem.Click += письмаToolStripMenuItem_Click;
+ //
+ // создатьБэкапToolStripMenuItem
+ //
+ создатьБэкапToolStripMenuItem.Name = "создатьБэкапToolStripMenuItem";
+ создатьБэкапToolStripMenuItem.Size = new Size(122, 24);
+ создатьБэкапToolStripMenuItem.Text = "Создать бэкап";
+ создатьБэкапToolStripMenuItem.Click += создатьБэкапToolStripMenuItem_Click;
+ //
// CreateOrderButton
//
- CreateOrderButton.Location = new Point(728, 28);
+ CreateOrderButton.Location = new Point(832, 37);
+ CreateOrderButton.Margin = new Padding(3, 4, 3, 4);
CreateOrderButton.Name = "CreateOrderButton";
- CreateOrderButton.Size = new Size(125, 33);
+ CreateOrderButton.Size = new Size(143, 44);
CreateOrderButton.TabIndex = 2;
CreateOrderButton.Text = "Создать заказ";
CreateOrderButton.UseVisualStyleBackColor = true;
@@ -140,9 +157,10 @@
//
// IssuedOrderButton
//
- IssuedOrderButton.Location = new Point(727, 112);
+ IssuedOrderButton.Location = new Point(831, 149);
+ IssuedOrderButton.Margin = new Padding(3, 4, 3, 4);
IssuedOrderButton.Name = "IssuedOrderButton";
- IssuedOrderButton.Size = new Size(125, 33);
+ IssuedOrderButton.Size = new Size(143, 44);
IssuedOrderButton.TabIndex = 5;
IssuedOrderButton.Text = "Заказ выдан";
IssuedOrderButton.UseVisualStyleBackColor = true;
@@ -150,9 +168,10 @@
//
// UpdateListButton
//
- UpdateListButton.Location = new Point(727, 202);
+ UpdateListButton.Location = new Point(831, 269);
+ UpdateListButton.Margin = new Padding(3, 4, 3, 4);
UpdateListButton.Name = "UpdateListButton";
- UpdateListButton.Size = new Size(125, 33);
+ UpdateListButton.Size = new Size(143, 44);
UpdateListButton.TabIndex = 6;
UpdateListButton.Text = "Обновить список";
UpdateListButton.UseVisualStyleBackColor = true;
@@ -161,31 +180,26 @@
// DataGridView
//
DataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- DataGridView.Location = new Point(0, 27);
+ DataGridView.Location = new Point(0, 36);
+ DataGridView.Margin = new Padding(3, 4, 3, 4);
DataGridView.Name = "DataGridView";
DataGridView.RowHeadersWidth = 51;
DataGridView.RowTemplate.Height = 25;
- DataGridView.Size = new Size(722, 421);
+ DataGridView.Size = new Size(825, 561);
DataGridView.TabIndex = 1;
//
- // почтаToolStripMenuItem
- //
- почтаToolStripMenuItem.Name = "почтаToolStripMenuItem";
- почтаToolStripMenuItem.Size = new Size(53, 20);
- почтаToolStripMenuItem.Text = "Почта";
- почтаToolStripMenuItem.Click += почтаToolStripMenuItem_Click;
- //
// FormMain
//
- AutoScaleDimensions = new SizeF(7F, 15F);
+ AutoScaleDimensions = new SizeF(8F, 20F);
AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(865, 450);
+ ClientSize = new Size(989, 600);
Controls.Add(UpdateListButton);
Controls.Add(IssuedOrderButton);
Controls.Add(CreateOrderButton);
Controls.Add(DataGridView);
Controls.Add(MenuStrip);
MainMenuStrip = MenuStrip;
+ Margin = new Padding(3, 4, 3, 4);
Name = "FormMain";
Text = "Ремонт сантехники";
Load += FormMain_Load;
@@ -200,7 +214,7 @@
private MenuStrip MenuStrip;
private ToolStripMenuItem СправочникиToolStripMenuItem;
- private ToolStripMenuItem РаботыToolStripMenuItem;
+ private ToolStripMenuItem ИзделияToolStripMenuItem;
private ToolStripMenuItem КомпонентыToolStripMenuItem;
private ToolStripMenuItem КлиентыToolStripMenuItem;
private Button CreateOrderButton;
@@ -213,6 +227,7 @@
private ToolStripMenuItem исполнителиToolStripMenuItem;
private ToolStripMenuItem запускРаботToolStripMenuItem;
private DataGridView DataGridView;
- private ToolStripMenuItem почтаToolStripMenuItem;
+ private ToolStripMenuItem письмаToolStripMenuItem;
+ private ToolStripMenuItem создатьБэкапToolStripMenuItem;
}
}
\ No newline at end of file
diff --git a/PlumbingRepair/FormMain.cs b/PlumbingRepair/FormMain.cs
index 2c5ab1b..7d7dd4f 100644
--- a/PlumbingRepair/FormMain.cs
+++ b/PlumbingRepair/FormMain.cs
@@ -1,9 +1,7 @@
using Microsoft.Extensions.Logging;
-using PlumbingRepairBusinessLogic.BusinessLogic;
using PlumbingRepairContracts.BindingModels;
using PlumbingRepairContracts.BusinessLogicsContracts;
-using PlumbingRepairDataModels.Enums;
-using System.Windows.Forms;
+using PlumbingRepairContracts.DI;
namespace PlumbingRepair
{
@@ -14,13 +12,15 @@ namespace PlumbingRepair
private readonly IReportLogic _reportLogic;
private readonly IWorkProcess _workProcess;
- public FormMain(ILogger logger, IWorkProcess workProcess, IOrderLogic orderLogic, IReportLogic reportLogic)
+ private readonly IBackUpLogic _backUpLogic;
+ public FormMain(ILogger logger, IBackUpLogic backUpLogic, IWorkProcess workProcess, IOrderLogic orderLogic, IReportLogic reportLogic)
{
InitializeComponent();
_logger = logger;
_orderLogic = orderLogic;
_reportLogic = reportLogic;
_workProcess = workProcess;
+ _backUpLogic = backUpLogic;
}
private void FormMain_Load(object sender, EventArgs e)
@@ -34,16 +34,7 @@ namespace PlumbingRepair
try
{
- var list = _orderLogic.ReadList(null);
-
- if (list != null)
- {
- DataGridView.DataSource = list;
- DataGridView.Columns["WorkId"].Visible = false;
- DataGridView.Columns["ClientId"].Visible = false;
- DataGridView.Columns["ImplementerId"].Visible = false;
- }
-
+ DataGridView.FillandConfigGrid(_orderLogic.ReadList(null));
_logger.LogInformation("Загрузка заказов");
}
catch (Exception ex)
@@ -55,41 +46,26 @@ namespace PlumbingRepair
private void КомпонентыToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormComponents));
-
- if (service is FormComponents form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
- private void РаботыToolStripMenuItem_Click(object sender, EventArgs e)
+ private void ИзделияToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormWorks));
-
- if (service is FormWorks form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
private void КлиентыToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormClients));
- if (service is FormClients form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
private void CreateOrderButton_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
-
- if (service is FormCreateOrder form)
- {
- form.ShowDialog();
- LoadData();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
+ LoadData();
}
private void IssuedOrderButton_Click(object sender, EventArgs e)
@@ -142,44 +118,55 @@ namespace PlumbingRepair
private void WorkComponentToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormReportWorkComponents));
- if (service is FormReportWorkComponents form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
private void OrdersToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
- if (service is FormReportOrders form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
private void запускРаботToolStripMenuItem_Click(object sender, EventArgs e)
{
- _workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic)) as IImplementerLogic)!, _orderLogic);
+ _workProcess.DoWork(DependencyManager.Instance.Resolve(), _orderLogic);
MessageBox.Show("Процесс обработки запущен", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void исполнителиToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormImplementers));
-
- if (service is FormImplementers form)
- {
- form.ShowDialog();
- }
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
}
- private void почтаToolStripMenuItem_Click(object sender, EventArgs e)
+ private void письмаToolStripMenuItem_Click(object sender, EventArgs e)
{
- var service = Program.ServiceProvider?.GetService(typeof(FormMails));
- if (service is FormMails form)
+ var form = DependencyManager.Instance.Resolve();
+ form.ShowDialog();
+ }
+
+ private void создатьБэкапToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ try
{
- form.ShowDialog();
+ if (_backUpLogic != null)
+ {
+ var fbd = new FolderBrowserDialog();
+ if (fbd.ShowDialog() == DialogResult.OK)
+ {
+ _backUpLogic.CreateBackUp(new BackUpSaveBindingModel
+ {
+ FolderName = fbd.SelectedPath
+ });
+ MessageBox.Show("Бекап создан", "Сообщение",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
diff --git a/PlumbingRepair/FormMain.resx b/PlumbingRepair/FormMain.resx
index cae68fc..a694815 100644
--- a/PlumbingRepair/FormMain.resx
+++ b/PlumbingRepair/FormMain.resx
@@ -1,64 +1,4 @@
-
-
-
+
diff --git a/PlumbingRepair/FormReportWorkComponents.Designer.cs b/PlumbingRepair/FormReportWorkComponents.Designer.cs
index 69792b9..57df7e0 100644
--- a/PlumbingRepair/FormReportWorkComponents.Designer.cs
+++ b/PlumbingRepair/FormReportWorkComponents.Designer.cs
@@ -62,7 +62,7 @@
// work
//
this.work.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
- this.work.HeaderText = "Работа";
+ this.work.HeaderText = "Изделие";
this.work.Name = "work";
//
// component
@@ -83,7 +83,7 @@
this.Controls.Add(this.dataGridView);
this.Controls.Add(this.ButtonSave);
this.Name = "FormReportWorkComponents";
- this.Text = "Работы по компонентам";
+ this.Text = "Изделия по компонентам";
this.Load += new System.EventHandler(this.FormReportWorkComponents_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
this.ResumeLayout(false);
diff --git a/PlumbingRepair/FormReportWorkComponents.cs b/PlumbingRepair/FormReportWorkComponents.cs
index 6557f22..f6ba407 100644
--- a/PlumbingRepair/FormReportWorkComponents.cs
+++ b/PlumbingRepair/FormReportWorkComponents.cs
@@ -32,13 +32,13 @@ namespace PlumbingRepair
{
FileName = dialog.FileName
});
- _logger.LogInformation("Сохранение списка Работ по компонентам");
+ _logger.LogInformation("Сохранение списка изделий по компонентам");
MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
- _logger.LogError(ex, "Ошибка сохранения списка Работ по компонентам");
+ _logger.LogError(ex, "Ошибка сохранения списка изделий по компонентам");
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
@@ -65,11 +65,11 @@ namespace PlumbingRepair
dataGridView.Rows.Add(Array.Empty