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());
        }
Beispiel #2
0
        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"));
        }