Ejemplo n.º 1
0
        public ActionResult ValidarCupom(string cupom)
        {
            Dictionary <bool, Cupom> dic = new CupomDao().ValidarCupom(cupom);

            var resultado = new
            {
                Resultado = dic.ContainsKey(true),
                Cupom     = dic.Values
            };

            return(Json(resultado));
        }
        public ActionResult Aprovar(int IdSolicitacao)
        {
            try
            {
                SolicitacaoTrocaDao dao = new SolicitacaoTrocaDao();

                int pedidoId = dao.ConsultarTodos().Find(x => x.Id == IdSolicitacao).IdPedido;

                new ProcedimentoTrocaStatus().TrocaAutorizada(pedidoId);

                Pedido pedido = new PedidoDao().ConsultarPorIdSolicitacaoItens(pedidoId);

                foreach (var item in pedido.Bebidas)
                {
                    new EstoqueDao().Entrada(item.Id, item.Quantidade, "DEVOLUÇÃO", 0.00M, DateTime.Now);
                }

                new ProcedimentoTrocaStatus().Trocado(pedidoId);

                Cupom cupom = new Cupom()
                {
                    DataEmissao   = DateTime.Now,
                    DataExpiracao = DateTime.Now.AddDays(7),
                    Descricao     = string.Concat("TROCA", pedido.Id, DateTime.Now.ToString("yyyyMMddHHmmssfff")),
                    IdTipo        = 2,
                    Status        = true,
                    Valor         = pedido.ValorTotal
                };

                new CupomDao().Cadastrar(cupom);

                int idCupom = new CupomDao().ObterUltimoIdInserido();

                dao.Aprovar(IdSolicitacao, idCupom);

                new CupomDao().InsereCupomParaCliente(idCupom, pedido.Cliente.Id);

                Notificacao notificacao = new Notificacao
                {
                    IdCliente = pedido.Cliente.Id,
                    Descricao = $"O cupom de troca {cupom.Descricao} foi gerado da aprovação da sua solicitação de troca do pedido #{pedido.Id}. Entre no menu ''Meus Cupons'' para visualizar."
                };

                new NotificacaoDao().Cadastrar(notificacao);

                return(RedirectToAction("Index", "Usuarios"));
            }
            catch (Exception ex)
            {
                return(View("Error"));
            }
        }
Ejemplo n.º 3
0
        public ActionResult PvCupom()
        {
            try
            {
                int idCliente = ((Usuario)Session["Usuario"]).Id;

                List <Cupom> cupons = new List <Cupom>();

                if (idCliente == 0)
                {
                    cupons = Fachada.ConsultarTodos();
                }
                else
                {
                    cupons = new CupomDao().ConsultarPorCliente(idCliente);
                }

                return(PartialView(cupons));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }