Beispiel #1
0
        public IActionResult Index()
        {
            var hamburgueres        = hamburguerRepository.ObterTodos();
            var shakes              = shakeRepository.ObterTodos();
            PedidoViewModels pedido = new PedidoViewModels();

            pedido.Hamburgueres = hamburgueres;
            pedido.Shakes       = shakes;

            var usuarioLogado     = ObterUsuarioSession();
            var nomeUsuarioLogado = ObterUsuarioNomeSession();

            if (!string.IsNullOrEmpty(nomeUsuarioLogado))
            {
                pedido.NomeUsuario = nomeUsuarioLogado;
            }

            var clienteLogado = clienteRepository.ObterPor(usuarioLogado);

            if (clienteLogado != null)
            {
                pedido.Cliente = clienteLogado;
            }

            return(View(pedido));
        }
        public IActionResult Index()
        {
            PedidoViewModels pvm = new PedidoViewModels();

            pvm.Hamburgueres = hamburguerRepository.ObterTodos();
            pvm.Shakes       = shakeRepository.ObterTodos();

            var usuarioLogado     = ObterUsuarioSession();
            var nomeUsuarioLogado = ObterUsuarioNomeSession();

            if (!string.IsNullOrEmpty(nomeUsuarioLogado))
            {
                pvm.NomeUsuario = nomeUsuarioLogado;
            }

            var clienteLogado = clienteRepository.ObterPor(usuarioLogado);

            if (clienteLogado != null)
            {
                pvm.Cliente = clienteLogado;
            }
            pvm.NomeView     = "Pedido";
            pvm.UsuarioNome  = ObterUsuarioNomeSession();
            pvm.UsuarioEmail = ObterUsuarioSession();

            return(View(pvm));
        }
Beispiel #3
0
        // GET: Pedido
        public ActionResult Index(CarritoCompra carrito)
        {
            if (carrito.Count == 0)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var identity = (ClaimsPrincipal)Thread.CurrentPrincipal;
            var id       = identity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier)
                           .Select(c => c.Value).SingleOrDefault();
            var user            = new AccountBL().GetClienteById(Convert.ToInt32(id));
            var metodos         = new PagoBL().GetMetodoPagos();
            var pedidoViewModel = new PedidoViewModels()
            {
                cliente = user, metodoPago = metodos
            };

            return(View(pedidoViewModel));
        }
Beispiel #4
0
 public ActionResult Compra(CarritoCompra carrito, PedidoViewModels pedidoViewModels)
 {
     if (carrito.Count > 0)
     {
         PedidoBL pedidoBL = new PedidoBL();
         Pedido   pedido   = new Pedido()
         {
             ClienteId = pedidoViewModels.cliente.Id,
             EstadoId  = 1,//facturado
             Factura   = new Factura()
             {
                 Fecha        = DateTime.Now,
                 MetodoPagoId = pedidoViewModels.methodPay
             },
             Producto = carrito
         };
         if (pedidoBL.CreatePedidoProductos(pedido))
         {
             //REFRESCAR PEDIDO (SE PUEDE HACER MEJOR)
             pedido = pedidoBL.GetPedido(pedido.Id);
             // Reducir Stock
             var productosForUpdate = carrito.GroupBy(u => u.Id)
                                      .Select(x => new
             {
                 cantidadComprar = x.Count(),
                 id = x.First().Id,
             }).ToDictionary(x => x.id, x => x.cantidadComprar);
             if (new ProductoBL().UpdateStock(productosForUpdate))
             {
                 pedido.Factura.MetodoPago     = pedido.Factura.MetodoPago;
                 pedido.Factura.Pedido.Cliente = pedido.Cliente;
                 FacturaViewModels factura = new FacturaViewModels()
                 {
                     factura = pedido.Factura
                 };
                 carrito.Clear();
                 return(View(factura));
             }
         }
     }
     return(View("Error"));
 }