/// <summary>
 /// Búsqueda de productos por diversos factores
 /// </summary>
 /// <param name="_datos">Objeto con datos de conexión y parámetros</param>
 /// <returns></returns>
 public CH_Busqueda BusquedaProductos(CH_Busqueda _datos)
 {
     try
     {
         CH_ProductoDatos productdat = new CH_ProductoDatos();
         return(productdat.BusquedaProductos(_datos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /// <summary>
 /// Obtener datos para mostrar en la página productos
 /// </summary>
 /// <param name="_datos">Objeto con datos de conexión y parámetros</param>
 /// <returns></returns>
 public CH_Busqueda ObtenerDatosProductos(CH_Busqueda _datos)
 {
     try
     {
         CH_ProductoDatos dataProd = new CH_ProductoDatos();
         return(dataProd.ObtenerDatosProductos(_datos));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
 /// <summary>
 /// Obtener los datos para presentar la página Web de búsqueda de productos
 /// </summary>
 private CH_Busqueda ObtenerDatosDinamicos(CH_Busqueda _data)
 {
     try
     {
         _data.Conexion = Comun.Conexion;
         CH_ProductoNegocio productNeg = new CH_ProductoNegocio();
         return(productNeg.ObtenerDatosProductos(_data));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Búsqueda de productos por diversos factores
        /// </summary>
        /// <param name="_datos">Objeto con datos de conexión y parámetros</param>
        /// <returns></returns>
        public CH_Busqueda BusquedaProductos(CH_Busqueda _datos)
        {
            try
            {
                CH_Busqueda dataResult = new CH_Busqueda();
                object[]    parametros = { _datos.NumPagina,      _datos.MaxRows,       _datos.BandFamilia,
                                           _datos.Familia.IdFamilia, _datos.Hombre,        _datos.Mujer,
                                           _datos.Accesorio,         _datos.BandTalla,     _datos.Talla.IdTalla,
                                           _datos.BandColor,         _datos.Color.IdColor, _datos.BandRangoPrecios,
                                           _datos.PrecioFinal,       _datos.PrecioInicial };
                DataSet     ds = SqlHelper.ExecuteDataset(_datos.Conexion, "CH_spCSLDB_BusquedaProductosWeb", parametros);
                if (ds.Tables.Count == 2)
                {
                    DataTableReader dr = ds.Tables[0].CreateDataReader();
                    while (dr.Read())
                    {
                        dataResult.TotalRegistros = dr.GetInt32(dr.GetOrdinal("Total"));
                        dataResult.Completado     = true;
                        break;
                    }

                    DataTableReader    drProductos    = ds.Tables[1].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"));
                        itemProducto.ImagenPrincipal  = imgProducto;
                        itemProducto.NombreProducto   = drProductos.GetString(drProductos.GetOrdinal("Producto"));
                        itemProducto.MinPrecio        = drProductos.GetDecimal(drProductos.GetOrdinal("MinPrecio"));
                        itemProducto.MinPrecioMayoreo = drProductos.GetDecimal(drProductos.GetOrdinal("Descripcion"));
                        listaProductos.Add(itemProducto);
                    }
                    dataResult.ListaProductosResultado = listaProductos;
                }
                return(dataResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Obtener datos para mostrar en la página productos
        /// </summary>
        /// <param name="_datos">Objeto con datos de conexión y parámetros</param>
        /// <returns></returns>
        public CH_Busqueda ObtenerDatosProductos(CH_Busqueda _datos)
        {
            try
            {
                CH_Busqueda dataResult = new CH_Busqueda {
                    TipoOrden   = _datos.TipoOrden, IdTipoBusqueda = _datos.IdTipoBusqueda, NumPagina = _datos.NumPagina, MaxRows = _datos.MaxRows,
                    BandFamilia = _datos.BandFamilia, Familia = new CH_Familia {
                        IdFamilia = _datos.Familia.IdFamilia
                    }, Hombre = _datos.Hombre,
                    Mujer = _datos.Mujer, Accesorio = _datos.Accesorio, BandTalla = _datos.BandTalla, Talla = new CH_Talla {
                        IdTalla = _datos.Talla.IdTalla
                    },
                    BandColor = _datos.BandColor, Color = new CH_Color {
                        IdColor = _datos.Color.IdColor
                    }, BandRangoPrecios = _datos.BandRangoPrecios,
                    PrecioFinal = _datos.PrecioFinal, PrecioInicial = _datos.PrecioInicial
                };
                object[] parametros = { _datos.TipoOrden,        _datos.IdTipoBusqueda,    _datos.NumPagina,     _datos.MaxRows,
                                        _datos.BandFamilia,      _datos.Familia.IdFamilia, _datos.Hombre,
                                        _datos.Mujer,            _datos.Accesorio,         _datos.BandTalla,
                                        _datos.Talla.IdTalla,    _datos.BandColor,         _datos.Color.IdColor,
                                        _datos.BandRangoPrecios, _datos.PrecioFinal,       _datos.PrecioInicial };
                DataSet  ds = SqlHelper.ExecuteDataset(_datos.Conexion, "CH_spCSLDB_get_DatosProductos", parametros);
                if (ds.Tables.Count == 8)
                {
                    //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);
                    }
                    dataResult.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);
                    }
                    dataResult.ListaImagenes = listaImagenes;

                    //Familias de producto
                    DataTableReader   drFamilia     = ds.Tables[2].CreateDataReader();
                    List <CH_Familia> listaFamilias = new List <CH_Familia>();
                    CH_Familia        itemFamilia;
                    while (drFamilia.Read())
                    {
                        itemFamilia                   = new CH_Familia();
                        itemFamilia.IdFamilia         = drFamilia.GetInt32(drFamilia.GetOrdinal("IDFamilia"));
                        itemFamilia.Descripcion       = drFamilia.GetString(drFamilia.GetOrdinal("Descripcion"));
                        itemFamilia.CantidadProductos = drFamilia.GetInt32(drFamilia.GetOrdinal("Total"));
                        listaFamilias.Add(itemFamilia);
                    }
                    dataResult.ListaFamilias = listaFamilias;

                    //Colores
                    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("id_colorRopa"));
                        itemColor.Descripcion = drColor.GetString(drColor.GetOrdinal("descripcion"));
                        listaColores.Add(itemColor);
                    }
                    dataResult.ListaColor = listaColores;

                    //Tallas
                    DataTableReader drTallas    = ds.Tables[4].CreateDataReader();
                    List <CH_Talla> listaTallas = new List <CH_Talla>();
                    CH_Talla        itemTalla;
                    while (drTallas.Read())
                    {
                        itemTalla             = new CH_Talla();
                        itemTalla.IdTalla     = drTallas.GetInt32(drTallas.GetOrdinal("id_tallaRopa"));
                        itemTalla.Descripcion = drTallas.GetString(drTallas.GetOrdinal("descripcion"));
                        itemTalla.Descripcion = itemTalla.Descripcion.ToUpper().Replace("TALLA", "").Trim();
                        listaTallas.Add(itemTalla);
                    }
                    dataResult.ListaTallas = listaTallas;

                    // Cantidad total de registros del resultado de búsqueda
                    DataTableReader drDesc = ds.Tables[5].CreateDataReader();
                    while (drDesc.Read())
                    {
                        dataResult.Talla.Descripcion   = drDesc.GetString(drDesc.GetOrdinal("Talla"));
                        dataResult.Color.Descripcion   = drDesc.GetString(drDesc.GetOrdinal("Color"));
                        dataResult.Familia.Descripcion = drDesc.GetString(drDesc.GetOrdinal("Familia"));
                        dataResult.Completado          = true;
                        break;
                    }

                    // Cantidad total de registros del resultado de búsqueda
                    DataTableReader drTP = ds.Tables[6].CreateDataReader();
                    while (drTP.Read())
                    {
                        dataResult.TotalRegistros = drTP.GetInt32(drTP.GetOrdinal("Registros"));
                        dataResult.MinPrice       = drTP.GetDecimal(drTP.GetOrdinal("PrecioMinimo"));
                        dataResult.MaxPrice       = drTP.GetDecimal(drTP.GetOrdinal("PrecioMaximo"));
                        dataResult.Completado     = true;
                        break;
                    }
                    // Resultado de la búsqueda
                    DataTableReader    drProductos    = ds.Tables[7].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"));
                        itemProducto.ImagenPrincipal = imgProducto;
                        itemProducto.NombreProducto  = drProductos.GetString(drProductos.GetOrdinal("Producto"));
                        itemProducto.MinPrecio       = drProductos.GetDecimal(drProductos.GetOrdinal("MinPrecio"));
                        //itemProducto.MinPrecioMayoreo = drProductos.GetDecimal(drProductos.GetOrdinal("Descripcion"));
                        listaProductos.Add(itemProducto);
                    }
                    dataResult.ListaProductosResultado = listaProductos;
                    dataResult.TotalPaginas            = (dataResult.TotalRegistros / _datos.MaxRows) + (dataResult.TotalRegistros % _datos.MaxRows > 0 ? 1 : 0);
                    dataResult.RegistroInicial         = dataResult.TotalRegistros > 0 ? ((dataResult.NumPagina - 1) * dataResult.MaxRows) + 1 : 0;
                    dataResult.RegistroFinal           = (dataResult.NumPagina * dataResult.MaxRows) > dataResult.TotalRegistros ? dataResult.TotalRegistros : (dataResult.NumPagina * dataResult.MaxRows);
                }
                return(dataResult);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string ID = HttpContext.Current.Profile.UserName;
                if (Page.RouteData.Values["tipo"] != null)
                {
                    string tipoBusqueda = Page.RouteData.Values["tipo"].ToString();
                    int    idTipoBusqueda = 0;
                    bool   esHombre = false, esMujer = false, esAccesorio = false;
                    switch (tipoBusqueda.ToUpper())
                    {
                    case "HOMBRE": idTipoBusqueda = 1; esHombre = true; break;

                    case "MUJER": idTipoBusqueda = 2; esMujer = true; break;

                    case "ACCESORIOS": idTipoBusqueda = 3; esAccesorio = true; break;

                    default: idTipoBusqueda = 4; break;
                    }
                    int id_talla = 0;
                    if (Request.QueryString["TL"] != null)
                    {
                        int.TryParse(Request.QueryString["TL"].ToString(), out id_talla);
                    }
                    int id_color = 0;
                    if (Request.QueryString["CL"] != null)
                    {
                        int.TryParse(Request.QueryString["CL"].ToString(), out id_color);
                    }
                    int id_familia = 0;
                    if (Request.QueryString["CT"] != null)
                    {
                        int.TryParse(Request.QueryString["CT"].ToString(), out id_familia);
                    }
                    int numPage = 1;
                    if (Request.QueryString["NP"] != null)
                    {
                        int.TryParse(Request.QueryString["NP"].ToString(), out numPage);
                    }
                    int maxRows = 10;
                    if (Request.QueryString["MR"] != null)
                    {
                        int.TryParse(Request.QueryString["MR"].ToString(), out maxRows);
                    }
                    decimal precioInicial = 0;
                    if (Request.QueryString["PI"] != null)
                    {
                        decimal.TryParse(Request.QueryString["PI"].ToString(), out precioInicial);
                    }
                    decimal precioFinal = 0;
                    if (Request.QueryString["PF"] != null)
                    {
                        decimal.TryParse(Request.QueryString["PF"].ToString(), out precioFinal);
                    }
                    int tipoOrden = -1;
                    if (Request.QueryString["OB"] != null)
                    {
                        int.TryParse(Request.QueryString["OB"].ToString(), out tipoOrden);
                    }
                    CH_Busqueda datosBusqueda = new CH_Busqueda();
                    datosBusqueda.TipoOrden         = tipoOrden;
                    datosBusqueda.IdTipoBusqueda    = idTipoBusqueda;
                    datosBusqueda.NumPagina         = numPage;
                    datosBusqueda.MaxRows           = maxRows;
                    datosBusqueda.BandFamilia       = id_familia > 0;
                    datosBusqueda.Familia.IdFamilia = id_familia;
                    datosBusqueda.Hombre            = esHombre;
                    datosBusqueda.Mujer             = esMujer;
                    datosBusqueda.Accesorio         = esAccesorio;
                    datosBusqueda.BandTalla         = id_talla > 0;
                    datosBusqueda.Talla.IdTalla     = id_talla;
                    datosBusqueda.BandColor         = id_color > 0;
                    datosBusqueda.Color.IdColor     = id_color;
                    datosBusqueda.BandRangoPrecios  = precioFinal > 0;
                    datosBusqueda.PrecioInicial     = precioInicial;
                    datosBusqueda.PrecioFinal       = precioFinal;
                    _datosBusqueda = this.ObtenerDatosDinamicos(datosBusqueda);
                    if (!_datosBusqueda.Completado)
                    {
                        Response.Redirect("/ErrorPage", true);
                    }
                }
                else
                {
                    Response.Redirect("/ErrorPage", true);
                }
            }
            catch (Exception)
            {
                Response.Redirect("/ErrorPage", true);
            }
        }