public ActionResult ConfirmarPedido(PedidoModel model) { foreach (var comp in model.Entity.Produtos) { comp.Produto = ProdutoRepository.GetById(comp.Produto.Id); foreach (var prod in comp.Composicao) { prod.Produto = ProdutoRepository.GetById(prod.Produto.Id); } } if (model.Entity.Garcon != null && model.Entity.Garcon.Id != 0) { model.Entity.Garcon = ParceiroNegocioPessoaFisicaRepository.GetById(model.Entity.Id); } try { if (PedidoRestauranteRepository.Validate(model.Entity)) { // Salva o pedido no servidor e verifica o retorno do mesmo. if (service.ConfirmarPedido(model.Entity) == StatusComando.ConcluidoSucesso) { return(View("Index")); } // Caso não seja confirmado o salvamento do pedido o sistema retorna o erro. ErrorMessage(service.GetLastException()); } } catch (Exception ex) { ErrorMessage(ex.Message); } return(View("TelaPedido", model)); }
public bool FecharPedido() { if (Produtos.IsEmpty()) { System.Windows.Forms.MessageBox.Show("Informe ao menos um produto para fechar o pedido"); return(false); } var pagamento = new PagamentoPedidoRestauranteView(this); if (pagamento.DataContext == null) { pagamento.DataContext = this; } Mapper.CreateMap(GetType(), GetType()); Mapper.Map(this, pagamento.DataContext); CalculaPedido(); IniciarPagamento(); pagamento.ShowDialog(); if (!IsPagamentoCancelado && IsPagamentoEfetuado) { Mapper.CreateMap <PedidoRestauranteModel, PedidoRestaurante>(); Mapper.Map(this, Entity); if (Entity.Cliente == null) { Entity.Cliente = PessoaRepository.GetById(1); } if (String.IsNullOrEmpty(Entity.Observacoes)) { Entity.Observacoes = ""; } Entity.Caixa = Settings.Default.Caixa; Entity.Usuario = App.Usuario; Entity.Empresa = App.Proprietaria; CupomFiscal.FecharPedidoRestaurante((PedidoRestaurante)Entity); NHibernateHttpModule.Session.Flush(); PedidoRestauranteRepository.Save((PedidoRestaurante)Entity); Entity = null; OnPedidoFinalizado(this, EventArgs.Empty); } else { return(false); } return(true); }
public static bool LancarPagamentoRestaurante(PedidoRestaurante pedido) { var s = NHibernateHttpModule.Session; var totalProdutos = PedidoRestauranteRepository.GetTotalProdutos(pedido); var totalMercadorias = PedidoRestauranteRepository.GetTotalMercadorias(pedido); var totalServicos = PedidoRestauranteRepository.GetTotalServicos(pedido); foreach (PagamentoPedido pag in pedido.Pagamento) { LancarProdutos(pedido.ValorPedido, totalProdutos, pag); LancarMercadorias(pedido.ValorPedido, totalMercadorias, pag); LancarServicos(pedido.ValorPedido, totalServicos, pag); } return(true); }
public StatusComando FecharEntrega(int controle) { try { var ent = GetEntrega(controle); if (ent == null) { throw new Exception("Entrega/Balcão não encontrado."); } PedidoRestauranteRepository.Save(ent); RemoveEntrega(ent); return(StatusComando.ConcluidoSucesso); } catch (Exception ex) { LastException = ex.Message; } return(StatusComando.ErroExecucao); }
public StatusComando FecharMesa(int mesa) { try { var m = GetMesa(mesa); if (m == null) { throw new Exception("Mesa não encontrada."); } PedidoRestauranteRepository.Save(m); RemoveMesa(m); return(StatusComando.ConcluidoSucesso); } catch (Exception exception) { LastException = exception.Message; } return(StatusComando.ErroExecucao); }