Exemple #1
0
        public DatosClienteCorp[] GetClientes(String Codigo, String Nombre, String Apellido, String CUIT, Int32 AgenciaID, String TipoCliente)
        {
            var clientesCorp = new List <DatosClienteCorp>();

            IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
            DsClientesGuia       ds       = new DsClientesGuia();
            IAgencia             agencia  = AgenciaFactory.GetAgencia();

            agencia.AgenciaID = Convert.ToInt32(AgenciaID);
            agencia.ConsultarBasico();
            int    localidadID    = agencia.Domicilio.Localidad.LocalidadID;
            int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
            int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
            int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
            int    codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;
            string filtroCorp     = "";
            int    totalPrueba;

            if (TipoCliente != null)
            {
                if (TipoCliente == "1")
                {
                    ds = clientes.GetClientesCorpALL(Codigo, Nombre, "", Apellido, CUIT);
                }
                else
                {
                    ds = clientes.GetClientesEvenOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                    //  ds = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                }
            }

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DatosClienteCorp clienteCorp = new DatosClienteCorp
                {
                    Codigo                 = ds.Tables[0].Rows[i]["Codigo"] == null ? "" : ds.Tables[0].Rows[i]["Codigo"].ToString(),
                    ClienteID              = ds.Tables[0].Rows[i]["ClienteID"] == null ? "" : ds.Tables[0].Rows[i]["ClienteID"].ToString(),
                    TipoDoc                = ds.Tables[0].Rows[i]["TipoDoc"] == null ? "" : ds.Tables[0].Rows[i]["TipoDoc"].ToString(),
                    NombreCompleto         = ds.Tables[0].Rows[i]["NombreCompleto"] == null ? "" : ds.Tables[0].Rows[i]["NombreCompleto"].ToString(),
                    Nombre                 = ds.Tables[0].Rows[i]["Nombre"] == null ? "" : ds.Tables[0].Rows[i]["Nombre"].ToString(),
                    Apellido               = ds.Tables[0].Rows[i]["Apellido"] == null ? "" : ds.Tables[0].Rows[i]["Apellido"].ToString(),
                    CondicionPagoID        = ds.Tables[0].Rows[i]["CondicionPagoID"] == null ? "" : ds.Tables[0].Rows[i]["CondicionPagoID"].ToString(),
                    CondicionIvaID         = ds.Tables[0].Rows[i]["CondicionIvaID"] == null ? "" : ds.Tables[0].Rows[i]["CondicionIvaID"].ToString(),
                    DomicilioID            = ds.Tables[0].Rows[i]["DomicilioID"] == null ? "" : ds.Tables[0].Rows[i]["DomicilioID"].ToString(),
                    Calle                  = ds.Tables[0].Rows[i]["Calle"] == null ? "" : ds.Tables[0].Rows[i]["Calle"].ToString(),
                    CalleNro               = ds.Tables[0].Rows[i]["CalleNro"] == null ? "" : ds.Tables[0].Rows[i]["CalleNro"].ToString(),
                    LocalidadID            = ds.Tables[0].Rows[i]["LocalidadID"] == null ? "" : ds.Tables[0].Rows[i]["LocalidadID"].ToString(),
                    Telefono               = ds.Tables[0].Rows[i]["Telefono"] == null ? "" : ds.Tables[0].Rows[i]["Telefono"].ToString(),
                    Localidad              = ds.Tables[0].Rows[i]["Localidad"] == null ? "" : ds.Tables[0].Rows[i]["Localidad"].ToString(),
                    Provincia              = ds.Tables[0].Rows[i]["Provincia"] == null ? "" : ds.Tables[0].Rows[i]["Provincia"].ToString(),
                    TipoCliente            = ds.Tables[0].Rows[i]["TipoCliente"] == null ? "" : ds.Tables[0].Rows[i]["TipoCliente"].ToString(),
                    Fax                    = ds.Tables[0].Rows[i]["Fax"] == null ? "" : ds.Tables[0].Rows[i]["Fax"].ToString(),
                    ProvinciaID            = ds.Tables[0].Rows[i]["ProvinciaID"] == null ? "" : ds.Tables[0].Rows[i]["ProvinciaID"].ToString(),
                    Depto                  = ds.Tables[0].Rows[i]["Depto"] == null ? "" : ds.Tables[0].Rows[i]["Depto"].ToString(),
                    NroCUIT                = ds.Tables[0].Rows[i]["NroCUIT"] == null ? "" : ds.Tables[0].Rows[i]["NroCUIT"].ToString(),
                    TipoRetiroEntregaID    = ds.Tables[0].Rows[i]["TipoRetiroEntregaID"] == null ? "" : ds.Tables[0].Rows[i]["TipoRetiroEntregaID"].ToString(),
                    DomicilioRetiroEntrega = ds.Tables[0].Rows[i]["DomicilioRetiroEntrega"] == null ? "" : ds.Tables[0].Rows[i]["DomicilioRetiroEntrega"].ToString(),
                    TipoOrigenDestinoID    = ds.Tables[0].Rows[i]["TipoOrigenDestinoID"] == null ? "" : ds.Tables[0].Rows[i]["TipoOrigenDestinoID"].ToString(),
                    OrigenID               = ds.Tables[0].Rows[i]["OrigenID"] == null ? "" : ds.Tables[0].Rows[i]["OrigenID"].ToString(),
                    DepartamentoID         = ds.Tables[0].Rows[i]["DepartamentoID"] == null ? "" : ds.Tables[0].Rows[i]["DepartamentoID"].ToString(),
                    TelCodArea             = ds.Tables[0].Rows[i]["TelCodArea"] == null ? "" : ds.Tables[0].Rows[i]["TelCodArea"].ToString(),
                    CodPostal              = ds.Tables[0].Rows[i]["CodPostal"] == null ? "" : ds.Tables[0].Rows[i]["CodPostal"].ToString(),
                    CodigoPostalID         = ds.Tables[0].Rows[i]["CodigoPostalID"] == null ? "" : ds.Tables[0].Rows[i]["CodigoPostalID"].ToString()
                };
                clientesCorp.Add(clienteCorp);
            }

            JavaScriptSerializer ser = new JavaScriptSerializer();

            ser.MaxJsonLength = Int32.MaxValue;
            string json = ser.Serialize(clientesCorp);

            DatosClienteCorp[] resul = ser.Deserialize <DatosClienteCorp[]>(json);

            return(resul);
        }
Exemple #2
0
        public DatosCliente GetCliente(String Codigo, String Nombre, String Apellido, String CUIT, Int32 AgenciaID, String TipoCliente)
        {
            DatosCliente cliente = null;

            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
                DsClientesGuia       ds       = new DsClientesGuia();
                IAgencia             agencia  = AgenciaFactory.GetAgencia();
                agencia.AgenciaID = Convert.ToInt32(AgenciaID);
                agencia.ConsultarBasico();
                int    localidadID    = agencia.Domicilio.Localidad.LocalidadID;
                int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
                int    codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;
                string filtroCorp     = "";
                int    totalPrueba;

                if (TipoCliente != null)
                {
                    if (TipoCliente == "1")
                    {
                        // 29/09/2014. Si viene de emision de conceptos no tiene que verificar convenios, sino traer todos los clientes
                        ds = clientes.GetClientesCorpALLDataSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                        // 29/09/2014. Esto estaba antes del cambio de emision de conceptos
                        //ds = clientes.GetClientesCorpOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba, AgenciaID, localidadID, departamentoID, provinciaID, paisID);
                        total = ds.Datos.Select("").Length;
                    }
                    else
                    {
                        ds    = clientes.GetClientesEvenOrigenSet(Codigo, Nombre, "", Apellido, CUIT, 0, out totalPrueba);
                        total = ds.Datos.Rows.Count;
                    }
                }
                if (ds == null)
                {
                    total = 0;
                }

                if (total == 1)
                {
                    DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[])ds.Datos.Select(filtroCorp))[0];
                    cliente               = new DatosCliente();
                    cliente.ClienteID     = dr.ClienteID.ToString();
                    cliente.TipoDoc       = dr.IsTipoDocNull() ? "" : dr.TipoDoc.ToString();
                    cliente.Codigo        = dr.IsCodigoNull() ? "" : dr.Codigo;
                    cliente.Nombre        = dr.IsNombreNull() ? "" : dr.Nombre;
                    cliente.Apellido      = dr.IsApellidoNull() ? "" : dr.Apellido;
                    cliente.DomicilioID   = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                    cliente.Calle         = dr.IsCalleNull() ? "" : dr.Calle;
                    cliente.CalleNro      = dr.IsCalleNroNull() ? "" : dr.CalleNro;
                    cliente.Telefono      = dr.IsTelefonoNull() ? "" : dr.Telefono;
                    cliente.Fax           = dr.IsFaxNull() ? "" : dr.Fax;
                    cliente.LocalidadID   = dr.IsLocalidadIDNull() ? "" : dr.LocalidadID.ToString();
                    cliente.ProvinciaID   = dr.IsProvinciaIDNull() ? "" : dr.ProvinciaID.ToString();
                    cliente.Depto         = dr.IsDeptoNull() ? "" : dr.Depto.ToString();
                    cliente.CondicionIVA  = dr.IsCondicionIvaIDNull() ? "" : dr.CondicionIvaID.ToString();
                    cliente.CondicionPago = dr.IsCondicionPagoDescripNull() ? "" : dr.CondicionPagoDescrip;
                    cliente.Cuit          = dr.IsNroCUITNull() ? "" : dr.NroCUIT;
                    cliente.TipoCliente   = dr.TipoCliente.ToString();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error al consultar datos de clientes: " + ex.Message);
            }

            return(cliente);
        }
        /// <summary>
        /// Metodo que filtra los clientes por agencia, de acuerdo al origen que los clientes tienen en sus convenios.
        /// Solo busca entre los clientes CORPORATIVOS!!!!!!
        /// </summary>
        private void BuscarPorAgencia()
        {
            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();
                DsClientesGuia       ds       = new DsClientesGuia();
                //DsClientesGuia ds = clientes.GetClientesCorpOrigenSet(codigo,nombre,"",apellido,cuit);
                IAgencia agencia = AgenciaFactory.GetAgencia();
                agencia.AgenciaID = Convert.ToInt32(this.agenciaID);
                //OJO!!!
                agencia.ConsultarBasico();
                int localidadID    = agencia.Domicilio.Localidad.LocalidadID;
                int codigoPostalID = agencia.Domicilio.OCodigoPostal.CodigoPostalID;

                /*SFE: Desarrollo de Codigos Postales. Veo si la localidad origen de la Agencia esta incluida en una agrupacion de codigos postales. Me traigo el ID de la agrupacion para ver si esta como origenflete en un convenio de cliente*/
                ICodigoPostalAgrupacion codigoPostalAgrupacion = CodigoPostalAgrupacionFactory.GetCodigoPostalAgrupacion();
                int agrupacionLocalidadOrigenID = codigoPostalAgrupacion.GetAgrupacionDeLocalidad(localidadID, codigoPostalID);

                int    provinciaID    = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agencia.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agencia.Domicilio.Localidad.Provincia.Pais.PaisID;
                string filtroCorp     = "";
                int    totalPrueba;

                if (this.tipoCliConsul != null)
                {
                    if (tipoCliConsul == "1")
                    {
                        ds = clientes.GetClientesCorpOrigenSet(codigo, nombre, "", apellido, cuit, 0, out totalPrueba,
                                                               Utiles.Validaciones.obtieneEntero(agenciaID), localidadID, departamentoID, provinciaID, paisID, codigoPostalID);

                        /*filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 1 AND NroCuit like '" + this.cuit + "%' AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                         *      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                         *      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                         *      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";*/

                        //Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", ""); //filtroCorp
                        total = ds.Datos.Select("").Length;                         //filtroCorp
                    }
                    else
                    {
                        ds = clientes.GetClientesEvenOrigenSet(codigo, nombre, "", apellido, cuit, 0, out totalPrueba);

                        /*filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 0 AND NroCuit like '" + this.cuit + "'";*/
                        total = ds.Datos.Rows.Count;
                    }
                }

                /*
                 * string filtro = "Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *                                                                      "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *                                                                      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *                                                                      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))))";
                 *
                 * DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *                                                                      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *                                                                      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *                                                                      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))","ClienteID");
                 */
                //DsClientesGuia.DatosDataTable  tablaResul;
                //DataTable tablaResul;


                //tablaResul = Utiles.DataSetHelper.SelectDistinct("Datos", ds.Datos , "ClienteID",filtro);
                //tablaResul = Utiles.DataSetHelper.SelectDistinct("Datos", ds.Datos , "ClienteID",filtro);
                //Utiles.DataSetHelper.RemoveEquals((DataRowCollection)drLista,"ClienteID");
                //	System.Data.DataTable tablaResul = new DataTable();
                //	tablaResul = Utiles.DataSetHelper.SelectDistinct("Resul",ds.Datos,"ClienteID", filtro);

                /*
                 * DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" ))","ClienteID");
                 */
                /*
                 * select * from #temp
                 * where Codigo LIKE '6%'
                 * AND Nombre LIKE '%%'
                 * AND Apellido LIKE'%'
                 * AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=1 AND OrigenID=1) OR (TipoOrigenDestinoID=2 AND OrigenID=1)
                 * OR ( TipoOrigenDestinoID = 3 AND OrigenID=1)
                 * OR (TipoOrigenDestinoID = 4 AND OrigenID=1 )
                 * OR (TipoOrigenDestinoID = 5 AND OrigenID=1 ))))
                 *
                 * string filtroCorp = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 * "%' AND TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                 * ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                 * ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 * ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";
                 *
                 * Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtroCorp);*/
/*
 *                              string filtro  = "Codigo LIKE '" + codigo + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
 *                                      "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
 *                                      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
 *                                      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
 *                                      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))))";
 *                              Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtro);*///NATI
                //total = Utiles.DataSetHelper.DeleteCollectionEqualRows(drLista,"ClienteID");

                //if(tablaResul != null)
                //total = tablaResul.Rows.Count;
                //total = ds.Datos.Select(filtro).Length;// tablaResul.Rows.Count;
                ////total = ((DsClientesGuia.DatosRow[]) ds.Datos.Rows
                //total = ds.Datos.Select(filtro).Length;


                //total = ds.Datos.Select(filtroCorp).Length; --original



                //[0];
                //else
                //	total = 0;
                //total = drLista.Length;

                if (ds == null)
                {
                    total = 0;
                }

                if (total > 0)
                {
                    if (total == 1)
                    {
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow) ((DsClientesGuia.DatosDataTable) ds.Datos).Rows[0]; //drLista[0];

                        //DsClientesGuia.DatosRow dr =(DsClientesGuia.DatosRow) ds.Datos.Rows[0];
                        //DataRow dr = tablaResul.Rows[0];
                        //DsClientesGuia.DatosRow dr =(DsClientesGuia.DatosRow) drLista[0];
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow) ((DsClientesGuia.DatosDataTable)drLista).Rows[0]; //drLista[0];

                        /*
                         * this.txtClienteID.Text = dr["ClienteID"].ToString();
                         * this.txtTipoDoc.Text= dr["TipoDoc"] == null ? "" : dr["TipoDoc"].ToString();
                         * this.txtCodigo.Text = dr["Codigo"] == null ? "" : dr["Codigo"].ToString();
                         * this.txtNombre.Text = dr["Nombre"] == null ? "": dr["Nombre"].ToString();
                         * this.txtApellido.Text = dr["Apellido"] == null ? "" : dr["Apellido"].ToString();
                         * this.txtCalle.Text = dr["Calle"] == null ? "" : dr["Calle"].ToString();
                         * this.txtCalleNro.Text=dr["CalleNro"] == null ? "" : dr["CalleNro"].ToString();
                         * this.txtTelefono.Text=dr["Telefono"] == null ? "" : dr ["Telefono"].ToString();
                         * this.txtFax.Text=dr["Fax"] == null ? "" : dr["Fax"].ToString();
                         * this.txtLocalidadID.Text=dr["LocalidadID"] == null ? "" : dr["LocalidadID"].ToString();
                         * this.txtProvinciaID.Text=dr["ProvinciaID"] == null ? "" : dr["ProvinciaID"].ToString();
                         * this.txtDpto.Text=dr["Depto"] == null ? "" : dr["Depto"].ToString();
                         * this.txtCondicionIVA.Text=dr["CondicionIvaID"] == null ? "" : dr["CondicionIvaID"].ToString();
                         * this.txtCondicionPago.Text=dr["CondicionPagoDescrip"] == null ? "" : dr["CondicionPagoDescrip"].ToString();;
                         * this.txtCuit.Text=dr["NroCUIT"] == null ? "" : dr["NroCUIT"].ToString();
                         * this.txtTipoCliente.Text=dr["TipoCliente"].ToString();
                         */
                        //DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[]) ds.Datos.Select(filtro))[0];
                        DsClientesGuia.DatosRow dr = (DsClientesGuia.DatosRow)((DsClientesGuia.DatosRow[])ds.Datos.Select(filtroCorp))[0];
                        Session["ClienteCorp.ClienteID"] = dr.ClienteID;
                        this.txtClienteID.Text           = dr.ClienteID.ToString();
                        this.txtTipoDoc.Text             = dr.IsTipoDocNull()? "":dr.TipoDoc.ToString();
                        this.txtCodigo.Text   = dr.IsCodigoNull() ? "" : dr.Codigo;
                        this.txtNombre.Text   = dr.IsNombreNull()? "": dr.Nombre;
                        this.txtApellido.Text = dr.IsApellidoNull()? "": dr.Apellido;


                        if (tipoCliConsul == "1")
                        {
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                            DsClientesGuia dsC = new DsClientesGuia();
                            dsC = clientes.GetClientesCorpDomicilio(dr.ClienteID, Utiles.Validaciones.obtieneEntero(agenciaID), (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Remitente);
                            if (dsC.Datos.Count > 0)
                            {
                                DsClientesGuia.DatosRow drC = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0];
                                dr.Calle       = drC.IsCalleNull() ? "" : drC.Calle;
                                dr.CalleNro    = drC.IsCalleNroNull() ? "" : drC.CalleNro;
                                dr.Telefono    = drC.IsTelefonoNull() ? "" : drC.Telefono;
                                dr.TelCodArea  = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea;
                                dr.LocalidadID = drC.LocalidadID;
                                dr.ProvinciaID = drC.ProvinciaID;
                                dr.Depto       = drC.IsDeptoNull() ? "" : drC.Depto;
                                dr.Fax         = drC.IsFaxNull() ? "" : drC.Fax;
                                //VSA: Modificación desarrollo Código postales
                                dr.CodPostal                 = drC.IsCodPostalNull() ? "" : drC.CodPostal;
                                dr.CodigoPostalID            = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID;
                                dr.Localidad                 = drC.IsLocalidadNull() ? "" : drC.Localidad;
                                dr.DomicilioID               = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID;
                                dr.Provincia                 = drC.IsProvinciaNull() ? "" : drC.Provincia;
                                Session["DsClientesGuiaRem"] = drC;
                            }
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        }
                        this.txtCalle.Text           = dr.IsCalleNull()? "":dr.Calle;
                        this.txtCalleNro.Text        = dr.IsCalleNroNull()? "":dr.CalleNro;
                        this.txtTelefono.Text        = dr.IsTelefonoNull()? "":dr.Telefono;
                        this.txtTelefonoCodArea.Text = dr.IsTelCodAreaNull() ? "" : dr.TelCodArea;
                        this.txtFax.Text             = dr.IsFaxNull()? "":dr.Fax;
                        this.txtLocalidadID.Text     = dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString();
                        this.txtDomicilioID.Text     = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                        this.txtProvinciaID.Text     = dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString();
                        this.txtDpto.Text            = dr.IsDeptoNull() ? "" : dr.Depto;
                        //VSA: Modificación desarrollo Código postales
                        this.txtCodPostal.Text      = dr.IsCodPostalNull() ? "" : dr.CodPostal;
                        this.txtCodigoPostalID.Text = dr.IsCodigoPostalIDNull() ? "" : dr.CodigoPostalID.ToString();
                        this.txtLocalidad.Text      = dr.IsLocalidadNull() ? "" : dr.Localidad;
                        this.txtProvincia.Text      = dr.IsProvinciaNull() ? "" : dr.Provincia;
                        if (this.tipoCliConsul == "1")
                        {
                            string locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                            this.txtLocalidades.Text = this.txtLocalidadID.Text + "," + locDescrip + ";";
                        }
                        else
                        {
                            this.txtLocalidades.Text = string.Empty;
                            // SFE: Desarrollo de codigos postales, se comenta el llenado de este txt
                            //this.txtLocalidades.Text = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(this.txtProvinciaID.Text));
                        }


                        this.txtCondicionIVA.Text  = dr.IsCondicionIvaIDNull()? "":dr.CondicionIvaID.ToString();
                        this.txtCondicionPago.Text = dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip;
                        this.txtCuit.Text          = dr.IsNroCUITNull()? "": dr.NroCUIT;
                        this.txtTipoCliente.Text   = dr.TipoCliente.ToString();
                        this.txtErrorMsg.Text      = "";
                        this.txtOpen.Text          = "";


                        //Aqui se ejecuta el SP que busca por UVenta para un cliente, desde un origen.
                        //Sólo se ejecuta cuando se selecciona un cliente, y cuando se filtra por agencia.
                        this.txtProducto.Text   = "";
                        this.txtTEntrega.Text   = "";
                        this.txtServicio.Text   = "";
                        this.txtModEntrega.Text = "";


                        if (this.tipoCliConsul == "1")
                        {
                            IAdministrarGuias oAdmGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                            oAdmGuia.ClienteCorp.ClienteID = dr.ClienteID;
                            oAdmGuia.AgenciaOrigenID       = agencia.AgenciaID;
                            //ICotizacionCliente oCotiz = CotizacionClienteFactory.GetCotizacionCliente();
                            //oCotiz.ClienteID = dr.ClienteID;//Convert.ToInt32(dr["ClienteID"]);
                            //oCotiz.ClienteID = Convert.ToInt32(dr["ClienteID"]);
                            //DsUnidadVentaTEntregaProductoServicio dsProd = oCotiz.GetUVentaServTEntregaModOrigenCotizadasByClienteIDDataSet();
                            DsUnidadVentaTEntregaProductoServicio dsProd = oAdmGuia.GetUVentaServTEntregaModOrigenCotizadasByClienteAgenciaDataSet();

                            if (dsProd == null)
                            {
                                return;
                            }

                            DsUnidadVentaTEntregaProductoServicio.DatosRow[] drDatos = (DsUnidadVentaTEntregaProductoServicio.DatosRow[])dsProd.Datos.Select("((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.AgrupacionLocalidad + " AND OrigenID=" + agrupacionLocalidadOrigenID +
                                                                                                                                                             ")  OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                                                                                                                                                             ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                                                                                                                                                             " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + " )OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))");

                            //SortedList listaProd = new SortedList();


                            if (drDatos.Length > 0)
                            {
                                string datosProd       = "";
                                string datosTEntrega   = "";
                                string datosServ       = "";
                                string datosModEntrega = "";


                                /*	foreach(DsUnidadVentaTEntregaProductoServicio.DatosRow dr in ds.Datos.Rows)
                                 *              datos += dr.ProductoID + "," + dr.ProductoDescrip + "," + dr.TiempoEntregaID + "," + dr.TiempoEntregaDescrip + "," + (dr.IsServicioIDNull() ? 0 : Convert.ToInt32(dr.ServicioID)) + "," + (dr.IsServicioDescripNull() ? "Sin Servicio" : dr.ServicioDescrip) + "," + dr.ModalidadEntregaID + "," + dr.ModalidadEntregaDescrip + ";" ;
                                 */
                                foreach (DsUnidadVentaTEntregaProductoServicio.DatosRow drProd in dsProd.Datos.Rows)
                                {
                                    //if(!listaProd.Contains(dr.ProductoID))
                                    //listaProd.Add(dr.ProductoID,dr.ProductoDescrip);

                                    string nuevoProd = drProd.ProductoID + "," + drProd.ProductoDescrip + ";";
                                    if (datosProd.IndexOf(nuevoProd) < 0)
                                    {
                                        datosProd += nuevoProd;
                                    }

                                    string nuevoTEntrega = drProd.ProductoID + "," + drProd.TiempoEntregaID + "," + drProd.TiempoEntregaDescrip + ";";
                                    if (datosTEntrega.IndexOf(nuevoTEntrega) < 0)
                                    {
                                        datosTEntrega += nuevoTEntrega;
                                    }

                                    string nuevoServ = drProd.UnidadVentaID + "," + drProd.ProductoID + "," + drProd.TiempoEntregaID + "," + (drProd.IsServicioIDNull() ? 0 : Convert.ToInt32(drProd.ServicioID)) + "," + (drProd.IsServicioDescripNull() ? "Sin Servicio" : drProd.ServicioDescrip) + ";";
                                    if (datosServ.IndexOf(nuevoServ) < 0)
                                    {
                                        datosServ += nuevoServ;
                                    }

                                    string nuevaMEntrega = drProd.UnidadVentaID + "," + drProd.ModalidadEntregaID + "," + drProd.ModalidadEntregaDescrip + ";";
                                    if (datosModEntrega.IndexOf(nuevaMEntrega) < 0)
                                    {
                                        datosModEntrega += nuevaMEntrega;
                                    }
                                }

                                this.txtProducto.Text   = datosProd;
                                this.txtTEntrega.Text   = datosTEntrega;
                                this.txtServicio.Text   = datosServ;
                                this.txtModEntrega.Text = datosModEntrega;
                            }
                        }
                    }
                    else
                    {
                        this.txtCodigo.Text        = this.codigo;
                        this.txtNombre.Text        = this.nombre;
                        this.txtApellido.Text      = this.apellido;
                        this.txtAgenciaID.Text     = this.agenciaID;
                        this.txtTipoCliConsul.Text = this.tipoCliConsul;
                        this.txtCuit.Text          = this.cuit;
                        this.txtOpen.Text          = "S";
                    }
                }
                else
                {
                    this.txtClienteID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
        private void Buscar()
        {
            int total = 0;

            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                DsClientesGuia ds = new DsClientesGuia();
                //DsClientesGuia ds = clientes.GetClientesDataSet();

                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'","NombreCompleto");

                int totalPrueba = 0;

                DsClientesGuia.DatosRow[] drLista;
                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")
                    {
                        ds      = clientes.GetClientesEvenAllDataSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);
                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +	"%' AND TipoCliente = 0 AND NroCuit like '" + this.cuit + "%'" ,"NombreCompleto");
                    }
                    else
                    {
                        ds = clientes.GetClientesCorpALLDataSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);

                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%'AND NombreCompleto LIKE '" + nombre + "%' AND TipoCliente = 1 AND NroCuit like '" + this.cuit + "%'" ,"NombreCompleto");
                    }
                    //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = "+ tipoCliConsul ,"NombreCompleto");
                }
                else
                {
                    ds      = clientes.GetClientesEvenOrigenSet(codigo, nombre, apellido, apellido, cuit, 0, out totalPrueba);
                    drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                    //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND NombreCompleto LIKE '" + nombre + "%'","NombreCompleto");
                }
                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'");
                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codigo + "%' AND NombreCompleto LIKE '%" + nombreCompleto + "%'");

                total = drLista.Length;

                if (total > 0)
                {
                    if (total == 1)
                    {
                        DsClientesGuia.DatosRow dr = drLista[0];
                        this.txtClienteID.Text = dr.ClienteID.ToString();
                        this.txtTipoDoc.Text   = dr.IsTipoDocNull()? "":dr.TipoDoc.ToString();
                        this.txtCodigo.Text    = dr.IsCodigoNull() ? "" : dr.Codigo;
                        this.txtNombre.Text    = dr.IsNombreNull()? "": dr.Nombre;
                        this.txtApellido.Text  = dr.IsApellidoNull()? "": dr.Apellido;

                        if (tipoCliConsul == "1")
                        {
                            /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                            DsClientesGuia dsC = new DsClientesGuia();
                            dsC = clientes.GetClientesCorpDomicilio(dr.ClienteID, Utiles.Validaciones.obtieneEntero(agenciaOrigenID), (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario);
                            if (dsC.Datos.Count > 0)
                            {
                                DsClientesGuia.DatosRow drC = (DsClientesGuia.DatosRow)dsC.Tables[0].Rows[0];
                                dr.Calle       = drC.IsCalleNull() ? "" : drC.Calle;
                                dr.CalleNro    = drC.IsCalleNroNull() ? "" : drC.CalleNro;
                                dr.Telefono    = drC.IsTelefonoNull() ? "" : drC.Telefono;
                                dr.TelCodArea  = drC.IsTelCodAreaNull() ? "" : drC.TelCodArea;
                                dr.LocalidadID = drC.LocalidadID;
                                dr.ProvinciaID = drC.ProvinciaID;
                                dr.Provincia   = drC.Provincia;
                                dr.Depto       = drC.IsDeptoNull() ? "" : drC.Depto;
                                dr.Fax         = drC.IsFaxNull() ? "" : drC.Fax;
                                //VSA: Modificación desarrollo Código postales
                                dr.CodPostal      = drC.IsCodPostalNull() ? "" : drC.CodPostal;
                                dr.CodigoPostalID = drC.IsCodigoPostalIDNull() ? 0 : drC.CodigoPostalID;
                                dr.Localidad      = drC.IsLocalidadNull() ? "" : drC.Localidad;
                                dr.DomicilioID    = drC.IsDomicilioIDNull() ? 0 : drC.DomicilioID;

                                Session["DsClientesGuiaDes"] = drC;
                            }
                        }
                        /*SFE: Implementacion Codigos Postales. Buscar el domicilio del cliente en la tabla GuiaFacturaCorporativo.*/
                        this.txtCalle.Text           = dr.IsCalleNull()? "":dr.Calle;
                        this.txtCalleNro.Text        = dr.IsCalleNroNull()? "":dr.CalleNro;
                        this.txtTelefono.Text        = dr.IsTelefonoNull()? "":dr.Telefono;
                        this.txtTelefonoCodArea.Text = dr.IsTelCodAreaNull() ? "" : dr.TelCodArea;
                        this.txtFax.Text             = dr.IsFaxNull()? "":dr.Fax;
                        this.txtLocalidadID.Text     = dr.IsLocalidadIDNull()?"":dr.LocalidadID.ToString();
                        this.txtDomicilioID.Text     = dr.IsDomicilioIDNull() ? "" : dr.DomicilioID.ToString();
                        this.txtProvinciaID.Text     = dr.IsProvinciaIDNull() ? "" : dr.ProvinciaID.ToString();
                        this.txtDpto.Text            = dr.IsDeptoNull() ? "" : dr.Depto;
                        string locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                        this.txtProvinciaID.Text = dr.IsProvinciaIDNull()?"":dr.ProvinciaID.ToString();
                        //VSA: Modificación desarrollo Código postales
                        this.txtCodPostal.Text      = dr.IsCodPostalNull() ? "" : dr.CodPostal;
                        this.txtLocalidad.Text      = dr.IsLocalidadNull() ? "" : dr.Localidad.ToString();
                        this.txtCodigoPostalID.Text = dr.IsCodigoPostalIDNull() ? "" : dr.CodigoPostalID.ToString();
                        this.txtProvincia.Text      = dr.IsProvinciaNull() ? "" : dr.Provincia.ToString();
                        // AGREGAR UNA VARIABLE DE SESSION, PARA DISTINGUIR SI VIENE DE AG. NO AUTOM.
                        // O DE LA EMISION DE GUIAS COMUN.....O PASARLE UN NUEVO PARAMETRO....
                        if (this.noAutomatizada.Length <= 0)
                        {
                            //////////////////////////////////////////////////////////////////////////////
                            // estaba esta linea originalmente
                            this.txtLocalidades.Text = this.txtLocalidadID.Text + "," + locDescrip + ";";
                            //////////////////////////////////////////////////////////////////////////////
                        }
                        else
                        {
                            //////////////////////////////////////////////////////////////////////////////
                            // la cambié por todo esto, para que cuando se elige un cliente eventual
                            // mediante su DNI, traiga todas las localidades, no sólo la del cliente
                            // porque sino, despues no se puede modificar el domicilio del cliente
                            //////////////////////////////////////////////////////////////////////////////
                            if (this.tipoCliConsul == "1")
                            {
                                locDescrip = dr.IsLocalidadNull()?"":dr.Localidad;
                                this.txtLocalidades.Text = this.txtProvinciaID.Text + "," + this.txtLocalidadID.Text + "," + locDescrip + ";";
                            }
                            else
                            {
                                SisPackController.LlenarCombos.LlenarStringLocalidadesConAgenciaParada(this.txtLocalidades);
                            }
                            //////////////////////////////////////////////////////////////////////////////
                        }

                        this.txtCondicionIVA.Text  = dr.IsCondicionIvaIDNull()? "":dr.CondicionIvaID.ToString();
                        this.txtCondicionPago.Text = dr.IsCondicionPagoDescripNull()?"":dr.CondicionPagoDescrip;
                        this.txtCuit.Text          = dr.IsNroCUITNull()? "": dr.NroCUIT;
                        this.txtTipoCliente.Text   = dr.TipoCliente.ToString();
                        this.txtErrorMsg.Text      = "";
                        this.txtOpen.Text          = "";
                        this.txtProducto.Text      = "";
                        this.txtTEntrega.Text      = "";
                        this.txtServicio.Text      = "";
                        this.txtModEntrega.Text    = "";
                    }
                    else
                    {
                        this.txtCodigo.Text         = this.codigo;
                        this.txtNombre.Text         = this.nombre;
                        this.txtApellido.Text       = this.apellido;
                        this.txtNombreCompleto.Text = this.apellido;
                        this.txtTipoCliConsul.Text  = this.tipoCliConsul;
                        this.txtOpen.Text           = "S";
                    }
                }
                else
                {
                    this.txtClienteID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
        private void BindGridPorAgencia()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgClientes, "ClienteID", this.CantidadOpciones);
            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                string codi = this.txtCodigo.Text;
                //string nombre = this.txtNombre.Text;
                string nombre         = this.txtNombreCompleto.Text;
                string nombreCompleto = this.txtNombreCompleto.Text;
                string apellido       = this.txtApellido.Text;
                string agenciaID      = this.txtAgenciaID.Text;
                agenciaFiltro           = AgenciaFactory.GetAgencia();
                agenciaFiltro.AgenciaID = Convert.ToInt32(agenciaID);
                agenciaFiltro.ConsultarBasico();
                int localidadID    = agenciaFiltro.Domicilio.Localidad.LocalidadID;
                int codigoPostalID = agenciaFiltro.Domicilio.OCodigoPostal.CodigoPostalID;

                /*SFE: Desarrollo de Codigos Postales. Veo si la localidad origen de la Agencia esta incluida en una agrupacion de codigos postales. Me traigo el ID de la agrupacion para ver si esta como origenflete en un convenio de cliente*/
                ICodigoPostalAgrupacion codigoPostalAgrupacion = CodigoPostalAgrupacionFactory.GetCodigoPostalAgrupacion();
                int agrupacionLocalidadOrigenID = codigoPostalAgrupacion.GetAgrupacionDeLocalidad(localidadID, codigoPostalID);

                int    provinciaID    = agenciaFiltro.Domicilio.Localidad.Provincia.ProvinciaID;
                int    departamentoID = agenciaFiltro.Domicilio.Localidad.Departamento.DepartamentoID;
                int    paisID         = agenciaFiltro.Domicilio.Localidad.Provincia.Pais.PaisID;
                string cuit           = this.txtNroCUIT.Text;

                string tipoCliConsul = this.txtTipoCliConsul.Text;
                string filtro        = "";

                //original
                //DsClientesGuia ds = clientes.GetClientesCorpOrigenSet(codi, nombre, nombreCompleto, apellido, cuit);


                //nuevo
                DsClientesGuia ds = new DsClientesGuia();

                int totalPrueba = 0;

                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")                    //Cliente eventual
                    {
                        ds = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);

                        /*filtro = "Codigo LIKE '" + codi + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                         *      "%' AND TipoCliente = 0 AND NroCuit like '" + cuit + "'";*/

                        dtgClientes.DataSource = ds.Datos.Select("");
                    }
                    else                     //Cliente corporativo
                    {
                        // 29/09/2014. Si viene de emision de conceptos no tiene que verificar convenios, sino traer todos los clientes
                        if (txtEsConceptoFacturacion.Text == "1")
                        {
                            ds = clientes.GetClientesCorpALLDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                        }
                        // 29/09/2014. Esta consulta estaba, si viene de la emision de guia, verifica los convenios
                        else
                        {
                            ds = clientes.GetClientesCorpOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba, Utiles.Validaciones.obtieneEntero(agenciaID), localidadID, departamentoID, provinciaID, paisID, codigoPostalID);
                        }

                        /*
                         * filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'"+ nombreCompleto +
                         *      "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%' AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                         *      ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                         *      ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                         *      ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";
                         */

                        Utiles.DataSetHelper.RemoveEqualRows(ds.Datos, "ClienteID", "");

                        dtgClientes.DataSource = ds.Datos.Select("");                         //filtro
                    }
                }
                else                 //VER QUE HACE ESTO!! -tavo-
                {
                    filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'%" + nombreCompleto +
                             "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "' ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.AgrupacionLocalidad + " AND OrigenID=" + agrupacionLocalidadOrigenID +
                             ")    OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                             ")OR ( TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                             ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                             ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))";

                    Utiles.DataSetHelper.RemoveEqualRows(ds.Datos, "ClienteID", filtro);
                    dtgClientes.DataSource = ds.Datos.Select(filtro);
                }

                /*DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select ("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *      "%' AND ((TipoOrigenDestinoID="+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad + " AND OrigenID=" + localidadID +
                 *      ") OR ( TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID + ") OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *      " )OR (TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID +" )OR(TipoCliente=False))","NombreCompleto");
                 */
                //Utiles.DataSetHelper.DeleteCollectionEqualRows(drLista,"ClienteID");

                /*	string filtro  = "Codigo LIKE '" + codi + "%'AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +
                 *              "%' AND (TipoCliente = 0 OR (TipoCliente = 1 AND ((TipoOrigenDestinoID=" + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Agencia + " AND OrigenID=" + agenciaID +") OR (TipoOrigenDestinoID=" +(int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Localidad +" AND OrigenID="+ localidadID +
                 *              ")OR ( TipoOrigenDestinoID = "+ (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Departamento + " AND OrigenID=" + departamentoID +
                 *              ")OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Provincia + " AND OrigenID=" + provinciaID +
                 *              ") OR (TipoOrigenDestinoID = " + (int)NegociosSisPackInterface.SisPack.TipoOrigenDestino.Pais + " AND OrigenID=" + paisID + ") OR (TipoOrigenDestinoID = 0 AND OrigenID = 0))))";
                 */


                //dtgClientes.DataSource = ds.Datos.Select(filtro);
                //dtgClientes.DataSource = ds.Datos.Select(filtro);
                //dtgClientes.DataSource = ds.Datos.Select("");
                dtgClientes.AllowCustomPaging = true;
                dtgClientes.VirtualItemCount  = totalPrueba;
                dtgClientes.DataBind();
            }
            catch (Exception ex)
            {
                throw ex;
                //this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }
        private void BindGrid()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgClientes, "ClienteID", this.CantidadOpciones);
            try
            {
                IAdministrarClientes clientes = AdministrarClientesFactory.GetAdministrarClientes();

                //DsClientesGuia ds = clientes.GetClientesDataSet();
                DsClientesGuia ds = new DsClientesGuia();

                string codi           = this.txtCodigo.Text;
                string nombre         = this.txtNombre.Text;
                string nombreCompleto = this.txtNombreCompleto.Text;
                string apellido       = this.txtApellido.Text;
                string cuit           = this.txtNroCUIT.Text;

                string tipoCliConsul = this.txtTipoCliConsul.Text;
                int    totalPrueba   = 0;

                //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND Nombre LIKE '%" + nombre + "%' AND Apellido LIKE'%"+ apellido +"%'","NombreCompleto");

                DsClientesGuia.DatosRow[] drLista;
                if (tipoCliConsul.Length > 0)
                {
                    if (tipoCliConsul == "0")
                    {
                        ds      = clientes.GetClientesEvenAllDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%'AND Nombre LIKE '" + nombre + "%' AND Apellido LIKE'%"+ apellido +	"%' AND TipoCliente = 0 AND NroCuit like '" + cuit + "%'" ,"NombreCompleto");
                    }
                    else
                    {
                        ds = clientes.GetClientesCorpALLDataSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);

/*						filtro = "Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE'"+ nombreCompleto +
 *                                                      "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%'";
 *
 *                                              Utiles.DataSetHelper.RemoveEqualRows(ds.Datos,"ClienteID", filtro);*/

                        drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");

                        //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%'AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = 1 AND NroCuit like '" + cuit + "%'" ,"NombreCompleto");
                    }
                    //DsClientesGuia.DatosRow[] drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND TipoCliente = "+ tipoCliConsul ,"NombreCompleto");
                }
                else
                {
                    ds      = clientes.GetClientesEvenOrigenSet(codi, nombre, nombreCompleto, apellido, cuit, dtgClientes.CurrentPageIndex, out totalPrueba);
                    drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("");
                    //drLista = (DsClientesGuia.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND NombreCompleto LIKE '" + nombreCompleto + "%' AND NroCuit like '" + cuit + "%'","NombreCompleto");
                }

                dtgClientes.DataSource        = drLista;
                dtgClientes.AllowCustomPaging = true;
                dtgClientes.VirtualItemCount  = totalPrueba;
                dtgClientes.DataBind();

                /*
                 * ICliente oCliente = ClienteFactory.GetCliente();
                 * oCliente.RazonSocial = this.txtRazonSocial.Text;
                 * oCliente.Codigo = this.txtCodigo.Text;
                 * DsClientes ds = oCliente.GetClientesConsultaDataSet();
                 * DsClientes.DatosRow[] drLista = (DsClientes.DatosRow[])ds.Datos.Select("UnidadNegocioID=" + this.UnidadNegocioID);
                 * dtgClientes.DataSource = drLista;
                 * dtgClientes.DataBind();
                 */
                //DsClientes.DatosRow[] drLista = (DsClientes.DatosRow[])ds.Datos.Select("Codigo LIKE '" + codi + "%' AND RazonSocial LIKE '" + razon + "%'");
                //dtgClientes.DataSource = oCliente.GetClientesConsultaDataSet().Datos.Select("UnidadNegocioID=" + this.UnidadNegocioID);
            }
            catch (Exception ex)
            {
                throw ex;
                //this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }