protected void Page_Load(object sender, EventArgs e) { try { string ID = HttpContext.Current.Profile.UserName; if (Page.RouteData.Values["id"] != null) { string idProducto = Page.RouteData.Values["id"].ToString(); _dataProduct = ObtenerDatosProducto(idProducto); if (!_dataProduct.Completado) { Response.Redirect("/ErrorPage", true); } } else { Response.Redirect("/Home", true); } } catch (Exception) { Response.Redirect("/ErrorPage", true); } }
/// <summary> /// Obtener detalle de un producto para mostrar en página Producto.aspx /// </summary> /// <param name="_datos">Objeto con datos de conexión y parámetros (Id del producto)</param> /// <returns></returns> public CH_PaginaProducto ObtenerDetalleProductoXID(CH_Producto _datos) { try { CH_PaginaProducto dataPageResult = new CH_PaginaProducto(); CH_Producto dataResult = new CH_Producto(); object[] parametros = { _datos.IdProducto }; DataSet ds = SqlHelper.ExecuteDataset(_datos.Conexion, "CH_spCSLDB_get_DetalleProductoXID", parametros); if (ds != null) { if (ds.Tables.Count == 6) { //Textos DataTableReader dr = ds.Tables[0].CreateDataReader(); List <CH_Textos> listaTextos = new List <CH_Textos>(); CH_Textos itemTexto; while (dr.Read()) { itemTexto = new CH_Textos(); itemTexto.Texto = dr.GetString(dr.GetOrdinal("Texto")); itemTexto.NumPosition = dr.GetInt32(dr.GetOrdinal("NumPosition")); listaTextos.Add(itemTexto); } dataPageResult.ListaTextos = listaTextos; //Imagenes DataTableReader drImg = ds.Tables[1].CreateDataReader(); List <CH_Imagen> listaImagenes = new List <CH_Imagen>(); CH_Imagen itemImagen; while (drImg.Read()) { itemImagen = new CH_Imagen(); itemImagen.Alt = drImg.GetString(drImg.GetOrdinal("TextoAlternativo")); itemImagen.Title = drImg.GetString(drImg.GetOrdinal("TituloImagen")); itemImagen.UrlImagen = drImg.GetString(drImg.GetOrdinal("UrlImagen")); itemImagen.NumPosition = drImg.GetInt32(drImg.GetOrdinal("NumPosition")); listaImagenes.Add(itemImagen); } dataPageResult.ListaImagenes = listaImagenes; DataTableReader drDetalle = ds.Tables[2].CreateDataReader(); while (drDetalle.Read()) { dataResult.IdProducto = drDetalle.GetString(drDetalle.GetOrdinal("IDProducto")); dataResult.NombreProducto = drDetalle.GetString(drDetalle.GetOrdinal("NombreProducto")); dataResult.Observaciones = drDetalle.GetString(drDetalle.GetOrdinal("Observaciones")); dataResult.Valoracion = drDetalle.GetInt32(drDetalle.GetOrdinal("Valoracion")); dataResult.MinPrecio = drDetalle.GetDecimal(drDetalle.GetOrdinal("PrecioMenor")); dataResult.EsRopa = drDetalle.GetBoolean(drDetalle.GetOrdinal("EsRopa")); dataResult.Completado = true; break; } DataTableReader drColor = ds.Tables[3].CreateDataReader(); List <CH_Color> listaColores = new List <CH_Color>(); CH_Color itemColor; while (drColor.Read()) { itemColor = new CH_Color(); itemColor.IdColor = drColor.GetInt32(drColor.GetOrdinal("IDColor")); itemColor.Descripcion = drColor.GetString(drColor.GetOrdinal("Descripcion")); listaColores.Add(itemColor); } dataResult.ListaColores = listaColores; DataTableReader drImagenes = ds.Tables[4].CreateDataReader(); List <CH_Imagen> listaImagenesProd = new List <CH_Imagen>(); List <CH_Imagen> listaImagenesProdThumb = new List <CH_Imagen>(); CH_Imagen itemImagenProd; CH_Imagen itemImagenProdThumb; while (drImagenes.Read()) { itemImagenProd = new CH_Imagen(); itemImagenProd.UrlImagen = drImagenes.GetString(drImagenes.GetOrdinal("UrlImagen")); itemImagenProd.Title = drImagenes.GetString(drImagenes.GetOrdinal("Title")); itemImagenProd.Alt = drImagenes.GetString(drImagenes.GetOrdinal("Alt")); itemImagenProdThumb = new CH_Imagen { Title = itemImagenProd.Title, Alt = itemImagenProd.Alt }; itemImagenProdThumb.UrlImagen = drImagenes.GetString(drImagenes.GetOrdinal("UrlImagenThumb")); listaImagenesProd.Add(itemImagenProd); listaImagenesProdThumb.Add(itemImagenProdThumb); } dataResult.ListaImagenes = listaImagenesProd; dataResult.ListaImagenesThumb = listaImagenesProdThumb; DataTableReader drProductos = ds.Tables[5].CreateDataReader(); List <CH_Producto> listaProductos = new List <CH_Producto>(); CH_Producto itemProducto; while (drProductos.Read()) { CH_Imagen imgProducto = new CH_Imagen(); itemProducto = new CH_Producto(); itemProducto.IdProducto = drProductos.GetString(drProductos.GetOrdinal("IDProducto")); imgProducto.UrlImagen = drProductos.GetString(drProductos.GetOrdinal("UrlImagen")); imgProducto.Alt = drProductos.GetString(drProductos.GetOrdinal("Alt")); imgProducto.Title = drProductos.GetString(drProductos.GetOrdinal("Title")); itemProducto.ImagenPrincipal = imgProducto; itemProducto.NombreProducto = drProductos.GetString(drProductos.GetOrdinal("Producto")); itemProducto.MinPrecio = drProductos.GetDecimal(drProductos.GetOrdinal("MinPrecio")); itemProducto.MinPrecioMayoreo = drProductos.GetDecimal(drProductos.GetOrdinal("MinPrecioMayoreo")); listaProductos.Add(itemProducto); } dataResult.ListaProductosRelacionados = listaProductos; dataPageResult.Producto = dataResult; dataPageResult.Completado = true; //dataPageResult.Producto.ListaImagenes.Add(new CH_Imagen { UrlImagen = "../assets/images/product/01.jpg", Alt = "Img01" }); //dataPageResult.Producto.ListaImagenes.Add(new CH_Imagen { UrlImagen = "../assets/images/product/02.jpg", Alt = "Img02" }); //dataPageResult.Producto.ListaImagenes.Add(new CH_Imagen { UrlImagen = "../assets/images/product/03.jpg", Alt = "Img03" }); //dataPageResult.Producto.ListaImagenes.Add(new CH_Imagen { UrlImagen = "../assets/images/product/04.jpg", Alt = "Img04" }); //dataPageResult.Producto.ListaImagenesThumb.Add(new CH_Imagen { UrlImagen = "../assets/images/product/01.jpg", Alt = "Img01" }); //dataPageResult.Producto.ListaImagenesThumb.Add(new CH_Imagen { UrlImagen = "../assets/images/product/02.jpg", Alt = "Img02" }); //dataPageResult.Producto.ListaImagenesThumb.Add(new CH_Imagen { UrlImagen = "../assets/images/product/03.jpg", Alt = "Img03" }); //dataPageResult.Producto.ListaImagenesThumb.Add(new CH_Imagen { UrlImagen = "../assets/images/product/04.jpg", Alt = "Img04" }); //dataPageResult.Producto.Valoracion = 4; //dataPageResult.Producto.NombreProducto = "Pantalón Niño Preescolar"; //dataPageResult.Producto.MinPrecio = 280; //dataPageResult.Producto.Observaciones = "Uniforme UPGCH para niños de preescolar."; } } return(dataPageResult); } catch (Exception ex) { throw ex; } }