Exemplo n.º 1
0
        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());
        }
Exemplo n.º 3
0
 public async Task ToPreparing(Order pOrder, EOrderCommand pCommand)
 {
     await this._orderBusiness.ToPreparing(pOrder, pCommand);
 }
Exemplo n.º 4
0
 public async Task ToReady(Order pOrder, EOrderCommand pCommand)
 {
     await this._orderBusiness.ToReady(pOrder, pCommand);
 }