public async Task <IActionResult> Login(Cliente cliente) { if (ModelState.GetValidationState("Email") == ModelValidationState.Valid && ModelState.GetValidationState("Password") == ModelValidationState.Valid) { string email = cliente.Email; cliente = await _dbAccess.login(cliente); if (cliente == null) { if (await _dbAccess.CheckEmail(email)) { // El Correo está registrado, pero el password es incorrecto ViewBag.EmailError = false; return(View()); } else { // El Correo no está registrado ViewBag.EmailError = true; return(View()); } } else if (await _dbAccess.CheckConfirmEmail(email)) { ViewBag.CuentaNoActiva = true; return(View()); } else { cliente = await _dbAccess.CargarDirecciones(cliente); cliente = await _dbAccess.CargarPedidos(cliente); HttpContext.Session.SetString("User", JsonConvert.SerializeObject(cliente)); HttpContext.Session.SetString("name", cliente.DatosPersonales.Nombre); return(RedirectToAction("UserPanel", "Cliente")); } } return(View()); }
public async Task <IActionResult> HacerPedido(int id) { List <Producto> ListaProductos; Cliente cliente = JsonConvert.DeserializeObject <Cliente>(HttpContext.Session.GetString("User")); string carrito = HttpContext.Session.GetString("carrito"); if (carrito != null) { ListaProductos = JsonConvert.DeserializeObject <List <Producto> >(carrito); Pedido pedido = new Pedido(); pedido.Fecha = DateTime.Now; pedido.GenerateId(cliente.Email); pedido.ListaProductos = ListaProductos; if (await _dbAccess.HacerPedido(pedido, cliente, id)) { cliente = await _dbAccess.CargarPedidos(cliente); HttpContext.Session.Remove("carrito"); HttpContext.Session.SetString("User", JsonConvert.SerializeObject(cliente)); return(RedirectToAction("UserPanel")); } } return(RedirectToAction("carrito")); }