Beispiel #1
0
 /// <summary>
 /// Obtener talla a partir del id del producto y su color
 /// </summary>
 /// <param name="_datos">Objeto con datos de conexión y parámetros (Id y color del producto)</param>
 /// <returns></returns>
 public List <CH_Talla> ObtenerTallasXIDProductoIDColor(CH_Producto _datos)
 {
     try
     {
         List <CH_Talla> dataResult = new List <CH_Talla>();
         object[]        parametros = { _datos.IdProducto, _datos.Color.IdColor };
         SqlDataReader   dr         = SqlHelper.ExecuteReader(_datos.Conexion, "CH_spCSLDB_get_TallaProductoXIDColor", parametros);
         CH_Talla        itemTalla;
         while (dr.Read())
         {
             itemTalla             = new CH_Talla();
             itemTalla.IdTalla     = dr.GetInt32(dr.GetOrdinal("IDTalla"));
             itemTalla.Descripcion = dr.GetString(dr.GetOrdinal("Descripcion"));
             dataResult.Add(itemTalla);
         }
         return(dataResult);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Beispiel #2
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;
            }
        }