예제 #1
0
        private void BindGridPrevendidos(int currentPage)
        {
            DataSet ds = new DataSet();

            SisPackController.AdministrarGrillas.Configurar(this.hgCodigoBarras, "UnidadVentaID", this.CantidadOpciones);
            hgCodigoBarras.AllowPaging = false;
            DateTime fechaDesde = this.txtFechaDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");
            DateTime fechaHasta = this.txtFechaHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaHasta.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900");

            // obtengo las unidades de ventas
            ICodigoBarras codigoBarras = CodigoBarrasFactory.GetCodigoBarras();

            codigoBarras.UnidadVentaID         = Utiles.Validaciones.obtieneEntero(this.ddlUnidadVenta.SelectedValue);
            codigoBarras.ConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(this.ddlConceptoFacturacion.SelectedValue);
            int             categoriaUVentaID = Utiles.Validaciones.obtieneEntero(this.ddlCategoriaUVenta.SelectedValue);
            int             categoriaConceptoFacturacionID = Utiles.Validaciones.obtieneEntero(this.ddlCategoriaConceptoFacturacion.SelectedValue);
            DsUnidadesVenta dsUnidadVenta = codigoBarras.GetUnidadVentaCodigoBarrasPrevendido(fechaDesde, fechaHasta, categoriaUVentaID, categoriaConceptoFacturacionID);

            ds.Tables.Add(dsUnidadVenta.Datos.Clone());
            ds.Tables[0].TableName = "UnidadVenta";

            foreach (System.Data.DataRow row in dsUnidadVenta.Datos.Rows)
            {
                ds.Tables["UnidadVenta"].ImportRow(row);
            }


            // obtengo las guias por cada unidad de venta
            DsTarifaCodigoBarrasGuia dsTarifas = codigoBarras.GetTarifasCodigoBarrasGuia(fechaDesde, fechaHasta);

            ds.Tables.Add(dsTarifas.Datos.Clone());
            ds.Tables[1].TableName = "Tarifas";

            foreach (System.Data.DataRow row in dsTarifas.Datos.Rows)
            {
                ds.Tables["Tarifas"].ImportRow(row);
            }

            // obtengo los codigos de barras utilizados por guia
            DsTarifaCodigoBarrasGuia dsDetalleCodigos = codigoBarras.GetDetalleCodigoBarrasGuia(fechaDesde, fechaHasta);

            ds.Tables.Add(dsDetalleCodigos.Datos.Clone());
            ds.Tables[2].TableName = "DetalleCodigos";

            foreach (System.Data.DataRow row in dsDetalleCodigos.Datos.Rows)
            {
                ds.Tables["DetalleCodigos"].ImportRow(row);
            }


            // relaciono la tabla "UnidadVenta" con "Tarifas", a través de UnidadVentaID
            DataColumn dc1 = ds.Tables[0].Columns["UnidadVentaID"];
            DataColumn dc2 = ds.Tables[1].Columns["UnidadVentaID"];

            DataRelation dr = new DataRelation("UnidadVentaID_Tarifas", dc1, dc2, false);

            ds.Relations.Add(dr);

            // relaciono la tabla "Tarifas" con "DetalleCodigos", a través de GuiaID
            dc1 = ds.Tables[1].Columns["GuiaID"];
            dc2 = ds.Tables[2].Columns["GuiaID"];

            dr = new DataRelation("GuiaID_Detalle", dc1, dc2, false);
            ds.Relations.Add(dr);

            this.hgCodigoBarras.DataSource = ds;
            this.hgCodigoBarras.DataMember = "UnidadVenta";
            this.hgCodigoBarras.DataBind();
        }