示例#1
0
        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));
            }
        }