private void Buscar()
        {
            int total = 0;

            try
            {
                IAgencia agencia         = AgenciaFactory.GetAgencia();
                DsAgenciasNroSucursal ds = agencia.GetAgenciasNroSucursalDataSet();

                string filtro = "SucursalDGI LIKE '" + this.sucursal + "%' AND RazonSocial LIKE '" + this.razonSocial + "%'";
                //Agregar que si no le paso una agencia actual, no la tenga que buscar.
                if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString())
                {
                    if (this.agenciaActual != null && this.agenciaActual.Length > 0)
                    {
                        filtro += " AND EsCabecera = true AND AgenciaID <> " + this.agenciaActual;
                    }
                    else
                    {
                        filtro += " AND EsCabecera = true";
                    }
                }
                else if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString())
                {
                    filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + this.agenciaActual + " ) AND AgenciaID <> " + this.agenciaActual;
                }

                DsAgenciasNroSucursal.DatosRow[] drLista = (DsAgenciasNroSucursal.DatosRow[])ds.Datos.Select(filtro);
                total = drLista.Length;

                if (total > 0)
                {
                    if (total == 1)
                    {
                        DsAgenciasNroSucursal.DatosRow dr = drLista[0];
                        this.txtAgenciaID.Text   = dr.AgenciaID.ToString();
                        this.txtSucursal.Text    = dr.SucursalDGI;
                        this.txtRazonSocial.Text = dr.RazonSocial;
                        this.txtErrorMsg.Text    = "";
                        this.txtOpen.Text        = "";
                    }
                    else
                    {
                        this.txtSucursal.Text      = this.sucursal;
                        this.txtRazonSocial.Text   = this.razonSocial;
                        this.txtOpen.Text          = "S";
                        this.txtFiltro.Text        = this.filtroEspecial;
                        this.txtAgenciaActual.Text = this.agenciaActual;
                    }
                }
                else
                {
                    this.txtAgenciaID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message;
            }
        }
        private void dtgAgencias_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                int indice = e.Item.DataSetIndex;
                BindGrid();

                DsAgenciasNroSucursal.DatosRow[] drLista = (DsAgenciasNroSucursal.DatosRow[])dtgAgencias.DataSource;
                if (drLista == null)
                {
                    return;
                }

                if (drLista.Length == 0)
                {
                    return;
                }

                DsAgenciasNroSucursal.DatosRow dr = drLista[indice];
                if (dr == null)
                {
                    return;
                }

                int    agenciaID   = dr.AgenciaID;
                string sucursal    = dr.SucursalDGI;
                string razonSocial = dr.RazonSocial;

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                scriptString.Append("window.dialogArguments.AgenciaID = '" + agenciaID.ToString() + "';\n");
                scriptString.Append("window.dialogArguments.Sucursal = '" + sucursal + "';\n");
                scriptString.Append("window.dialogArguments.RazonSocial = '" + razonSocial + "';\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");

                Page.RegisterClientScriptBlock("scriptModalAgencia", scriptString.ToString());
            }
            if (e.CommandName == "SelectVendedor")
            {
                int indice = e.Item.DataSetIndex;
                BindGrid();

                DsAgenciasNroSucursal.DatosRow[] drLista = (DsAgenciasNroSucursal.DatosRow[])dtgAgencias.DataSource;
                if (drLista == null)
                {
                    return;
                }

                if (drLista.Length == 0)
                {
                    return;
                }

                DsAgenciasNroSucursal.DatosRow dr = drLista[indice];
                if (dr == null)
                {
                    return;
                }

                int agenciaID = dr.AgenciaID;
                //string sucursal = dr.SucursalDGI;
                //string razonSocial = dr.RazonSocial;
                IAgencia agencia = AgenciaFactory.GetAgencia();
                agencia.AgenciaID = agenciaID;
                agencia.Consultar();
                Session["Vendedor"] = null;

                IVendedor vend = VendedorFactory.GetVendedor();
                vend.NroLegajo             = "v" + dr.SucursalDGI;
                vend.Nombre                = dr.Nombre;
                vend.AgenciaID             = agenciaID;
                vend.Apellido              = dr.Nombre;
                vend.Domicilio.DomicilioID = dr.DomicilioID;
                vend.Domicilio.DomicilioID = agencia.Domicilio.DomicilioID;
                vend.Domicilio.Calle       = agencia.Domicilio.Calle;
                vend.Domicilio.CalleNro    = agencia.Domicilio.CalleNro;
                vend.Domicilio.Telefono    = agencia.Domicilio.Telefono;
                vend.Domicilio.Localidad.Provincia.ProvinciaID = agencia.Domicilio.Localidad.Provincia.ProvinciaID;
                vend.Domicilio.Localidad.LocalidadID           = agencia.Domicilio.Localidad.LocalidadID;
                vend.Domicilio.Fax   = agencia.Domicilio.Fax;
                vend.Domicilio.Depto = agencia.Domicilio.Depto;
                Session["Vendedor"]  = (IVendedor)vend;

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scrptVendedor", scriptString.ToString());
            }
        }