Example #1
0
        protected void PaginarInternoAg(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
        {
            ((DataGrid)source).CurrentPageIndex = e.NewPageIndex;
            AdministrarGrillas.Configurar(((DataGrid)source), "GuiaID", 10, true, true);
            DsReporteRendicionUsuario dsGuias = (DsReporteRendicionUsuario)Session["dsGuias"];

            ((DataGrid)source).DataSource = dsGuias.Datos.Select("Usuario = '" + this.txtUnidadVentaID.Text + "' and NroRendicion = " + this.txtUnidadVentaIDI.Text);
            ((DataGrid)source).DataBind();
        }
        /// <summary>
        ///  Diego 22/11/2012 Metodo que trae las guias pertenecientes a una rendicion y los usuarios relacionados
        /// </summary>
        /// <param name="nroInicio"></param>
        /// <param name="nroFin"></param>
        /// <param name="agenciaID"></param>
        /// <returns></returns>
        public DsReporteRendicionUsuario ConsultarRendicion(string nroInicio, string nroFin, int agenciaID)
        {
            DsReporteRendicionUsuario ds    = new DsReporteRendicionUsuario();
            SqlParameter pNroRendicionDesde = new SqlParameter("@NroRendicionDesde", nroInicio);
            SqlParameter pNroRendicionHasta = new SqlParameter("@NroRendicionHasta", nroFin);
            SqlParameter pAgenciaID         = new SqlParameter("@AgenciaID", agenciaID);

            Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "RendicionAgecniaUsuario", pNroRendicionDesde, pNroRendicionHasta, pAgenciaID);

            return(ds);
        }
Example #3
0
        protected void dtgRendiciones_ItemDataBound1(object sender, DataGridItemEventArgs e)
        {
            Control      container = e.Item;
            ListItemType itemType  = e.Item.ItemType;

            // Reviso si estoy en el detalle de items
            if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem)
            {
                // Estoy en el detalle de items
                if (e.Item.DataItem == null)
                {
                    return;
                }
                // Busco la subgrilla y la configuro
                DataGrid dtgGuias;
                dtgGuias = (DataGrid)container.FindControl("dtgGuias");
                AdministrarGrillas.Configurar(dtgGuias, "GuiaID", 10, true, true);
                dtgGuias.ShowFooter  = false;
                dtgGuias.AllowPaging = dtgGuias.AllowPaging;
                string agenciaOrigenID = String.Empty;
                string NroRendicion    = String.Empty;

                if (null != dtgGuias)
                {
                    // Cargo los datos en los controles
                    Label lblAgenciaOrigenID = (Label)e.Item.FindControl("lblUsuario");
                    agenciaOrigenID = lblAgenciaOrigenID.Text.Trim();

                    Label lblNroRendicion = (Label)e.Item.FindControl("lblNroRendicion");
                    NroRendicion = lblNroRendicion.Text.Trim();

                    DsReporteRendicionUsuario dsGuiasTDE = (DsReporteRendicionUsuario)Session["dsGuias"];

                    HtmlImage btnExpandButton = (HtmlImage)container.FindControl("imageRendicion_");


                    // Cargo el script para mostrar y ocultar la subgrilla
                    if ((e.Item.ItemIndex + 3) < 10)
                    {
                        if (btnExpandButton != null)
                        {
                            btnExpandButton.Attributes.Add("OnClick",
                                                           "Toggle('dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias', 'dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_');window.document.getElementById('txtUnidadVentaID').value='" + agenciaOrigenID + "';window.document.getElementById('txtUnidadVentaIDI').value=" + NroRendicion + ";");
                        }

                        script += "if (param != 'dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias'){";
                        script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_divGuias'].style.display = 'none';";
                        script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/plus.gif';}";
                        script += "else\n";
                        script += "document.all['dtgRendiciones_ctl0" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/minus.gif';";
                    }
                    else
                    {
                        if (btnExpandButton != null)
                        {
                            btnExpandButton.Attributes.Add("OnClick",
                                                           "Toggle('dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias', 'dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_');window.document.getElementById('txtUnidadVentaID').value='" + agenciaOrigenID + "';window.document.getElementById('txtUnidadVentaIDI').value=" + NroRendicion + ";");
                        }
                        script += "if (param != 'dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias'){";
                        script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_divGuias'].style.display = 'none';";
                        script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/plus.gif';}";
                        script += "else\n";
                        script += "document.all['dtgRendiciones_ctl" + (e.Item.ItemIndex + 3) + "_imageRendicion_'].src = 'Images/minus.gif';";
                    }

                    dtgGuias.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(PaginarInternoAg);

                    dtgGuias.DataSource = dsGuiasTDE.Datos.Select("usuario = '" + agenciaOrigenID + "' and NroRendicion = " + NroRendicion);
                    dtgGuias.DataBind();
                }
            }
        }
Example #4
0
        private void BindGrilla()
        {
            if ((int.Parse(txtHasta.Text) - int.Parse(txtInicio.Text) < 10) && (int.Parse(txtHasta.Text) - int.Parse(txtInicio.Text) >= 0))
            {
                DataSet ds = new DataSet();
                // Tegno que mostrarlos de forma resumida. Configuro la grilla a mostrar
                SisPackController.AdministrarGrillas.Configurar(this.dtgRendiciones, "GuiaID", 10);

                // Termino de realizar configuraciones a la grilla
                this.dtgRendiciones.AllowPaging     = true;
                dtgRendiciones.ShowFooter           = true;
                dtgRendiciones.FooterStyle.CssClass = "TextoGrilla";

                IReporteRendicionUsuario  guiaTDE   = ReporteRendicionUsuarioFactory.GetReporteRendicionUsuario();
                DsReporteRendicionUsuario dsGuias   = new DsReporteRendicionUsuario();
                DsReporteRendicionUsuario dsUsuario = new DsReporteRendicionUsuario();
                // Reviso si los datos ya estan en memoria o tengo que cargarlos
                if (Session["dsGuias"] == null)
                {
                    // Tengo que cargarlos. Los busco y los cargo en memoria
                    dsGuias            = guiaTDE.ConsultarRendicion(txtInicio.Text, txtHasta.Text, usuario.AgenciaID);
                    Session["dsGuias"] = dsGuias;
                }
                else
                {
                    // Los datos estan en memoria. Los cargo en el objeto dsGuiasTDE
                    dsGuias = (DsReporteRendicionUsuario)Session["dsGuias"];
                }
                // Clono la estructura de la tabla dsGuias
                ds.Tables.Add(dsGuias.Datos.Clone());
                ds.Tables[0].TableName = "Guias";

                ds.Tables.Add(dsGuias.Datos.Clone());
                ds.Tables[1].TableName = "Usuarios";

                string usuarios = "";
                // Obtengo los Ids de las agencias
                usuarios = ",";
                foreach (System.Data.DataRow row in dsGuias.Datos.Rows)
                {
                    ds.Tables["Guias"].ImportRow(row);
                    if (usuarios.IndexOf("," + row["Usuario"] + "-" + row["NroRendicion"] + ",") == -1)
                    {
                        // No se habia agregado. La agrego
                        usuarios += row["Usuario"] + "-" + row["NroRendicion"] + ",";
                        ds.Tables[1].ImportRow(row);
                        dsUsuario.Datos.ImportRow(row);
                    }
                }

                if (Session["dsUsuario"] == null)
                {
                    Session["dsUsuario"] = dsUsuario;
                }
                else
                {
                    // Las agencias ya estan cargadas en memoria. Las cargo
                    dsUsuario = (DsReporteRendicionUsuario)Session["dsUsuario"];
                }
                // Cargo los datos de la agencia, junto con los datos calculados en el DataSet ds
                foreach (System.Data.DataRow row in ds.Tables[1].Rows)
                {
                    // Obtengo los datos para realizar los calculos
                    double ImporteTotal = Utiles.Validaciones.obtieneDouble(Convert.ToString(dsGuias.Datos.Compute("Sum(ImporteTotalGuia)", "usuario = '" + row["Usuario"].ToString() + "' and NroRendicion = " + row["NroRendicion"].ToString())));

                    double Cantidad = Utiles.Validaciones.obtieneEntero(Convert.ToString(dsGuias.Datos.Compute("Count(ImporteTotalGuia)", "usuario = '" + row["Usuario"].ToString() + "' and NroRendicion = " + row["NroRendicion"].ToString())));

                    // Cargo los calculos
                    row["ImporteTotalGuia"] = ImporteTotal;
                    row["Cantidad"]         = Cantidad;
                }

                // Realizo la relación entre las tablas Agencias y GuiasTDE y GuiasTDE2
                DataColumn   dc1 = ds.Tables[1].Columns["Usuario"];
                DataColumn   dc2 = ds.Tables[0].Columns["Usuario"];
                DataRelation dr  = new DataRelation("Usuario_Guia", dc1, dc2, false);
                ds.Relations.Add(dr);
                // Cargo los datos en el dataGrid dtgAg
                this.dtgRendiciones.DataSource = ds;
                this.dtgRendiciones.DataMember = "Usuarios";
                this.dtgRendiciones.DataBind();
            }
            else
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se pueden consultar más de 10 rendiciones.");
            }
        }