Ejemplo n.º 1
0
        private void ConfirmarPedido()
        {
            try
            {
                if (CurrentItem == null)
                {
                    return;
                }
                if (CurrentItem.EntityRestaurante == null)
                {
                    return;
                }
                if (!CurrentItem.EntityRestaurante.Confirmado)
                {
                    switch (CurrentItem.EntityRestaurante.Local)
                    {
                    case LocalPedidoRestaurante.Mesa:
                        var mesaAberta = GetMesa(CurrentItem.EntityRestaurante.Mesa);
                        if (mesaAberta != null)
                        {
                            foreach (var prod in CurrentItem.Produtos)
                            {
                                mesaAberta.AddProduto(prod);
                            }
                        }
                        else
                        {
                            Collection.Add(CurrentItem);
                        }
                        break;

                    default:
                        switch (CurrentItem.EntityRestaurante.Local)
                        {
                        case LocalPedidoRestaurante.Balcao:
                            FilaSalao.Add(CurrentItem);
                            break;

                        case LocalPedidoRestaurante.Entrega:
                            FilaEntrega.Add(CurrentItem);
                            break;
                        }
                        break;
                    }
                    CurrentItem.ConfirmarPedido();
                    CurrentItem = null;
                }
            }
            catch (Exception ex)
            {
                CustomMessageBox.MensagemErro(ex.Message);
                Erp.Business.Utils.GerarLog(ex);
            }
        }
Ejemplo n.º 2
0
        public StatusComando ConfirmarPedido(PedidoRestaurante pedido)
        {
            try
            {
                switch (pedido.Local)
                {
                case LocalPedidoRestaurante.Mesa:
                    var mesaAberta = GetMesa(pedido.Mesa);
                    if (mesaAberta != null)
                    {
                        // Valida todas as composições que estão entrando para verificar a integridade.
                        foreach (var produto in pedido.Produtos)
                        {
                            ComposicaoProdutoRepository.Validate(produto);
                        }
                        foreach (var prod in pedido.Produtos)
                        {
                            mesaAberta.Produtos.Add(prod);
                        }
                    }
                    else
                    {
                        MesasAbertas.Add(pedido);
                    }
                    break;

                default:
                    switch (pedido.Local)
                    {
                    case LocalPedidoRestaurante.Balcao:
                        FilaSalao.Add(pedido);
                        break;

                    case LocalPedidoRestaurante.Entrega:
                        FilaEntrega.Add(pedido);
                        break;
                    }
                    break;
                }
                pedido.Confirmado = true;
                return(StatusComando.ConcluidoSucesso);
            }
            catch (Exception ex)
            {
                LastException = ex.Message;
            }

            return(StatusComando.ConcluidoSucesso);
        }
Ejemplo n.º 3
0
 private void RemoveEntrega(PedidoRestauranteModel entrega)
 {
     try
     {
         FilaEntrega.Remove(entrega);
         if (CurrentItem != null && CurrentItem.IdGuid == entrega.IdGuid)
         {
             CurrentItem = null;
         }
     }
     catch (Exception ex)
     {
         CustomMessageBox.MensagemErro(ex.Message);
         Erp.Business.Utils.GerarLog(ex);
     }
 }
Ejemplo n.º 4
0
 private void FecharPedido()
 {
     try
     {
         if (CurrentItem == null)
         {
             return;
         }
         if (CurrentItem.EntityRestaurante.Local == LocalPedidoRestaurante.Mesa)
         {
             var ped = GetMesa(CurrentItem.EntityRestaurante.Mesa);
             FecharMesa();
             if (ped == null)
             {
                 return;
             }
             if (!ped.IsPagamentoCancelado)
             {
                 Collection.Remove(ped);
                 FilaSalao.Remove(ped);
                 CurrentItem = null;
             }
         }
         else
         {
             var ped = GetEntrega(CurrentItem.EntityRestaurante.Controle.Controle);
             FecharEntrega();
             if (!ped.IsPagamentoCancelado)
             {
                 FilaEntrega.Remove(ped);
                 CurrentItem = null;
             }
         }
         OnAcaoConcluida();
     }
     catch (Exception ex)
     {
         CustomMessageBox.MensagemErro(ex.Message);
         Erp.Business.Utils.GerarLog(ex);
     }
 }
Ejemplo n.º 5
0
 private void RemoveEntrega(PedidoRestaurante entrega)
 {
     FilaEntrega.Remove(entrega);
 }
Ejemplo n.º 6
0
 public PedidoRestaurante GetEntrega(int controle)
 {
     return(FilaEntrega.SingleOrDefault(x => x.Controle.Controle == controle));
 }