diff --git a/CarRepairShop/CarRepairShop/FormMain.Designer.cs b/CarRepairShop/CarRepairShop/FormMain.Designer.cs
index b9b08d0..0db7e0a 100644
--- a/CarRepairShop/CarRepairShop/FormMain.Designer.cs
+++ b/CarRepairShop/CarRepairShop/FormMain.Designer.cs
@@ -22,230 +22,6 @@
#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()
- {
- menuStrip = new MenuStrip();
- справочникиToolStripMenuItem = new ToolStripMenuItem();
- компонентыToolStripMenuItem = new ToolStripMenuItem();
- ремонтToolStripMenuItem = new ToolStripMenuItem();
- клиентыToolStripMenuItem = new ToolStripMenuItem();
- магазиныToolStripMenuItem = new ToolStripMenuItem();
- поставкиToolStripMenuItem = new ToolStripMenuItem();
- продажиToolStripMenuItem = new ToolStripMenuItem();
- отчётыToolStripMenuItem = new ToolStripMenuItem();
- списокКомпонентовToolStripMenuItem = new ToolStripMenuItem();
- компонентыПоРемонтуToolStripMenuItem = new ToolStripMenuItem();
- списокЗаказовToolStripMenuItem = new ToolStripMenuItem();
- списокМагазиновToolStripMenuItem = new ToolStripMenuItem();
- ремонтПоМагазинамToolStripMenuItem = new ToolStripMenuItem();
- заказыПоДатамToolStripMenuItem = new ToolStripMenuItem();
- dataGridView = new DataGridView();
- buttonCreateOrder = new Button();
- buttonTakeOrderInWork = new Button();
- buttonOrderReady = new Button();
- buttonIssuedOrder = new Button();
- buttonRefresh = new Button();
- menuStrip.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)dataGridView).BeginInit();
- SuspendLayout();
- //
- // menuStrip
- //
- menuStrip.ImageScalingSize = new Size(20, 20);
- menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчётыToolStripMenuItem });
- menuStrip.Location = new Point(0, 0);
- menuStrip.Name = "menuStrip";
- menuStrip.Size = new Size(1286, 28);
- menuStrip.TabIndex = 0;
- menuStrip.Text = "Меню справочников";
- //
- // справочникиToolStripMenuItem
- //
- справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, ремонтToolStripMenuItem, клиентыToolStripMenuItem, магазиныToolStripMenuItem, поставкиToolStripMenuItem, продажиToolStripMenuItem });
- справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
- справочникиToolStripMenuItem.Size = new Size(117, 24);
- справочникиToolStripMenuItem.Text = "Справочники";
- //
- // компонентыToolStripMenuItem
- //
- компонентыToolStripMenuItem.Name = "компонентыToolStripMenuItem";
- компонентыToolStripMenuItem.Size = new Size(224, 26);
- компонентыToolStripMenuItem.Text = "Компоненты";
- компонентыToolStripMenuItem.Click += ComponentsToolStripMenuItem_Click;
- //
- // ремонтToolStripMenuItem
- //
- ремонтToolStripMenuItem.Name = "ремонтToolStripMenuItem";
- ремонтToolStripMenuItem.Size = new Size(224, 26);
- ремонтToolStripMenuItem.Text = "Ремонт";
- ремонтToolStripMenuItem.Click += RepairToolStripMenuItem_Click;
- //
- // клиентыToolStripMenuItem
- //
- клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem";
- клиентыToolStripMenuItem.Size = new Size(182, 26);
- клиентыToolStripMenuItem.Text = "Клиенты";
- клиентыToolStripMenuItem.Click += ClientsToolStripMenuItem_Click;
- //
- // магазиныToolStripMenuItem
- //
- магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem";
- магазиныToolStripMenuItem.Size = new Size(224, 26);
- магазиныToolStripMenuItem.Text = "Магазины";
- магазиныToolStripMenuItem.Click += ShopsToolStripMenuItem_Click;
- //
- // поставкиToolStripMenuItem
- //
- поставкиToolStripMenuItem.Name = "поставкиToolStripMenuItem";
- поставкиToolStripMenuItem.Size = new Size(224, 26);
- поставкиToolStripMenuItem.Text = "Поставки";
- поставкиToolStripMenuItem.Click += SupplyToolStripMenuItem_Click;
- //
- // продажиToolStripMenuItem
- //
- продажиToolStripMenuItem.Name = "продажиToolStripMenuItem";
- продажиToolStripMenuItem.Size = new Size(224, 26);
- продажиToolStripMenuItem.Text = "Продажи";
- продажиToolStripMenuItem.Click += SellToolStripMenuItem_Click;
- //
- // отчётыToolStripMenuItem
- //
- отчётыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокКомпонентовToolStripMenuItem, компонентыПоРемонтуToolStripMenuItem, списокЗаказовToolStripMenuItem, списокМагазиновToolStripMenuItem, ремонтПоМагазинамToolStripMenuItem, заказыПоДатамToolStripMenuItem });
- отчётыToolStripMenuItem.Name = "отчётыToolStripMenuItem";
- отчётыToolStripMenuItem.Size = new Size(73, 24);
- отчётыToolStripMenuItem.Text = "Отчёты";
- //
- // списокКомпонентовToolStripMenuItem
- //
- списокКомпонентовToolStripMenuItem.Name = "списокКомпонентовToolStripMenuItem";
- списокКомпонентовToolStripMenuItem.Size = new Size(267, 26);
- списокКомпонентовToolStripMenuItem.Text = "Список компонентов";
- списокКомпонентовToolStripMenuItem.Click += ListComponentToolStripMenuItem_Click;
- //
- // компонентыПоРемонтуToolStripMenuItem
- //
- компонентыПоРемонтуToolStripMenuItem.Name = "компонентыПоРемонтуToolStripMenuItem";
- компонентыПоРемонтуToolStripMenuItem.Size = new Size(267, 26);
- компонентыПоРемонтуToolStripMenuItem.Text = "Компоненты по ремонту";
- компонентыПоРемонтуToolStripMenuItem.Click += RepairComponentToolStripMenuItem_Click;
- //
- // списокЗаказовToolStripMenuItem
- //
- списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
- списокЗаказовToolStripMenuItem.Size = new Size(267, 26);
- списокЗаказовToolStripMenuItem.Text = "Список заказов";
- списокЗаказовToolStripMenuItem.Click += ListOrderToolStripMenuItem_Click;
- //
- // списокМагазиновToolStripMenuItem
- //
- списокМагазиновToolStripMenuItem.Name = "списокМагазиновToolStripMenuItem";
- списокМагазиновToolStripMenuItem.Size = new Size(305, 26);
- списокМагазиновToolStripMenuItem.Text = "Список магазинов";
- списокМагазиновToolStripMenuItem.Click += ListShopsToolStripMenuItem_Click;
- //
- // ремонтПоМагазинамToolStripMenuItem
- //
- ремонтПоМагазинамToolStripMenuItem.Name = "ремонтПоМагазинамToolStripMenuItem";
- ремонтПоМагазинамToolStripMenuItem.Size = new Size(305, 26);
- ремонтПоМагазинамToolStripMenuItem.Text = "Ремонт по магазинам";
- ремонтПоМагазинамToolStripMenuItem.Click += RepairShopsToolStripMenuItem_Click;
- //
- // заказыПоДатамToolStripMenuItem
- //
- заказыПоДатамToolStripMenuItem.Name = "заказыПоДатамToolStripMenuItem";
- заказыПоДатамToolStripMenuItem.Size = new Size(305, 26);
- заказыПоДатамToolStripMenuItem.Text = "Заказы по датам";
- заказыПоДатамToolStripMenuItem.Click += OrdersByDateToolStripMenuItem_Click;
- //
- // dataGridView
- //
- dataGridView.AllowUserToAddRows = false;
- dataGridView.BackgroundColor = Color.White;
- dataGridView.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
- dataGridView.Location = new Point(0, 31);
- dataGridView.Name = "dataGridView";
- dataGridView.RowHeadersWidth = 51;
- dataGridView.RowTemplate.Height = 29;
- dataGridView.Size = new Size(1004, 368);
- dataGridView.TabIndex = 1;
- //
- // buttonCreateOrder
- //
- buttonCreateOrder.Location = new Point(1042, 65);
- buttonCreateOrder.Name = "buttonCreateOrder";
- buttonCreateOrder.Size = new Size(212, 29);
- buttonCreateOrder.TabIndex = 2;
- buttonCreateOrder.Text = "Создать заказ";
- buttonCreateOrder.UseVisualStyleBackColor = true;
- buttonCreateOrder.Click += ButtonCreateOrder_Click;
- //
- // buttonTakeOrderInWork
- //
- buttonTakeOrderInWork.Location = new Point(1042, 125);
- buttonTakeOrderInWork.Name = "buttonTakeOrderInWork";
- buttonTakeOrderInWork.Size = new Size(212, 29);
- buttonTakeOrderInWork.TabIndex = 3;
- buttonTakeOrderInWork.Text = "Отдать на выполнение";
- buttonTakeOrderInWork.UseVisualStyleBackColor = true;
- buttonTakeOrderInWork.Click += ButtonTakeOrderInWork_Click;
- //
- // buttonOrderReady
- //
- buttonOrderReady.Location = new Point(1042, 190);
- buttonOrderReady.Name = "buttonOrderReady";
- buttonOrderReady.Size = new Size(212, 29);
- buttonOrderReady.TabIndex = 4;
- buttonOrderReady.Text = "Заказ готов";
- buttonOrderReady.UseVisualStyleBackColor = true;
- buttonOrderReady.Click += ButtonOrderReady_Click;
- //
- // buttonIssuedOrder
- //
- buttonIssuedOrder.Location = new Point(1042, 259);
- buttonIssuedOrder.Name = "buttonIssuedOrder";
- buttonIssuedOrder.Size = new Size(212, 29);
- buttonIssuedOrder.TabIndex = 5;
- buttonIssuedOrder.Text = "Заказ выдан";
- buttonIssuedOrder.UseVisualStyleBackColor = true;
- buttonIssuedOrder.Click += ButtonIssuedOrder_Click;
- //
- // buttonRefresh
- //
- buttonRefresh.Location = new Point(1042, 324);
- buttonRefresh.Name = "buttonRefresh";
- buttonRefresh.Size = new Size(212, 29);
- buttonRefresh.TabIndex = 6;
- buttonRefresh.Text = "Обновить список";
- buttonRefresh.UseVisualStyleBackColor = true;
- buttonRefresh.Click += ButtonRef_Click;
- //
- // FormMain
- //
- AutoScaleDimensions = new SizeF(8F, 20F);
- AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(1286, 403);
- Controls.Add(buttonRefresh);
- Controls.Add(buttonIssuedOrder);
- Controls.Add(buttonOrderReady);
- Controls.Add(buttonTakeOrderInWork);
- Controls.Add(buttonCreateOrder);
- Controls.Add(dataGridView);
- Controls.Add(menuStrip);
- MainMenuStrip = menuStrip;
- Name = "FormMain";
- StartPosition = FormStartPosition.CenterScreen;
- Text = "Автомастерская";
- Load += FormMain_Load;
- menuStrip.ResumeLayout(false);
- menuStrip.PerformLayout();
- ((System.ComponentModel.ISupportInitialize)dataGridView).EndInit();
- ResumeLayout(false);
- PerformLayout();
- }
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
@@ -257,12 +33,18 @@
компонентыToolStripMenuItem = new ToolStripMenuItem();
ремонтToolStripMenuItem = new ToolStripMenuItem();
клиентыToolStripMenuItem = new ToolStripMenuItem();
+ магазиныToolStripMenuItem = new ToolStripMenuItem();
+ поставкиToolStripMenuItem = new ToolStripMenuItem();
+ продажиToolStripMenuItem = new ToolStripMenuItem();
исполнителиToolStripMenuItem = new ToolStripMenuItem();
отчётыToolStripMenuItem = new ToolStripMenuItem();
+ списокМагазиновToolStripMenuItem = new ToolStripMenuItem();
+ ремонтПоМагазинамToolStripMenuItem = new ToolStripMenuItem();
+ заказыПоДатамToolStripMenuItem = new ToolStripMenuItem();
списокКомпонентовToolStripMenuItem = new ToolStripMenuItem();
компонентыПоРемонтуToolStripMenuItem = new ToolStripMenuItem();
списокЗаказовToolStripMenuItem = new ToolStripMenuItem();
- запускРаботToolStripMenuItem1 = new ToolStripMenuItem();
+ запускРаботToolStripMenuItem = new ToolStripMenuItem();
dataGridView = new DataGridView();
buttonCreateOrder = new Button();
buttonTakeOrderInWork = new Button();
@@ -276,7 +58,7 @@
// menuStrip
//
menuStrip.ImageScalingSize = new Size(20, 20);
- menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчётыToolStripMenuItem, запускРаботToolStripMenuItem1 });
+ menuStrip.Items.AddRange(new ToolStripItem[] { справочникиToolStripMenuItem, отчётыToolStripMenuItem, запускРаботToolStripMenuItem });
menuStrip.Location = new Point(0, 0);
menuStrip.Name = "menuStrip";
menuStrip.Size = new Size(1542, 28);
@@ -285,7 +67,7 @@
//
// справочникиToolStripMenuItem
//
- справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, ремонтToolStripMenuItem, клиентыToolStripMenuItem, исполнителиToolStripMenuItem });
+ справочникиToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { компонентыToolStripMenuItem, ремонтToolStripMenuItem, клиентыToolStripMenuItem, магазиныToolStripMenuItem, поставкиToolStripMenuItem, продажиToolStripMenuItem, исполнителиToolStripMenuItem });
справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
справочникиToolStripMenuItem.Size = new Size(117, 24);
справочникиToolStripMenuItem.Text = "Справочники";
@@ -311,6 +93,27 @@
клиентыToolStripMenuItem.Text = "Клиенты";
клиентыToolStripMenuItem.Click += ClientsToolStripMenuItem_Click;
//
+ // магазиныToolStripMenuItem
+ //
+ магазиныToolStripMenuItem.Name = "магазиныToolStripMenuItem";
+ магазиныToolStripMenuItem.Size = new Size(224, 26);
+ магазиныToolStripMenuItem.Text = "Магазины";
+ магазиныToolStripMenuItem.Click += ShopsToolStripMenuItem_Click;
+ //
+ // поставкиToolStripMenuItem
+ //
+ поставкиToolStripMenuItem.Name = "поставкиToolStripMenuItem";
+ поставкиToolStripMenuItem.Size = new Size(224, 26);
+ поставкиToolStripMenuItem.Text = "Поставки";
+ поставкиToolStripMenuItem.Click += SupplyToolStripMenuItem_Click;
+ //
+ // продажиToolStripMenuItem
+ //
+ продажиToolStripMenuItem.Name = "продажиToolStripMenuItem";
+ продажиToolStripMenuItem.Size = new Size(224, 26);
+ продажиToolStripMenuItem.Text = "Продажи";
+ продажиToolStripMenuItem.Click += SellToolStripMenuItem_Click;
+ //
// исполнителиToolStripMenuItem
//
исполнителиToolStripMenuItem.Name = "исполнителиToolStripMenuItem";
@@ -320,11 +123,32 @@
//
// отчётыToolStripMenuItem
//
- отчётыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокКомпонентовToolStripMenuItem, компонентыПоРемонтуToolStripMenuItem, списокЗаказовToolStripMenuItem });
+ отчётыToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { списокМагазиновToolStripMenuItem, ремонтПоМагазинамToolStripMenuItem, заказыПоДатамToolStripMenuItem, списокКомпонентовToolStripMenuItem, компонентыПоРемонтуToolStripMenuItem, списокЗаказовToolStripMenuItem });
отчётыToolStripMenuItem.Name = "отчётыToolStripMenuItem";
отчётыToolStripMenuItem.Size = new Size(73, 24);
отчётыToolStripMenuItem.Text = "Отчёты";
//
+ // списокМагазиновToolStripMenuItem
+ //
+ списокМагазиновToolStripMenuItem.Name = "списокМагазиновToolStripMenuItem";
+ списокМагазиновToolStripMenuItem.Size = new Size(267, 26);
+ списокМагазиновToolStripMenuItem.Text = "Список магазинов";
+ списокМагазиновToolStripMenuItem.Click += ListShopsToolStripMenuItem_Click;
+ //
+ // ремонтПоМагазинамToolStripMenuItem
+ //
+ ремонтПоМагазинамToolStripMenuItem.Name = "ремонтПоМагазинамToolStripMenuItem";
+ ремонтПоМагазинамToolStripMenuItem.Size = new Size(267, 26);
+ ремонтПоМагазинамToolStripMenuItem.Text = "Ремонт по магазинам";
+ ремонтПоМагазинамToolStripMenuItem.Click += RepairShopsToolStripMenuItem_Click;
+ //
+ // заказыПоДатамToolStripMenuItem
+ //
+ заказыПоДатамToolStripMenuItem.Name = "заказыПоДатамToolStripMenuItem";
+ заказыПоДатамToolStripMenuItem.Size = new Size(267, 26);
+ заказыПоДатамToolStripMenuItem.Text = "Заказы по датам";
+ заказыПоДатамToolStripMenuItem.Click += OrdersByDateToolStripMenuItem_Click;
+ //
// списокКомпонентовToolStripMenuItem
//
списокКомпонентовToolStripMenuItem.Name = "списокКомпонентовToolStripMenuItem";
@@ -346,12 +170,12 @@
списокЗаказовToolStripMenuItem.Text = "Список заказов";
списокЗаказовToolStripMenuItem.Click += ListOrderToolStripMenuItem_Click;
//
- // запускРаботToolStripMenuItem1
+ // запускРаботToolStripMenuItem
//
- запускРаботToolStripMenuItem1.Name = "запускРаботToolStripMenuItem1";
- запускРаботToolStripMenuItem1.Size = new Size(114, 24);
- запускРаботToolStripMenuItem1.Text = "Запуск работ";
- запускРаботToolStripMenuItem1.Click += StartingWorkToolStripMenuItem_Click;
+ запускРаботToolStripMenuItem.Name = "запускРаботToolStripMenuItem";
+ запускРаботToolStripMenuItem.Size = new Size(114, 24);
+ запускРаботToolStripMenuItem.Text = "Запуск работ";
+ запускРаботToolStripMenuItem.Click += StartingWorkToolStripMenuItem_Click;
//
// dataGridView
//
@@ -441,44 +265,29 @@
#endregion
- private MenuStrip menuStrip;
- private ToolStripMenuItem справочникиToolStripMenuItem;
- private ToolStripMenuItem компонентыToolStripMenuItem;
- private ToolStripMenuItem ремонтToolStripMenuItem;
- private ToolStripMenuItem отчётыToolStripMenuItem;
- private ToolStripMenuItem списокКомпонентовToolStripMenuItem;
- private ToolStripMenuItem компонентыПоРемонтуToolStripMenuItem;
- private ToolStripMenuItem списокЗаказовToolStripMenuItem;
- private ToolStripMenuItem магазиныToolStripMenuItem;
- private ToolStripMenuItem клиентыToolStripMenuItem;
- private ToolStripMenuItem поставкиToolStripMenuItem;
- private ToolStripMenuItem продажиToolStripMenuItem;
- private ToolStripMenuItem списокМагазиновToolStripMenuItem;
- private ToolStripMenuItem ремонтПоМагазинамToolStripMenuItem;
- private ToolStripMenuItem заказыПоДатамToolStripMenuItem;
- private DataGridView dataGridView;
- private Button buttonCreateOrder;
- private Button buttonTakeOrderInWork;
- private Button buttonOrderReady;
- private Button buttonIssuedOrder;
- private Button buttonRefresh;
- }
private MenuStrip menuStrip;
private ToolStripMenuItem справочникиToolStripMenuItem;
private ToolStripMenuItem компонентыToolStripMenuItem;
private ToolStripMenuItem ремонтToolStripMenuItem;
+ private ToolStripMenuItem отчётыToolStripMenuItem;
+ private ToolStripMenuItem списокКомпонентовToolStripMenuItem;
+ private ToolStripMenuItem компонентыПоРемонтуToolStripMenuItem;
+ private ToolStripMenuItem списокЗаказовToolStripMenuItem;
+ private ToolStripMenuItem магазиныToolStripMenuItem;
+ private ToolStripMenuItem клиентыToolStripMenuItem;
+ private ToolStripMenuItem поставкиToolStripMenuItem;
+ private ToolStripMenuItem продажиToolStripMenuItem;
+ private ToolStripMenuItem списокМагазиновToolStripMenuItem;
+ private ToolStripMenuItem ремонтПоМагазинамToolStripMenuItem;
+ private ToolStripMenuItem заказыПоДатамToolStripMenuItem;
+ private ToolStripMenuItem исполнителиToolStripMenuItem;
+ private ToolStripMenuItem запускРаботToolStripMenuItem;
private DataGridView dataGridView;
private Button buttonCreateOrder;
private Button buttonTakeOrderInWork;
private Button buttonOrderReady;
private Button buttonIssuedOrder;
private Button buttonRefresh;
- private ToolStripMenuItem отчётыToolStripMenuItem;
- private ToolStripMenuItem списокКомпонентовToolStripMenuItem;
- private ToolStripMenuItem компонентыПоРемонтуToolStripMenuItem;
- private ToolStripMenuItem списокЗаказовToolStripMenuItem;
- private ToolStripMenuItem клиентыToolStripMenuItem;
- private ToolStripMenuItem исполнителиToolStripMenuItem;
- private ToolStripMenuItem запускРаботToolStripMenuItem1;
+ private ToolStripMenuItem toolStripMenuItem2;
}
}
\ No newline at end of file
diff --git a/CarRepairShop/CarRepairShop/FormMain.cs b/CarRepairShop/CarRepairShop/FormMain.cs
index 368a59e..a4e3d67 100644
--- a/CarRepairShop/CarRepairShop/FormMain.cs
+++ b/CarRepairShop/CarRepairShop/FormMain.cs
@@ -75,186 +75,6 @@ namespace CarRepairShop
MessageBoxIcon.Information);
}
- }
- private void RepairComponentToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormReportRepairComponents));
- if (service is FormReportRepairComponents form)
- {
- form.ShowDialog();
- }
- }
- private void ListOrderToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormReportOrders));
- if (service is FormReportOrders form)
- {
- form.ShowDialog();
- }
- }
- private void ClientsToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormClients));
- if (service is FormClients form)
- {
- form.ShowDialog();
- }
- }
- private void ButtonCreateOrder_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
- if (service is FormCreateOrder form)
- {
- form.ShowDialog();
- LoadData();
- }
- }
- private OrderBindingModel CreateBindingModel(int id, bool isDone = false)
- {
- return new OrderBindingModel
- {
- Id = id,
- RepairId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["RepairId"].Value),
- ClientId = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["ClientId"].Value),
- Status = Enum.Parse(dataGridView.SelectedRows[0].Cells["Status"].Value.ToString()),
- Count = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Count"].Value),
- Sum = double.Parse(dataGridView.SelectedRows[0].Cells["Sum"].Value.ToString()),
- DateCreate = DateTime.Parse(dataGridView.SelectedRows[0].Cells["DateCreate"].Value.ToString()),
- };
- }
- private void ButtonTakeOrderInWork_Click(object sender, EventArgs e)
- {
- if (dataGridView.SelectedRows.Count == 1)
- {
- int id = Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
- _logger.LogInformation("Заказ №{id}. Меняется статус на 'В работе'", id);
- try
- {
- var operationResult = _orderLogic.TakeOrderInWork(CreateBindingModel(id));
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка передачи заказа в работу");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
- MessageBoxIcon.Error);
- }
- }
- }
- private void ButtonOrderReady_Click(object sender, EventArgs e)
- {
- if (dataGridView.SelectedRows.Count == 1)
- {
- int id =
- Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
- _logger.LogInformation("Заказ №{id}. Меняется статус на 'Готов'",
- id);
- try
- {
- var operationResult = _orderLogic.FinishOrder(CreateBindingModel(id));
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка отметки о готовности заказа");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- }
- }
- private void ButtonIssuedOrder_Click(object sender, EventArgs e)
- {
- if (dataGridView.SelectedRows.Count == 1)
- {
- int id =
- Convert.ToInt32(dataGridView.SelectedRows[0].Cells["Id"].Value);
- _logger.LogInformation("Заказ №{id}. Меняется статус на 'Выдан'",
- id);
- try
- {
- var operationResult = _orderLogic.DeliveryOrder(CreateBindingModel(id));
- if (!operationResult)
- {
- throw new Exception("Ошибка при сохранении. Дополнительная информация в логах.");
- }
- _logger.LogInformation("Заказ №{id} выдан", id);
- LoadData();
- }
- catch (Exception ex)
- {
- _logger.LogError(ex, "Ошибка отметки о выдачи заказа");
- MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK,
- MessageBoxIcon.Error);
- }
- }
- }
- private void ButtonRef_Click(object sender, EventArgs e)
- {
- LoadData();
- }
- private void SellToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormSell));
- if (service is FormSell form)
- {
- form.ShowDialog();
- }
- }
- private void ShopsToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormShops));
- if (service is FormShops form)
- {
- form.ShowDialog();
- }
- }
- private void SupplyToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormSupply));
- if (service is FormSupply form)
- {
- form.ShowDialog();
- }
- }
- private void ListShopsToolStripMenuItem_Click(object sender, EventArgs e)
- {
- using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
- if (dialog.ShowDialog() == DialogResult.OK)
- {
- _reportLogic.SaveShopsToWordFile(new ReportBindingModel
- {
- FileName = dialog.FileName
- });
- MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK,
- MessageBoxIcon.Information);
- }
- }
-
- private void RepairShopsToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormReportShopsRepairs));
- if (service is FormReportShopsRepairs form)
- {
- form.ShowDialog();
- }
- }
-
- private void OrdersByDateToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormReportDateOrders));
- if (service is FormReportDateOrders form)
- {
- form.ShowDialog();
- }
- }
- }
}
private void RepairComponentToolStripMenuItem_Click(object sender, EventArgs e)
{
@@ -280,23 +100,6 @@ namespace CarRepairShop
form.ShowDialog();
}
}
- private void ImplementersToolStripMenuItem_Click(object sender, EventArgs e)
- {
- var service = Program.ServiceProvider?.GetService(typeof(FormImplementers));
- if (service is FormImplementers form)
- {
- form.ShowDialog();
- }
- }
- private void StartingWorkToolStripMenuItem_Click(object sender, EventArgs e)
- {
-
- _workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic
- )) as IImplementerLogic)!, _orderLogic);
- MessageBox.Show("Процесс обработки запущен", "Сообщение",
- MessageBoxButtons.OK, MessageBoxIcon.Information);
-
- }
private void ButtonCreateOrder_Click(object sender, EventArgs e)
{
var service = Program.ServiceProvider?.GetService(typeof(FormCreateOrder));
@@ -396,5 +199,77 @@ namespace CarRepairShop
{
LoadData();
}
+ private void SellToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormSell));
+ if (service is FormSell form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void ShopsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormShops));
+ if (service is FormShops form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void SupplyToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormSupply));
+ if (service is FormSupply form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void ListShopsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ using var dialog = new SaveFileDialog { Filter = "docx|*.docx" };
+ if (dialog.ShowDialog() == DialogResult.OK)
+ {
+ _reportLogic.SaveShopsToWordFile(new ReportBindingModel
+ {
+ FileName = dialog.FileName
+ });
+ MessageBox.Show("Выполнено", "Успех", MessageBoxButtons.OK,
+ MessageBoxIcon.Information);
+ }
+ }
+
+ private void RepairShopsToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportShopsRepairs));
+ if (service is FormReportShopsRepairs form)
+ {
+ form.ShowDialog();
+ }
+ }
+
+ private void OrdersByDateToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormReportDateOrders));
+ if (service is FormReportDateOrders form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void ImplementersToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ var service = Program.ServiceProvider?.GetService(typeof(FormImplementers));
+ if (service is FormImplementers form)
+ {
+ form.ShowDialog();
+ }
+ }
+ private void StartingWorkToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+
+ _workProcess.DoWork((Program.ServiceProvider?.GetService(typeof(IImplementerLogic
+ )) as IImplementerLogic)!, _orderLogic);
+ MessageBox.Show("Процесс обработки запущен", "Сообщение",
+ MessageBoxButtons.OK, MessageBoxIcon.Information);
+
+ }
}
}
diff --git a/CarRepairShop/CarRepairShop/FormShop.cs b/CarRepairShop/CarRepairShop/FormShop.cs
index 6327404..1ebba07 100644
--- a/CarRepairShop/CarRepairShop/FormShop.cs
+++ b/CarRepairShop/CarRepairShop/FormShop.cs
@@ -95,7 +95,6 @@ namespace CarRepairShop
Address = textBoxAdress.Text,
DateOpen = dateTimePicker.Value.Date,
MaxCapacity = Convert.ToInt32(CapacityUpDown.Value),
- ShopRepairs = null
};
var operationResult = _id.HasValue ? _logic.Update(model) : _logic.Create(model);
if (!operationResult)
diff --git a/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/OrderLogic.cs b/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/OrderLogic.cs
index 1b2aeb4..df807e2 100644
--- a/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/OrderLogic.cs
+++ b/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/OrderLogic.cs
@@ -19,7 +19,6 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
static readonly object locker = new object();
public OrderLogic(IOrderStorage orderStorage, IShopStorage shopStorage, IShopLogic shopLogic, IRepairStorage repairStorage, ILogger logger)
- public OrderLogic(ILogger logger, IOrderStorage orderStorage)
{
_logger = logger;
_orderStorage = orderStorage;
@@ -82,23 +81,23 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
_logger.LogWarning("Read operation failed");
return false;
}
- if (element.Status != status - 1)
+ if (!(element.Status == status - 1 || element.Status == OrderStatus.Готов))
{
_logger.LogWarning("Status change operation failed");
throw new InvalidOperationException("Текущий статус заказа не может быть переведен в выбранный");
}
- if (element.Status == OrderStatus.Готов)
+ if (element.Status == OrderStatus.Готов || element.Status == OrderStatus.Ожидает)
{
- var repair = _repairStorage.GetElement(new RepairSearchModel() { Id = model.RepairId });
+ var repair = _repairStorage.GetElement(new RepairSearchModel() { Id = element.RepairId });
if (repair == null)
{
_logger.LogWarning("Status update to " + status.ToString() + " operation failed. Document not found.");
return false;
}
- if (CheckSupply(repair, model.Count) == false)
+ if (CheckSupply(repair, element.Count) == false)
{
_logger.LogWarning("Status update to " + status.ToString() + " operation failed. Shop supply error.");
- return false;
+ status = OrderStatus.Ожидает;
}
}
model.Status = status;
diff --git a/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/WorkModeling.cs b/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/WorkModeling.cs
index b02c6e7..ec4b75e 100644
--- a/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/WorkModeling.cs
+++ b/CarRepairShop/CarRepairShopBusinessLogic/BusinessLogics/WorkModeling.cs
@@ -17,8 +17,7 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
_logger = logger;
_rnd = new Random(1000);
}
- public void DoWork(IImplementerLogic implementerLogic, IOrderLogic
- orderLogic)
+ public void DoWork(IImplementerLogic implementerLogic, IOrderLogic orderLogic)
{
_orderLogic = orderLogic;
var implementers = implementerLogic.ReadList(null);
@@ -27,19 +26,21 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
_logger.LogWarning("DoWork. Implementers is null");
return;
}
- var orders = _orderLogic.ReadList(new OrderSearchModel
+ var deliveredOrders = _orderLogic.ReadList(new OrderSearchModel
{
- Status = OrderStatus.Принят
+ Status = OrderStatus.Выдан
});
- if (orders == null || orders.Count == 0)
+ var allOrders = _orderLogic.ReadList(null);
+ if (deliveredOrders == null || allOrders == null || deliveredOrders.Count == allOrders.Count)
{
_logger.LogWarning("DoWork. Orders is null or empty");
return;
}
- _logger.LogDebug("DoWork for {Count} orders", orders.Count);
+ deliveredOrders.ForEach(x => allOrders.Remove(x));
+ _logger.LogDebug("DoWork for {Count} orders", allOrders.Count);
foreach (var implementer in implementers)
{
- Task.Run(() => WorkerWorkAsync(implementer, orders));
+ Task.Run(() => WorkerWorkAsync(implementer, allOrders));
}
}
private async Task WorkerWorkAsync(ImplementerViewModel implementer,
@@ -49,6 +50,7 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
{
return;
}
+ await DeliverWaitingOrder(implementer);
await RunOrderInWork(implementer);
await Task.Run(() =>
{
@@ -68,6 +70,10 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
{
Id = order.Id
});
+ _orderLogic.DeliveryOrder(new OrderBindingModel
+ {
+ Id = order.Id
+ });
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100));
}
catch (InvalidOperationException ex)
@@ -107,6 +113,10 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
{
Id = runOrder.Id
});
+ _orderLogic.DeliveryOrder(new OrderBindingModel
+ {
+ Id = runOrder.Id
+ });
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100));
}
catch (InvalidOperationException ex)
@@ -119,5 +129,47 @@ namespace CarRepairShopBusinessLogic.BusinessLogics
throw;
}
}
+ /// Обрабатываем заказ, которые в ожидании (вдруг место освободилось)
+ private async Task DeliverWaitingOrder(ImplementerViewModel implementer)
+ {
+ if (_orderLogic == null || implementer == null)
+ {
+ return;
+ }
+ var waitingOrders = await Task.Run(() => _orderLogic.ReadList(new OrderSearchModel
+ {
+ ImplementerId = implementer.Id,
+ Status = OrderStatus.Ожидает
+ }));
+ if (waitingOrders == null || waitingOrders.Count == 0)
+ {
+ return;
+ }
+ _logger.LogInformation("DeliverWaitingOrder. Find some waitig order for implementer:{id}.Count:{count}", implementer.Id, waitingOrders.Count);
+ foreach (var waitingOrder in waitingOrders)
+ {
+ try
+ {
+ _logger.LogInformation("DeliverWaitingOrder. Trying to deliver order id:{id}", waitingOrder.Id);
+ var res = _orderLogic.DeliveryOrder(new OrderBindingModel
+ {
+ Id = waitingOrder.Id
+ });
+ }
+ catch (ArgumentException ex)
+ {
+ _logger.LogWarning(ex, "DeliverWaitingOrder. Fault");
+ }
+ catch (InvalidOperationException ex)
+ {
+ _logger.LogWarning(ex, "Error try deliver order");
+ }
+ catch (Exception ex)
+ {
+ _logger.LogError(ex, "Error while do work");
+ throw;
+ }
+ }
+ }
}
}
diff --git a/CarRepairShop/CarRepairShopDataModels/OrderStatus.cs b/CarRepairShop/CarRepairShopDataModels/OrderStatus.cs
index 76fcb27..67ed706 100644
--- a/CarRepairShop/CarRepairShopDataModels/OrderStatus.cs
+++ b/CarRepairShop/CarRepairShopDataModels/OrderStatus.cs
@@ -6,6 +6,7 @@
Принят = 0,
Выполняется = 1,
Готов = 2,
- Выдан = 3
+ Ожидает = 3,
+ Выдан = 4
}
}
\ No newline at end of file
diff --git a/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.Designer.cs b/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.Designer.cs
new file mode 100644
index 0000000..b8c8db9
--- /dev/null
+++ b/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.Designer.cs
@@ -0,0 +1,336 @@
+//
+using System;
+using CarRepairShopDatabaseImplement;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Metadata;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+
+#nullable disable
+
+namespace CarRepairShopDatabaseImplement.Migrations
+{
+ [DbContext(typeof(RepairsShopDatabase))]
+ [Migration("20240507192029_InitialCreate")]
+ partial class InitialCreate
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.16")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Client", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Clients");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Component", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ComponentName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Cost")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.ToTable("Components");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Implementer", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ImplementerFIO")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("Qualification")
+ .HasColumnType("int");
+
+ b.Property("WorkExperience")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.ToTable("Implementers");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Order", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ClientId")
+ .HasColumnType("int");
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("DateCreate")
+ .HasColumnType("datetime2");
+
+ b.Property("DateImplement")
+ .HasColumnType("datetime2");
+
+ b.Property("ImplementerId")
+ .HasColumnType("int");
+
+ b.Property("RepairId")
+ .HasColumnType("int");
+
+ b.Property("Status")
+ .HasColumnType("int");
+
+ b.Property("Sum")
+ .HasColumnType("float");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ClientId");
+
+ b.HasIndex("ImplementerId");
+
+ b.HasIndex("RepairId");
+
+ b.ToTable("Orders");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Repair", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Price")
+ .HasColumnType("float");
+
+ b.Property("RepairName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Repairs");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.RepairComponent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("ComponentId")
+ .HasColumnType("int");
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("RepairId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ComponentId");
+
+ b.HasIndex("RepairId");
+
+ b.ToTable("RepairComponents");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Shop", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.Property("DateOpen")
+ .HasColumnType("datetime2");
+
+ b.Property("MaxCapacity")
+ .HasColumnType("int");
+
+ b.Property("ShopName")
+ .IsRequired()
+ .HasColumnType("nvarchar(max)");
+
+ b.HasKey("Id");
+
+ b.ToTable("Shops");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.ShopRepair", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("int");
+
+ SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+
+ b.Property("Count")
+ .HasColumnType("int");
+
+ b.Property("RepairId")
+ .HasColumnType("int");
+
+ b.Property("ShopId")
+ .HasColumnType("int");
+
+ b.HasKey("Id");
+
+ b.HasIndex("RepairId");
+
+ b.HasIndex("ShopId");
+
+ b.ToTable("ShopRepairs");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Order", b =>
+ {
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Client", "Client")
+ .WithMany("Orders")
+ .HasForeignKey("ClientId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Implementer", "Implementer")
+ .WithMany("Orders")
+ .HasForeignKey("ImplementerId");
+
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", "Repair")
+ .WithMany("Orders")
+ .HasForeignKey("RepairId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Client");
+
+ b.Navigation("Implementer");
+
+ b.Navigation("Repair");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.RepairComponent", b =>
+ {
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Component", "Component")
+ .WithMany("RepairComponents")
+ .HasForeignKey("ComponentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", "Repair")
+ .WithMany("Components")
+ .HasForeignKey("RepairId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Component");
+
+ b.Navigation("Repair");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.ShopRepair", b =>
+ {
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Repair", "Repair")
+ .WithMany("ShopRepairs")
+ .HasForeignKey("RepairId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("CarRepairShopDatabaseImplement.Models.Shop", "Shop")
+ .WithMany("Repairs")
+ .HasForeignKey("ShopId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Repair");
+
+ b.Navigation("Shop");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Client", b =>
+ {
+ b.Navigation("Orders");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Component", b =>
+ {
+ b.Navigation("RepairComponents");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Implementer", b =>
+ {
+ b.Navigation("Orders");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Repair", b =>
+ {
+ b.Navigation("Components");
+
+ b.Navigation("Orders");
+
+ b.Navigation("ShopRepairs");
+ });
+
+ modelBuilder.Entity("CarRepairShopDatabaseImplement.Models.Shop", b =>
+ {
+ b.Navigation("Repairs");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.cs b/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.cs
new file mode 100644
index 0000000..a45461f
--- /dev/null
+++ b/CarRepairShop/CarRepairShopDatabaseImplement/Migrations/20240507192029_InitialCreate.cs
@@ -0,0 +1,244 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace CarRepairShopDatabaseImplement.Migrations
+{
+ ///
+ public partial class InitialCreate : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "Clients",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ClientFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Email = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Clients", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Components",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ComponentName = table.Column(type: "nvarchar(max)", nullable: false),
+ Cost = table.Column(type: "float", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Components", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Implementers",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ImplementerFIO = table.Column(type: "nvarchar(max)", nullable: false),
+ Password = table.Column(type: "nvarchar(max)", nullable: false),
+ Qualification = table.Column(type: "int", nullable: false),
+ WorkExperience = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Implementers", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Repairs",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ RepairName = table.Column(type: "nvarchar(max)", nullable: false),
+ Price = table.Column(type: "float", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Repairs", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Shops",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ ShopName = table.Column(type: "nvarchar(max)", nullable: false),
+ Address = table.Column(type: "nvarchar(max)", nullable: false),
+ DateOpen = table.Column(type: "datetime2", nullable: false),
+ MaxCapacity = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Shops", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Orders",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ Count = table.Column(type: "int", nullable: false),
+ Sum = table.Column(type: "float", nullable: false),
+ Status = table.Column(type: "int", nullable: false),
+ DateCreate = table.Column(type: "datetime2", nullable: false),
+ DateImplement = table.Column(type: "datetime2", nullable: true),
+ RepairId = table.Column(type: "int", nullable: false),
+ ClientId = table.Column(type: "int", nullable: false),
+ ImplementerId = table.Column(type: "int", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Orders", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Orders_Clients_ClientId",
+ column: x => x.ClientId,
+ principalTable: "Clients",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_Orders_Implementers_ImplementerId",
+ column: x => x.ImplementerId,
+ principalTable: "Implementers",
+ principalColumn: "Id");
+ table.ForeignKey(
+ name: "FK_Orders_Repairs_RepairId",
+ column: x => x.RepairId,
+ principalTable: "Repairs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "RepairComponents",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ RepairId = table.Column(type: "int", nullable: false),
+ ComponentId = table.Column(type: "int", nullable: false),
+ Count = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_RepairComponents", x => x.Id);
+ table.ForeignKey(
+ name: "FK_RepairComponents_Components_ComponentId",
+ column: x => x.ComponentId,
+ principalTable: "Components",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_RepairComponents_Repairs_RepairId",
+ column: x => x.RepairId,
+ principalTable: "Repairs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ShopRepairs",
+ columns: table => new
+ {
+ Id = table.Column(type: "int", nullable: false)
+ .Annotation("SqlServer:Identity", "1, 1"),
+ RepairId = table.Column(type: "int", nullable: false),
+ ShopId = table.Column(type: "int", nullable: false),
+ Count = table.Column(type: "int", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ShopRepairs", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ShopRepairs_Repairs_RepairId",
+ column: x => x.RepairId,
+ principalTable: "Repairs",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_ShopRepairs_Shops_ShopId",
+ column: x => x.ShopId,
+ principalTable: "Shops",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Orders_ClientId",
+ table: "Orders",
+ column: "ClientId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Orders_ImplementerId",
+ table: "Orders",
+ column: "ImplementerId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Orders_RepairId",
+ table: "Orders",
+ column: "RepairId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_RepairComponents_ComponentId",
+ table: "RepairComponents",
+ column: "ComponentId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_RepairComponents_RepairId",
+ table: "RepairComponents",
+ column: "RepairId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ShopRepairs_RepairId",
+ table: "ShopRepairs",
+ column: "RepairId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ShopRepairs_ShopId",
+ table: "ShopRepairs",
+ column: "ShopId");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "Orders");
+
+ migrationBuilder.DropTable(
+ name: "RepairComponents");
+
+ migrationBuilder.DropTable(
+ name: "ShopRepairs");
+
+ migrationBuilder.DropTable(
+ name: "Clients");
+
+ migrationBuilder.DropTable(
+ name: "Implementers");
+
+ migrationBuilder.DropTable(
+ name: "Components");
+
+ migrationBuilder.DropTable(
+ name: "Repairs");
+
+ migrationBuilder.DropTable(
+ name: "Shops");
+ }
+ }
+}