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 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;
            }
        }