Example #1
0
        private void buscarComSus(string tipo, string idarticulo)
        {
            visibilidadComplementos(false, tipo);
            ocultarArticulos(TabArticulos.Tabs.IndexOf(TabArticulos.ActiveTab));
            if (!String.IsNullOrEmpty(idarticulo))
            {
                AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = idarticulo;
            }
            else
            {
                switch (TabArticulos.Tabs.IndexOf(TabArticulos.ActiveTab))
                {
                case 0:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP0.IdArticulo;
                    break;

                case 1:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP1.IdArticulo;
                    break;

                case 2:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP2.IdArticulo;
                    break;

                case 3:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP3.IdArticulo;
                    break;

                case 4:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP4.IdArticulo;
                    break;

                case 5:
                    AVE_StockEnTiendaCSObtener.SelectParameters["IdArticulo"].DefaultValue = EP5.IdArticulo;
                    break;
                }
            }
            DataView dv = null;

            AVE_StockEnTiendaCSObtener.SelectParameters["IdTienda"].DefaultValue = AVE.Contexto.IdTienda;
            AVE_StockEnTiendaCSObtener.SelectParameters["Tipo"].DefaultValue     = tipo;
            dv = (DataView)AVE_StockEnTiendaCSObtener.Select(new DataSourceSelectArguments());

            int    i = 1;
            string tipoBotton;

            if (tipo == "C")
            {
                tipoBotton = "Complemento";
            }
            else
            {
                tipoBotton = "Sustituto";
            }
            foreach (System.Data.DataRow row in dv.Table.Rows)
            {
                if (i < 6)
                {
                    //control stock
                    if (tipo == "C")
                    {
                        tabComplementos.Tabs[i - 1].Visible   = true;
                        tabComplementosCS.Tabs[i - 1].Visible = true;
                    }
                    else
                    {
                        TabSustituto.Tabs[i - 1].Visible   = true;
                        TabSustitutoCS.Tabs[i - 1].Visible = true;
                    }
                    controles.UCStockEnTienda uc = null;

                    switch (tipo)
                    {
                    case "C":
                        uc = tabComplementos.Tabs[i - 1].Controls[1].Controls[1] as controles.UCStockEnTienda;
                        break;

                    case "S":
                        uc = TabSustituto.Tabs[i - 1].Controls[1].Controls[1] as controles.UCStockEnTienda;
                        break;
                    }
                    uc.IdArticulo = row["IdArticulo"].ToString();

                    uc.CargarStock();
                    uc.Complementario = true;
                    uc.EP             = this;
                }
                i++;
            }
        }
Example #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //Registramos en javascript el control de la caja de texto para usarlo desde otras funciones jscript;
        string script = "var Talla_Selecionada = document.getElementById('" + hiddenTallas.ClientID + "');";

        script += "var Talla_SelecionadaNo = document.getElementById('" + hiddenTallasNo.ClientID + "');";
        Page.ClientScript.RegisterStartupScript(typeof(string), "Talla_Selecionada", script, true);
        btnFoto.Visible = false;



        if (!Page.IsPostBack)
        {
            DataView dv           = null;
            string   tallaBuscada = string.Empty;

            if (Request.QueryString["Talla"] != null)
            {
                tallaBuscada = Request.QueryString["Talla"].ToUpper().Trim();
            }

            // Obtenemos la información del producto
            if (Request.QueryString[Constantes.QueryString.IdArticulo] != null && Request.QueryString["Tipo"] == null)
            {
                //Búsqueda normal
                AVE_StockEnTiendaObtener.SelectParameters["IdTienda"].DefaultValue = AVE.Contexto.IdTienda;

                dv = (DataView)AVE_StockEnTiendaObtener.Select(new DataSourceSelectArguments());

                FotoArticulo.ImageUrl = this.ResolveUrl(ObtenerURL());
            }
            else if (Request.QueryString["Tipo"] != null && Request.QueryString["IdArticulo"] != null)
            {
                //Búsqueda de C o S
                AVE_StockEnTiendaCSObtener.SelectParameters["IdTienda"].DefaultValue = AVE.Contexto.IdTienda;
                dv = (DataView)AVE_StockEnTiendaCSObtener.Select(new DataSourceSelectArguments());
            }


            if (dv != null && dv.Count > 0)
            {
                //// Almacenamos toda la información del producto en dtProductos
                DataTable dtProductos = dv.Table;


                //// Almacenamos las tallas en dtTallas. que tieen stock
                ////DataTable dtTallas = dtProductos.DefaultView.ToTable(true, new string[] { "Talla" });
                //DataTable dtTallas = ((DataView)SqlDataTallajes.Select(new DataSourceSelectArguments())).ToTable(true, new string[] { "Talla" });


                // //vamos a eliminar Tallas que no son necesarias vamos a visualizar solo 3 tallajes
                // if (tallaBuscada.Length > 0 &&  dtTallas.Rows.Count>3)
                // {
                //     Int32 CounTalla= dtTallas.Rows.Count;

                //     for (int i=0; i < dtTallas.Rows.Count; i++)
                //     {

                //         if (tallaBuscada == dtTallas.Rows[i]["Talla"].ToString().ToUpper())
                //         {

                //             if (i == 0)
                //             {
                //                 //eliminar a partir del indice  del 4 tallaje
                //                 RemoveTallas(ref dtTallas, 2, (dtTallas.Rows.Count - 1));

                //             }

                //             else
                //             {

                //                 if (i == (dtTallas.Rows.Count - 1))
                //                 {
                //                     //eliminamos los tallajes anteriores cuando es el ultimo
                //                     RemoveTallas(ref dtTallas, 0, (dtTallas.Rows.Count - 3));

                //                 }
                //                 else
                //                 {
                //                     //esta en medio del tallaje

                //                     //eliminamos las posteriores
                //                     RemoveTallas(ref dtTallas, i + 1, (dtTallas.Rows.Count - 1));

                //                     //eliminamos las primeras
                //                     if (i > 1)
                //                     {
                //                         if ((i - 2) == 0)
                //                         {
                //                             RemoveTallas(ref dtTallas, -1, 0);

                //                         }
                //                         else
                //                         {
                //                             RemoveTallas(ref dtTallas, -1, (i - 2));

                //                         }

                //                     }


                //                 }
                //             }
                //         }
                //    }

                //}

                //Añadimos las columnas dinámicas al grid. Es una por cada talla devuelta
                //BoundField bf;
                //foreach (DataRow dr in dtTallas.Rows)
                //{
                //    bf = new BoundField();
                //    bf.DataField = dr["Talla"].ToString();          //El campo de la columna corresponde al nombre de la talla
                //    bf.HeaderText = dr["Talla"].ToString();
                //    bf.HeaderStyle.Width = Unit.Pixel(50);
                //    bf.ItemStyle.HorizontalAlign = HorizontalAlign.Center;

                //    //Resaltamos la columna si es la talla buscada
                //    if (tallaBuscada == dr["Talla"].ToString().ToUpper())
                //    {
                //        //bf.HeaderStyle.CssClass = "GridItemTallaBuscada";
                //        bf.ItemStyle.CssClass += " GridItemTallaBuscada";
                //    }

                //    GridView2.Columns.Add(bf);
                //}

                //// Añadimos las columnas con articulo, color y tallas a la tabla auxiliar
                //DataTable dtAux = new DataTable();
                //dtAux.Columns.Add("Articulo");
                //dtAux.Columns.Add("Color");
                //for (int i = 0; i < dtTallas.Rows.Count; i++)
                //{
                //    dtAux.Columns.Add(dtTallas.Rows[i][0].ToString());
                //}

                ////Establecemos las cantidades en las filas correspondientes
                //for (int i = 0; i < dtProductos.Rows.Count; i++)
                //{
                //    int Fila = Esta(dtAux, dtProductos.Rows[i]["idArticulo"].ToString());

                //    // Si se encuentra ya el producto, me indica la fila donde tengo que escribir el valor
                //    if (Fila >= 0)
                //    {
                //        for (int j = 0; j < dtAux.Columns.Count; j++)
                //            if (dtProductos.Rows[i]["Talla"].ToString() == dtAux.Columns[j].ColumnName.ToString())
                //                dtAux.Rows[Fila][dtAux.Columns[j].ColumnName] = dtProductos.Rows[i]["Cantidad"];
                //    }
                //    else
                //    {
                //        // Si no encuentra el producto, añadimos una nueva fila
                //        DataRow dr = dtAux.NewRow();
                //        dr["Articulo"] = dtProductos.Rows[i]["idArticulo"];
                //        dr["Color"] = dtProductos.Rows[i]["Color"];
                //        for (int j = 0; j < dtAux.Columns.Count; j++)
                //            if (dtProductos.Rows[i]["Talla"].ToString() == dtAux.Columns[j].ColumnName.ToString())
                //                dr[dtAux.Columns[j].ColumnName] = dtProductos.Rows[i]["Cantidad"];

                //        dtAux.Rows.Add(dr);
                //    }
                //}

                // Escribimos en las labels, la descripción y el precio
                lblDescripcion.Text = dtProductos.Rows[0]["Descripcion"].ToString();
                lblPrecioValor.Text = string.Format(" Precio : {0:C}", Decimal.Parse(dtProductos.Rows[0]["Precio"].ToString()));
                hiddenTallas.Value  = dtProductos.Rows[0]["Precio"].ToString();

                //// Cargamos en el GridView los datos del DataTable
                //GridView2.DataSource = dtAux;
                //GridView2.DataBind();

                //Si es un ean o codigoalfa no lo encontraremos así; si es un Compl o susti, menos.
                ////// Seleccionamos la fila donde se encuentra el producto exacto que hemos buscado
                ////for (int i = 0; i < GridView2.Rows.Count; i++)
                ////{
                ////    if (GridView2.Rows[i].Cells[1].Text == Request.QueryString["Producto"] | GridView2.Rows[i].Cells[1].Text == Request.QueryString["IdArticulo"])
                ////        GridView2.SelectedIndex = i;
                ////}

                // Seleccionamos la primera fila.
                //  GridView2.SelectedIndex = 0;

                //Establecemos los enlaces
                // EvaluarEnlaces();


                CargarNuevoGrid();

                if (GridStock.Rows.Count > 0)
                {
                    if (GridStock.Rows[0].Cells[0].Text.Equals(Contexto.IdTienda))
                    {
                        GridStock.SelectedIndex = 0;
                    }
                }

                CargarColoresModelo();

                if (Request.QueryString["Stock"] != null)
                {
                    GenerarSolicitud();
                }
            }
            else
            if (Request.QueryString[Constantes.QueryString.IdArticulo] != null)
            {
                //Response.Redirect("~/StockOtras.aspx?IdArticulo=" + Request.QueryString[Constantes.QueryString.IdArticulo].ToString());
            }
            else
            {
                this.lblDescripcion.Text = Resources.Resource.NoInfoProducto;
            }
        }
        else
        {
            CargarColoresModelo();
        }

        //Ejecutamos la rutina para montar los enlaces en los valores de stock. No puede hacerse en el RowDataBound porque los
        //controles que añadimos dinámicamente se pierden en los postbacks (por ejemplo al seleccionar otro producto)
        //this.MontarEnlacesGrid();

        // CargarTabladeTallaje();
    }