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); } }
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); }