public DsAgenciaCodigoPostal GetAgenciasCodigoPostal()
        {
            DsAgenciaCodigoPostal ds           = new DsAgenciaCodigoPostal();
            SqlParameter          pProvinciaID = new SqlParameter("@ProvinciaID", this.ProvinciaID);
            /*DM 06/11/2012 Agrego filtros a la consulta para traer la relacion entre agencias y localidad*/
            SqlParameter pAgenciaTerminalIDFiltro         = new SqlParameter("@AgenciaTerminalIDFiltro", this.AgenciaTerminalIDFiltro);
            SqlParameter pAgenciaDomicilioIDFiltro        = new SqlParameter("@AgenciaDomicilioIDFiltro", this.AgenciaDomicilioIDFiltro);
            SqlParameter pPuntoRecepcionTerminalIDFiltro  = new SqlParameter("@PuntoRecepcionTerminalIDFiltro", this.PuntoRecepcionTerminalIDFiltro);
            SqlParameter pPuntoRecepcionDomicilioIDFiltro = new SqlParameter("@PuntoRecepcionDomicilioIDFiltro", this.PuntoRecepcionDomicilioIDFiltro);
            SqlParameter pCPDesdeFiltro = new SqlParameter("@CPDesdeFiltro", this.CPDesdeFiltro);
            SqlParameter pCPHastaFiltro = new SqlParameter("@CPHastaFiltro", this.CPHastaFiltro);

            Config.Conexion.LlenarTypeDataSet(ds.Datos, System.Data.CommandType.StoredProcedure, "AgenciasCodigosPostalesALL", pProvinciaID, pAgenciaTerminalIDFiltro, pAgenciaDomicilioIDFiltro, pPuntoRecepcionTerminalIDFiltro, pPuntoRecepcionDomicilioIDFiltro, pCPDesdeFiltro, pCPHastaFiltro);

            return(ds);
        }
        private void HGDataBind()
        {
            DataSet ds = new DataSet();

            SisPackController.AdministrarGrillas.Configurar(this.hgLocalidadesCodigoPostal, "AgenciaCodigoPostalID", this.CantidadOpciones);

            IAgenciaCodigoPostal agenciaCodigoPostal = AgenciaCodigoPostalFactory.GetAgenciaCodigoPostal();

            agenciaCodigoPostal.ProvinciaID = Utiles.Validaciones.obtieneEntero(ddlProvincia.SelectedValue);

            /*DM 06/11/2012 agrega filtros para las agencias ccpp ya guardadas*/

            if (BusqAgenciaFiltroTerminal.Sucursal == string.Empty)
            {
                agenciaCodigoPostal.AgenciaTerminalIDFiltro        = 0;
                agenciaCodigoPostal.PuntoRecepcionTerminalIDFiltro = 0;
            }
            else
            {
                if (Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID) > 0)
                {
                    agenciaCodigoPostal.AgenciaTerminalIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID);
                }
                else
                {
                    agenciaCodigoPostal.PuntoRecepcionTerminalIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID) * -1;
                }
            }

            if (BusqAgenciaFiltroDomicilio.Sucursal == string.Empty)
            {
                agenciaCodigoPostal.AgenciaDomicilioIDFiltro        = 0;
                agenciaCodigoPostal.PuntoRecepcionDomicilioIDFiltro = 0;
            }
            else
            {
                if (Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID) > 0)
                {
                    agenciaCodigoPostal.AgenciaDomicilioIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID);
                }
                else
                {
                    agenciaCodigoPostal.PuntoRecepcionDomicilioIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID) * -1;
                }
            }

            agenciaCodigoPostal.CPDesdeFiltro = this.txtCPDesdeFiltro.Text;
            agenciaCodigoPostal.CPHastaFiltro = this.txtCPHastaFiltro.Text;

            ILocalidadAgenciaCodigoPostal localidadCodigoPostal = LocalidadAgenciaCodigoPostalFactory.GetLocalidadAgenciaCodigoPostal();

            localidadCodigoPostal.ProvinciaID = Utiles.Validaciones.obtieneEntero(ddlProvincia.SelectedValue);

            DsAgenciaCodigoPostal            dsAgencias    = agenciaCodigoPostal.GetAgenciasCodigoPostal();
            DsLocalidadesAgenciaCodigoPostal dsLocalidades = localidadCodigoPostal.GetLocalidadesAgenciasCodigoPostal();

            DsAgenciaCodigoPostal.DatosRow[]            drAgencias;
            DsLocalidadesAgenciaCodigoPostal.DatosRow[] drLocalidades;

            // Clono la estructura de la tabla
            ds.Tables.Add(dsAgencias.Tables[0].Clone());
            ds.Tables[0].TableName = "Agencias";

            drAgencias    = (DsAgenciaCodigoPostal.DatosRow[])dsAgencias.Datos.Select();
            drLocalidades = (DsLocalidadesAgenciaCodigoPostal.DatosRow[])dsLocalidades.Datos.Select();

            foreach (System.Data.DataRow row in drAgencias)
            {
                ds.Tables["Agencias"].ImportRow(row);
            }


            ds.Tables.Add(dsLocalidades.Tables[0].Clone());
            ds.Tables[1].TableName = "Localidades";

            foreach (System.Data.DataRow row in drLocalidades)
            {
                ds.Tables["Localidades"].ImportRow(row);
            }

            DataColumn dc1  = ds.Tables["Agencias"].Columns["AgenciaCodigoPostalID"],
                       dc2  = ds.Tables["Localidades"].Columns["AgenciaCodigoPostalID"];
            DataRelation dr = new DataRelation("AgenciaLocalidades", dc1, dc2, false);

            ds.Relations.Add(dr);

            Session["DsLocalidadesExcel"] = ds;

            this.hgLocalidadesCodigoPostal.DataSource = ds;
            this.hgLocalidadesCodigoPostal.DataMember = "Agencias";
            this.hgLocalidadesCodigoPostal.DataBind();
        }