Пример #1
0
 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));
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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);
 }
Пример #5
0
 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);
 }