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