public async Task ToReady(Order pOrder, EOrderCommand pCommand) { pOrder = GetOrder(pOrder.OrderId); pOrder.Process = EOrderProcess.Ready; pOrder.Command = pCommand; pOrder.PreparingEnd = DateTime.Now; pOrder.ReadyStart = DateTime.Now; await _orderRepository.ToReady(pOrder); }
/// <summary> /// Changes order status to preparing and shows orders already in monitoring and/or putted on preparing status. /// </summary> /// <param name="pOrders">Orders already in monitoring.</param> /// <param name="pOrderId">Order identifier.</param> /// <param name="pCommand">Command to control applying styles.</param> /// <returns>Reloads the orders containers according to its respective status.</returns> public async Task FromAwaitingToPreparing(int[] pOrders, int pOrderId, EOrderCommand pCommand = EOrderCommand.Sent) { await fOrder.ToPreparing(new Order { OrderId = pOrderId }, pCommand); var vOrders = await fOrder.GetListOrderDTO(order => order.Process > EOrderProcess.None, item => item.Items); vOrders.ToList() .ForEach(order => { if ( (pOrders != null) && (pOrders.Length > 0) && pOrders.ToList().Exists(o => order.OrderId == o) ) { order.Command = EOrderCommand.None; } if (order.OrderId == pOrderId) { order.Command = (pCommand == EOrderCommand.Sent ? EOrderCommand.Received : EOrderCommand.Dropped); } } ); await Clients.All.SendAsync($"{Utilities.LOAD_AWAITING_CONTAINER}", vOrders.Where(o => o.Process == EOrderProcess.Awaiting).OrderBy(o => o.AwaitingStart.Value).ToList()); await Clients.All.SendAsync($"{Utilities.LOAD_PREPARING_CONTAINER}", vOrders.Where(o => o.Process == EOrderProcess.Preparing).OrderBy(o => o.PreparingStart.Value).ToList()); await Clients.Others.SendAsync($"{Utilities.LOAD_AWAITING_CONTAINER_FOR_CUSTOMERS}", vOrders.Where(o => o.Process == EOrderProcess.Awaiting).OrderBy(o => o.AwaitingStart.Value).ToList(), pOrderId, pCommand); //Antes de atualizar o container, aplicar a class css pro pOrderId. await Clients.Others.SendAsync($"{Utilities.LOAD_PREPARING_CONTAINER_FOR_CUSTOMERS}", vOrders.Where(o => o.Process == EOrderProcess.Preparing).OrderBy(o => o.PreparingStart.Value).ToList()); }
public async Task ToPreparing(Order pOrder, EOrderCommand pCommand) { await this._orderBusiness.ToPreparing(pOrder, pCommand); }
public async Task ToReady(Order pOrder, EOrderCommand pCommand) { await this._orderBusiness.ToReady(pOrder, pCommand); }