/// <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; } }
/// <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; } }
/// <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); } }