казначеева сдала

This commit is contained in:
kamilia 2024-05-08 10:38:29 +04:00
parent 471ad04dec
commit ab6b3d0d15
2 changed files with 11 additions and 4 deletions

View File

@ -28,6 +28,8 @@ namespace AircraftPlantBusinessLogic.BusinessLogics
/// </summary> /// </summary>
private readonly IOrderStorage _orderStorage; private readonly IOrderStorage _orderStorage;
static readonly object locker = new();
/// <summary> /// <summary>
/// Конструктор /// Конструктор
/// </summary> /// </summary>
@ -109,9 +111,13 @@ namespace AircraftPlantBusinessLogic.BusinessLogics
/// </summary> /// </summary>
/// <param name="model"></param> /// <param name="model"></param>
/// <returns></returns> /// <returns></returns>
public bool TakeOrderInWork(OrderBindingModel model) public bool TakeOrderInWork(OrderBindingModel model)
{ {
return StatusUpdate(model, OrderStatus.Выполняется); lock (locker)
{
return StatusUpdate(model, OrderStatus.Выполняется);
}
} }
/// <summary> /// <summary>
/// Смена статуса заказа (Выдан) /// Смена статуса заказа (Выдан)

View File

@ -78,12 +78,15 @@ namespace AircraftPlantBusinessLogic.BusinessLogics
} }
// делаем работу // делаем работу
Thread.Sleep(implementer.WorkExperience * _rnd.Next(100, 1000) * order.Count); Thread.Sleep(implementer.WorkExperience * _rnd.Next(500, 1000) * order.Count);
_logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id); _logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id);
_orderLogic.DeliveryOrder(new OrderBindingModel _orderLogic.DeliveryOrder(new OrderBindingModel
{ {
Id = order.Id Id = order.Id
}); });
// отдыхаем
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 20));
} }
// кто-то мог уже перехватить заказ, игнорируем ошибку // кто-то мог уже перехватить заказ, игнорируем ошибку
catch (InvalidOperationException ex) catch (InvalidOperationException ex)
@ -97,8 +100,6 @@ namespace AircraftPlantBusinessLogic.BusinessLogics
throw; throw;
} }
// отдыхаем
Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100));
} }
}); });
} }