diff --git a/SushiBar/SushiBarBusinessLogic/BusinessLogics/WorkModeling.cs b/SushiBar/SushiBarBusinessLogic/BusinessLogics/WorkModeling.cs index 6f923af..0d84547 100644 --- a/SushiBar/SushiBarBusinessLogic/BusinessLogics/WorkModeling.cs +++ b/SushiBar/SushiBarBusinessLogic/BusinessLogics/WorkModeling.cs @@ -30,24 +30,18 @@ namespace SushiBarBusinessLogic.BusinessLogics _logger.LogWarning("DoWork. Implementers is null"); return; } - List? orders = _orderLogic.ReadList(new OrderSearchModel { OrderStatus = OrderStatus.Принят }); - List? ordersInWork = _orderLogic.ReadList(new OrderSearchModel { OrderStatus = OrderStatus.Выполняется }); - List? ordersInWaiting = _orderLogic.ReadList(new OrderSearchModel { OrderStatus = OrderStatus.Ожидание }); - if (orders == null || ordersInWork == null || ordersInWaiting == null) + + var orders = _orderLogic.ReadList(new OrderSearchModel { - _logger.LogWarning("DoWork. Orders are null"); - return; - } - else - { - orders.AddRange(ordersInWork); - orders.AddRange(ordersInWaiting); - } - if (orders.Count == 0) - { - _logger.LogWarning("DoWork. Orders are empty"); + OrderStatus = OrderStatus.Принят + }); + + if (orders == null) + { + _logger.LogWarning("DoWork. Orders is null or empty"); return; } + _logger.LogDebug("DoWork for {Count} orders", orders.Count); foreach (var implementer in implementers) { @@ -169,23 +163,26 @@ namespace SushiBarBusinessLogic.BusinessLogics } try { - var order = await Task.Run(() => _orderLogic.ReadElement(new OrderSearchModel + var orders = await Task.Run(() => _orderLogic.ReadList(new OrderSearchModel { ImplementerId = implementer.Id, OrderStatus = OrderStatus.Ожидание })); - if (order == null) + if (orders == null) { return; } // доделываем работу - _logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id); - _orderLogic.FinishOrder(new OrderBindingModel + foreach (var order in orders) { - Id = order.Id - }); - // отдыхаем - Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100)); + _logger.LogDebug("DoWork. Worker {Id} finish order {Order}", implementer.Id, order.Id); + _orderLogic.FinishOrder(new OrderBindingModel + { + Id = order.Id + }); + // отдыхаем + Thread.Sleep(implementer.Qualification * _rnd.Next(10, 100)); + } } catch (InvalidOperationException ex) { diff --git a/SushiBar/SushiBarDatabaseImplement/SushiBarDatabase.cs b/SushiBar/SushiBarDatabaseImplement/SushiBarDatabase.cs index 56ac116..c66ea9b 100644 --- a/SushiBar/SushiBarDatabaseImplement/SushiBarDatabase.cs +++ b/SushiBar/SushiBarDatabaseImplement/SushiBarDatabase.cs @@ -10,7 +10,7 @@ namespace SushiBarDatabaseImplement if (optionsBuilder.IsConfigured == false) { // D8KMQQU comp JC256C6 nout - optionsBuilder.UseSqlServer(@"Data Source=DESKTOP-D8KMQQU\SQLEXPRESS;Initial Catalog=SushiBarDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True"); + optionsBuilder.UseSqlServer(@"Data Source=DESKTOP-JC256C6\SQLEXPRESS;Initial Catalog=SushiBarDatabase;Integrated Security=True;MultipleActiveResultSets=True;;TrustServerCertificate=True"); } base.OnConfiguring(optionsBuilder); }