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);
     }
 }
Пример #2
0
        /// <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;
            }
        }