public ActionResult ObtenerDetalleProducto(long numeroProducto) { 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."); } producto.Movimientos = ProductoBussiness.ObtenerMovimientosProducto(numeroProducto, Singleton.Instance.ConfiguracionEntorno.CantidadDiasMovimientos); Session["Cliente"] = cliente; InfoProducto infoProducto = new InfoProducto() { Producto = producto }; if (Singleton.Instance.ConfiguracionEntorno.ConsultaCupoCompra) { infoProducto.CupoCompra = ProductoBussiness.ObtenerCupoCompraProducto(numeroProducto); } if (Singleton.Instance.ConfiguracionEntorno.ConsultaCupoAvance) { infoProducto.CupoAvance = ProductoBussiness.ObtenerCupoAvanceProducto(numeroProducto); } if (Singleton.Instance.ConfiguracionEntorno.ConsultaValorPagoMinimo) { infoProducto.ValorPagoMinimo = ProductoBussiness.ObtenerValorPagoMinimoProducto(numeroProducto); } if (Singleton.Instance.ConfiguracionEntorno.ConsultaValorPagoTotal) { infoProducto.ValorPagoTotal = ProductoBussiness.ObtenerValorPagoTotalProducto(numeroProducto); } return(PartialView("~/Views/Producto/InfoProducto.cshtml", infoProducto)); } 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 consultando los datos del producto." }, JsonRequestBehavior.AllowGet)); } }