LabWork06_Base: Лабораторная сдана, фиксы

This commit is contained in:
Safgerd 2023-04-10 10:11:26 +04:00
parent 909566bb8d
commit cb29ffb24c
2 changed files with 176 additions and 199 deletions

View File

@ -28,198 +28,174 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.menuStrip = new System.Windows.Forms.MenuStrip(); this.menuStrip = new System.Windows.Forms.MenuStrip();
this.справочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.справочникиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.компонентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.компонентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.автомобилиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.автомобилиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.клиентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.клиентыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.исполнителиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.исполнителиToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.запускРаботToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.отчетыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.отчетыToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.списокАвтомобилейToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокАвтомобилейToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.компонентыПоАвтомобилямToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.компонентыПоАвтомобилямToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.списокЗаказовToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.списокЗаказовToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.запускРаботToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.dataGridView = new System.Windows.Forms.DataGridView(); this.dataGridView = new System.Windows.Forms.DataGridView();
this.buttonCreateOrder = new System.Windows.Forms.Button(); this.buttonCreateOrder = new System.Windows.Forms.Button();
this.buttonSetToWork = new System.Windows.Forms.Button(); this.buttonSetToFinish = new System.Windows.Forms.Button();
this.buttonSetToDone = new System.Windows.Forms.Button(); this.buttonUpdate = new System.Windows.Forms.Button();
this.buttonSetToFinish = new System.Windows.Forms.Button(); this.menuStrip.SuspendLayout();
this.buttonUpdate = new System.Windows.Forms.Button(); ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit();
this.menuStrip.SuspendLayout(); this.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).BeginInit(); //
this.SuspendLayout(); // menuStrip
// //
// menuStrip this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20);
// this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuStrip.ImageScalingSize = new System.Drawing.Size(20, 20);
this.menuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.справочникиToolStripMenuItem, this.справочникиToolStripMenuItem,
this.отчетыToolStripMenuItem, this.отчетыToolStripMenuItem,
this.запускРаботToolStripMenuItem}); this.запускРаботToolStripMenuItem});
this.menuStrip.Location = new System.Drawing.Point(0, 0); this.menuStrip.Location = new System.Drawing.Point(0, 0);
this.menuStrip.Name = "menuStrip"; this.menuStrip.Name = "menuStrip";
this.menuStrip.Size = new System.Drawing.Size(1436, 28); this.menuStrip.Size = new System.Drawing.Size(1436, 28);
this.menuStrip.TabIndex = 0; this.menuStrip.TabIndex = 0;
this.menuStrip.Text = "Справочники"; this.menuStrip.Text = "Справочники";
// //
// справочникиToolStripMenuItem // справочникиToolStripMenuItem
// //
this.справочникиToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.справочникиToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.компонентыToolStripMenuItem, this.компонентыToolStripMenuItem,
this.автомобилиToolStripMenuItem, this.автомобилиToolStripMenuItem,
this.клиентыToolStripMenuItem, this.клиентыToolStripMenuItem,
this.исполнителиToolStripMenuItem}); this.исполнителиToolStripMenuItem});
this.справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem"; this.справочникиToolStripMenuItem.Name = "справочникиToolStripMenuItem";
this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(117, 24); this.справочникиToolStripMenuItem.Size = new System.Drawing.Size(117, 24);
this.справочникиToolStripMenuItem.Text = "Справочники"; this.справочникиToolStripMenuItem.Text = "Справочники";
// //
// компонентыToolStripMenuItem // компонентыToolStripMenuItem
// //
this.компонентыToolStripMenuItem.Name = омпонентыToolStripMenuItem"; this.компонентыToolStripMenuItem.Name = омпонентыToolStripMenuItem";
this.компонентыToolStripMenuItem.Size = new System.Drawing.Size(185, 26); this.компонентыToolStripMenuItem.Size = new System.Drawing.Size(185, 26);
this.компонентыToolStripMenuItem.Text = "Компоненты"; this.компонентыToolStripMenuItem.Text = "Компоненты";
this.компонентыToolStripMenuItem.Click += new System.EventHandler(this.компонентыToolStripMenuItem_Click); this.компонентыToolStripMenuItem.Click += new System.EventHandler(this.компонентыToolStripMenuItem_Click);
// //
// автомобилиToolStripMenuItem // автомобилиToolStripMenuItem
// //
this.автомобилиToolStripMenuItem.Name = "автомобилиToolStripMenuItem"; this.автомобилиToolStripMenuItem.Name = "автомобилиToolStripMenuItem";
this.автомобилиToolStripMenuItem.Size = new System.Drawing.Size(185, 26); this.автомобилиToolStripMenuItem.Size = new System.Drawing.Size(185, 26);
this.автомобилиToolStripMenuItem.Text = "Автомобили"; this.автомобилиToolStripMenuItem.Text = "Автомобили";
this.автомобилиToolStripMenuItem.Click += new System.EventHandler(this.автомобилиToolStripMenuItem_Click); this.автомобилиToolStripMenuItem.Click += new System.EventHandler(this.автомобилиToolStripMenuItem_Click);
// //
// клиентыToolStripMenuItem // клиентыToolStripMenuItem
// //
this.клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem"; this.клиентыToolStripMenuItem.Name = "клиентыToolStripMenuItem";
this.клиентыToolStripMenuItem.Size = new System.Drawing.Size(182, 26); this.клиентыToolStripMenuItem.Size = new System.Drawing.Size(185, 26);
this.клиентыToolStripMenuItem.Text = "Клиенты"; this.клиентыToolStripMenuItem.Text = "Клиенты";
this.клиентыToolStripMenuItem.Click += new System.EventHandler(this.клиентыToolStripMenuItem_Click); this.клиентыToolStripMenuItem.Click += new System.EventHandler(this.клиентыToolStripMenuItem_Click);
// //
// исполнителиToolStripMenuItem // исполнителиToolStripMenuItem
// //
this.исполнителиToolStripMenuItem.Name = сполнителиToolStripMenuItem"; this.исполнителиToolStripMenuItem.Name = сполнителиToolStripMenuItem";
this.исполнителиToolStripMenuItem.Size = new System.Drawing.Size(185, 26); this.исполнителиToolStripMenuItem.Size = new System.Drawing.Size(185, 26);
this.исполнителиToolStripMenuItem.Text = "Исполнители"; this.исполнителиToolStripMenuItem.Text = "Исполнители";
this.исполнителиToolStripMenuItem.Click += new System.EventHandler(this.исполнителиToolStripMenuItem_Click); this.исполнителиToolStripMenuItem.Click += new System.EventHandler(this.исполнителиToolStripMenuItem_Click);
// //
// отчетыToolStripMenuItem // отчетыToolStripMenuItem
// //
this.отчетыToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.отчетыToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.списокАвтомобилейToolStripMenuItem, this.списокАвтомобилейToolStripMenuItem,
this.компонентыПоАвтомобилямToolStripMenuItem, this.компонентыПоАвтомобилямToolStripMenuItem,
this.списокЗаказовToolStripMenuItem}); this.списокЗаказовToolStripMenuItem});
this.отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem"; this.отчетыToolStripMenuItem.Name = "отчетыToolStripMenuItem";
this.отчетыToolStripMenuItem.Size = new System.Drawing.Size(73, 24); this.отчетыToolStripMenuItem.Size = new System.Drawing.Size(73, 24);
this.отчетыToolStripMenuItem.Text = "Отчеты"; this.отчетыToolStripMenuItem.Text = "Отчеты";
// //
// списокАвтомобилейToolStripMenuItem // списокАвтомобилейToolStripMenuItem
// //
this.списокАвтомобилейToolStripMenuItem.Name = "списокАвтомобилейToolStripMenuItem"; this.списокАвтомобилейToolStripMenuItem.Name = "списокАвтомобилейToolStripMenuItem";
this.списокАвтомобилейToolStripMenuItem.Size = new System.Drawing.Size(304, 26); this.списокАвтомобилейToolStripMenuItem.Size = new System.Drawing.Size(304, 26);
this.списокАвтомобилейToolStripMenuItem.Text = "Список автомобилей"; this.списокАвтомобилейToolStripMenuItem.Text = "Список автомобилей";
this.списокАвтомобилейToolStripMenuItem.Click += new System.EventHandler(this.списокАвтомобилейToolStripMenuItem_Click); this.списокАвтомобилейToolStripMenuItem.Click += new System.EventHandler(this.списокАвтомобилейToolStripMenuItem_Click);
// //
// компонентыПоАвтомобилямToolStripMenuItem // компонентыПоАвтомобилямToolStripMenuItem
// //
this.компонентыПоАвтомобилямToolStripMenuItem.Name = омпонентыПоАвтомобилямToolStripMenuItem"; this.компонентыПоАвтомобилямToolStripMenuItem.Name = омпонентыПоАвтомобилямToolStripMenuItem";
this.компонентыПоАвтомобилямToolStripMenuItem.Size = new System.Drawing.Size(304, 26); this.компонентыПоАвтомобилямToolStripMenuItem.Size = new System.Drawing.Size(304, 26);
this.компонентыПоАвтомобилямToolStripMenuItem.Text = "Компоненты по автомобилям"; this.компонентыПоАвтомобилямToolStripMenuItem.Text = "Компоненты по автомобилям";
this.компонентыПоАвтомобилямToolStripMenuItem.Click += new System.EventHandler(this.компонентыПоАвтомобилямToolStripMenuItem_Click); this.компонентыПоАвтомобилямToolStripMenuItem.Click += new System.EventHandler(this.компонентыПоАвтомобилямToolStripMenuItem_Click);
// //
// списокЗаказовToolStripMenuItem // списокЗаказовToolStripMenuItem
// //
this.списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem"; this.списокЗаказовToolStripMenuItem.Name = "списокЗаказовToolStripMenuItem";
this.списокЗаказовToolStripMenuItem.Size = new System.Drawing.Size(304, 26); this.списокЗаказовToolStripMenuItem.Size = new System.Drawing.Size(304, 26);
this.списокЗаказовToolStripMenuItem.Text = "Список заказов"; this.списокЗаказовToolStripMenuItem.Text = "Список заказов";
this.списокЗаказовToolStripMenuItem.Click += new System.EventHandler(this.списокЗаказовToolStripMenuItem_Click); this.списокЗаказовToolStripMenuItem.Click += new System.EventHandler(this.списокЗаказовToolStripMenuItem_Click);
// //
// dataGridView // запускРаботToolStripMenuItem
// //
this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.запускРаботToolStripMenuItem.Name = апускРаботToolStripMenuItem";
this.dataGridView.Location = new System.Drawing.Point(12, 31); this.запускРаботToolStripMenuItem.Size = new System.Drawing.Size(114, 24);
this.dataGridView.Name = "dataGridView"; this.запускРаботToolStripMenuItem.Text = "Запуск работ";
this.dataGridView.RowHeadersWidth = 51; this.запускРаботToolStripMenuItem.Click += new System.EventHandler(this.запускРаботToolStripMenuItem_Click);
this.dataGridView.RowTemplate.Height = 29; //
this.dataGridView.Size = new System.Drawing.Size(1188, 407); // dataGridView
this.dataGridView.TabIndex = 1; //
// this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
// buttonCreateOrder this.dataGridView.Location = new System.Drawing.Point(12, 31);
// this.dataGridView.Name = "dataGridView";
this.buttonCreateOrder.Location = new System.Drawing.Point(1220, 42); this.dataGridView.RowHeadersWidth = 51;
this.buttonCreateOrder.Name = "buttonCreateOrder"; this.dataGridView.RowTemplate.Height = 29;
this.buttonCreateOrder.Size = new System.Drawing.Size(194, 29); this.dataGridView.Size = new System.Drawing.Size(1188, 407);
this.buttonCreateOrder.TabIndex = 2; this.dataGridView.TabIndex = 1;
this.buttonCreateOrder.Text = "Создать заказ"; //
this.buttonCreateOrder.UseVisualStyleBackColor = true; // buttonCreateOrder
this.buttonCreateOrder.Click += new System.EventHandler(this.ButtonCreateOrder_Click); //
// this.buttonCreateOrder.Location = new System.Drawing.Point(1220, 42);
// buttonSetToWork this.buttonCreateOrder.Name = "buttonCreateOrder";
// this.buttonCreateOrder.Size = new System.Drawing.Size(194, 29);
this.buttonSetToWork.Location = new System.Drawing.Point(1220, 77); this.buttonCreateOrder.TabIndex = 2;
this.buttonSetToWork.Name = "buttonSetToWork"; this.buttonCreateOrder.Text = "Создать заказ";
this.buttonSetToWork.Size = new System.Drawing.Size(194, 29); this.buttonCreateOrder.UseVisualStyleBackColor = true;
this.buttonSetToWork.TabIndex = 3; this.buttonCreateOrder.Click += new System.EventHandler(this.ButtonCreateOrder_Click);
this.buttonSetToWork.Text = "Отдать на выполнение"; //
this.buttonSetToWork.UseVisualStyleBackColor = true; // buttonSetToFinish
this.buttonSetToWork.Click += new System.EventHandler(this.ButtonSetToWork_Click); //
// this.buttonSetToFinish.Location = new System.Drawing.Point(1220, 147);
// buttonSetToDone this.buttonSetToFinish.Name = "buttonSetToFinish";
// this.buttonSetToFinish.Size = new System.Drawing.Size(194, 29);
this.buttonSetToDone.Location = new System.Drawing.Point(1220, 112); this.buttonSetToFinish.TabIndex = 5;
this.buttonSetToDone.Name = "buttonSetToDone"; this.buttonSetToFinish.Text = "Заказ выдан";
this.buttonSetToDone.Size = new System.Drawing.Size(194, 29); this.buttonSetToFinish.UseVisualStyleBackColor = true;
this.buttonSetToDone.TabIndex = 4; this.buttonSetToFinish.Click += new System.EventHandler(this.ButtonSetToFinish_Click);
this.buttonSetToDone.Text = "Заказ готов"; //
this.buttonSetToDone.UseVisualStyleBackColor = true; // buttonUpdate
this.buttonSetToDone.Click += new System.EventHandler(this.ButtonSetToDone_Click); //
// this.buttonUpdate.Location = new System.Drawing.Point(1220, 409);
// buttonSetToFinish this.buttonUpdate.Name = "buttonUpdate";
// this.buttonUpdate.Size = new System.Drawing.Size(194, 29);
this.buttonSetToFinish.Location = new System.Drawing.Point(1220, 147); this.buttonUpdate.TabIndex = 6;
this.buttonSetToFinish.Name = "buttonSetToFinish"; this.buttonUpdate.Text = "Обновить";
this.buttonSetToFinish.Size = new System.Drawing.Size(194, 29); this.buttonUpdate.UseVisualStyleBackColor = true;
this.buttonSetToFinish.TabIndex = 5; this.buttonUpdate.Click += new System.EventHandler(this.ButtonUpdate_Click);
this.buttonSetToFinish.Text = "Заказ выдан"; //
this.buttonSetToFinish.UseVisualStyleBackColor = true; // FormMain
this.buttonSetToFinish.Click += new System.EventHandler(this.ButtonSetToFinish_Click); //
// this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
// buttonUpdate this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
// this.ClientSize = new System.Drawing.Size(1436, 450);
this.buttonUpdate.Location = new System.Drawing.Point(1220, 409); this.Controls.Add(this.buttonUpdate);
this.buttonUpdate.Name = "buttonUpdate"; this.Controls.Add(this.buttonSetToFinish);
this.buttonUpdate.Size = new System.Drawing.Size(194, 29); this.Controls.Add(this.buttonCreateOrder);
this.buttonUpdate.TabIndex = 6; this.Controls.Add(this.dataGridView);
this.buttonUpdate.Text = "Обновить"; this.Controls.Add(this.menuStrip);
this.buttonUpdate.UseVisualStyleBackColor = true; this.MainMenuStrip = this.menuStrip;
this.buttonUpdate.Click += new System.EventHandler(this.ButtonUpdate_Click); this.Name = "FormMain";
// this.Text = "Автомобильный завод";
// запускРаботToolStripMenuItem this.Load += new System.EventHandler(this.FormMain_Load);
// this.menuStrip.ResumeLayout(false);
this.запускРаботToolStripMenuItem.Name = апускРаботToolStripMenuItem"; this.menuStrip.PerformLayout();
this.запускРаботToolStripMenuItem.Size = new System.Drawing.Size(114, 24); ((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
this.запускРаботToolStripMenuItem.Text = "Запуск работ"; this.ResumeLayout(false);
this.запускРаботToolStripMenuItem.Click += new System.EventHandler(this.запускРаботToolStripMenuItem_Click); this.PerformLayout();
//
// FormMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1436, 450);
this.Controls.Add(this.buttonUpdate);
this.Controls.Add(this.buttonSetToFinish);
this.Controls.Add(this.buttonSetToDone);
this.Controls.Add(this.buttonSetToWork);
this.Controls.Add(this.buttonCreateOrder);
this.Controls.Add(this.dataGridView);
this.Controls.Add(this.menuStrip);
this.MainMenuStrip = this.menuStrip;
this.Name = "FormMain";
this.Text = "Автомобильный завод";
this.Load += new System.EventHandler(this.FormMain_Load);
this.menuStrip.ResumeLayout(false);
this.menuStrip.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
} }
@ -231,8 +207,6 @@
private ToolStripMenuItem автомобилиToolStripMenuItem; private ToolStripMenuItem автомобилиToolStripMenuItem;
private DataGridView dataGridView; private DataGridView dataGridView;
private Button buttonCreateOrder; private Button buttonCreateOrder;
private Button buttonSetToWork;
private Button buttonSetToDone;
private Button buttonSetToFinish; private Button buttonSetToFinish;
private Button buttonUpdate; private Button buttonUpdate;
private ToolStripMenuItem отчетыToolStripMenuItem; private ToolStripMenuItem отчетыToolStripMenuItem;

View File

@ -56,7 +56,7 @@ namespace AutomobilePlantBusinessLogic.BusinessLogics
} }
await RunOrderInWork(implementer, orders); await RunOrderInWork(implementer, orders);
await Task.Run(() => await Task.Run( async() =>
{ {
foreach (var order in orders) foreach (var order in orders)
{ {
@ -64,21 +64,24 @@ namespace AutomobilePlantBusinessLogic.BusinessLogics
{ {
_logger.LogDebug("DoWork. Worker {Id} try get order {Order}", implementer.Id, order.Id); _logger.LogDebug("DoWork. Worker {Id} try get order {Order}", implementer.Id, order.Id);
// пытаемся назначить заказ на исполнителя // пытаемся назначить заказ на исполнителя
_orderLogic.TakeOrderInWork(new OrderBindingModel var notOccupied = _orderLogic.TakeOrderInWork(new OrderBindingModel
{ {
Id = order.Id, Id = order.Id,
ImplementerId = implementer.Id ImplementerId = implementer.Id
}); });
// делаем работу if (notOccupied)
Thread.Sleep(implementer.WorkExperience * _rnd.Next(100, 1000) * order.Count);
_logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id);
_orderLogic.DeliveryOrder(new OrderBindingModel
{ {
Id = order.Id, // делаем работу
ImplementerId = implementer.Id await Task.Delay(implementer.WorkExperience * _rnd.Next(100, 1000) * order.Count);
}); _logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id);
// отдыхаем _orderLogic.DeliveryOrder(new OrderBindingModel
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100)); {
Id = order.Id,
ImplementerId = implementer.Id
});
// отдыхаем
await Task.Delay(implementer.Qualification * _rnd.Next(10, 100));
}
} }
// кто-то мог уже перехватить заказ, игнорируем ошибку // кто-то мог уже перехватить заказ, игнорируем ошибку
catch (InvalidOperationException ex) catch (InvalidOperationException ex)
@ -111,15 +114,15 @@ namespace AutomobilePlantBusinessLogic.BusinessLogics
} }
_logger.LogDebug("DoWork. Worker {Id} back to order {Order}", implementer.Id, runOrder.Id); _logger.LogDebug("DoWork. Worker {Id} back to order {Order}", implementer.Id, runOrder.Id);
// доделываем работу // доделываем работу
Thread.Sleep(implementer.WorkExperience * _rnd.Next(100, 300) * runOrder.Count); await Task.Delay(implementer.WorkExperience * _rnd.Next(100, 300) * runOrder.Count);
_logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, runOrder.Id); _logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, runOrder.Id);
_orderLogic.FinishOrder(new OrderBindingModel _orderLogic.FinishOrder(new OrderBindingModel
{ {
Id = runOrder.Id Id = runOrder.Id
}); });
// отдыхаем // отдыхаем
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100)); await Task.Delay(implementer.Qualification * _rnd.Next(10, 100));
} }
// заказа может не быть, просто игнорируем ошибку // заказа может не быть, просто игнорируем ошибку
catch (InvalidOperationException ex) catch (InvalidOperationException ex)