public ActionResult Autenticar(FormCollection collection) { try { if (!ModelState.IsValid) { return(Json(new Respuesta() { Resultado = "Error", Mensaje = "Validación de Captcha fallida." }, JsonRequestBehavior.AllowGet)); } bool autenticarConClave = Singleton.Instance.ConfiguracionEntorno.MetodoAutenticacion == TipoAutenticacion.Clave; long identificacion = Convert.ToInt64(collection["Identificacion"]); string clave = autenticarConClave ? collection["Clave"] : collection["Ult4DigProd"]; Cliente cliente = ClienteBussiness.AutenticarCliente(identificacion, clave, autenticarConClave); cliente.Productos = ProductoBussiness.ObtenerProductosActivosCliente(cliente.Identificacion); Session["Cliente"] = cliente; //return PartialView("~/Views/Cliente/InfoCliente.cshtml", cliente); return(View("~/Views/Cliente/InfoCliente.cshtml", cliente)); } catch { return(Json(new Respuesta() { Resultado = "Error", Mensaje = "Error de autenticación, por favor verifique los datos." }, JsonRequestBehavior.AllowGet)); } }
public ActionResult ActualizarEstadoProducto(long numeroProducto, string estado) { try { if (Session["Cliente"] != null) { Cliente cliente = (Cliente)Session["Cliente"]; Producto producto = cliente.Productos.FirstOrDefault(p => p.Numero == numeroProducto); if (producto == null) { throw new Exception("No se encontró un producto con este número."); } bool actualizo = ProductoBussiness.ActualizarEstadoProducto(numeroProducto, estado); if (actualizo) { try { cliente.Productos = ProductoBussiness.ObtenerProductosActivosCliente(cliente.Identificacion); } catch { cliente.Productos = new List <Producto>(); } } Session["Cliente"] = cliente; return(Json(new Respuesta() { Resultado = "Exito", Mensaje = "Se ha actualizado el estado del producto a " + estado + "." }, JsonRequestBehavior.AllowGet)); } else { return(Json(new Respuesta() { Resultado = "SessionError", Mensaje = "La sesión ha finalizado." }, JsonRequestBehavior.AllowGet)); } } catch { return(Json(new Respuesta() { Resultado = "Error", Mensaje = "Ha ocurrido un error actualizando el estado del producto." }, JsonRequestBehavior.AllowGet)); } }