private void dtgAutorizaciones_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            if (e.CommandName == "Seleccionar")
            {
                string nominaAutorizadoID = (dtgAutorizaciones.DataKeys[(int)e.Item.ItemIndex]).ToString();

                BindGrid(0);

                DsNominasAutorizaciones            ds      = (DsNominasAutorizaciones)dtgAutorizaciones.DataSource;
                DsNominasAutorizaciones.DatosRow[] drLista = (DsNominasAutorizaciones.DatosRow[])ds.Datos.Select("NominaAutorizadoID = " + nominaAutorizadoID);
                if (drLista == null)
                {
                    return;
                }

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

                DsNominasAutorizaciones.DatosRow dr = drLista[0];
                if (dr == null)
                {
                    return;
                }

                int tipoAutorizacion = Utiles.Validaciones.obtieneEntero(this.txtTipoAutorizacion.Text);
                //obtengo las localidades a las que puede enviar el autorizado, si la autorizacion es de tipo 2
                string   localidades = "";
                ICliente cliente     = ClienteFactory.GetCliente();
                cliente.ClienteID = Utiles.Validaciones.obtieneEntero(this.txtClienteID.Text);
                if (this.txtTipoAutorizacion.Text == "2" && !cliente.AutorizaAcualquiera(tipoAutorizacion))
                {
                    INominaAutorizacion nomina = NominaAutorizacionFactory.GetNominaAutorizacion();
                    nomina.NominaAutorizadoID = Utiles.Validaciones.obtieneEntero(nominaAutorizadoID);
                    nomina.Consultar();
                    if (!nomina.CualquierOrigenDestino)                     // si está restringido a algun origen/destino definido, lo levanto
                    {
                        DataSet dsL = nomina.GetLocalidadesHabilitadas(Utiles.Validaciones.obtieneEntero(this.txtAgenciaConectadaID.Text));
                        foreach (DataRow drL in dsL.Tables[0].Rows)
                        {
                            localidades += drL[0].ToString() + ",";
                        }
                    }
                }

                string nombre       = dr.Nombre;
                string apellido     = dr.Apellido;
                string tipoDoc      = dr.TipoDocumentoID.ToString();
                string nroDoc       = dr.NroDocumento.ToString();
                string soloConvenio = dr.AutorizadoSoloUnidadVentaConvenio.ToString();

                StringBuilder scriptString = new StringBuilder();
                scriptString.Append("<script language='javascript'>\n");
                scriptString.Append("window.dialogArguments.NominaAutorizadoID = '" + nominaAutorizadoID + "';\n");
                scriptString.Append("window.dialogArguments.Nombre = '" + nombre + "';\n");
                scriptString.Append("window.dialogArguments.Apellido = '" + apellido + "';\n");
                scriptString.Append("window.dialogArguments.TipoDoc = '" + tipoDoc + "';\n");
                scriptString.Append("window.dialogArguments.NroDoc = '" + nroDoc + "';\n");
                scriptString.Append("window.dialogArguments.LocalidadesAutorizado = '" + localidades + "';\n");
                scriptString.Append("window.dialogArguments.SoloConvenio = '" + soloConvenio + "';\n");

                scriptString.Append("window.returnValue = true;\n");
                scriptString.Append("window.close();\n");
                scriptString.Append("</script>");
                Page.RegisterClientScriptBlock("scriptModalNominaAutorizados", scriptString.ToString());
            }
        }
        private void Buscar()
        {
            try
            {
                INominaAutorizacion nomina = NominaAutorizacionFactory.GetNominaAutorizacion();
                nomina.ClienteID        = Utiles.Validaciones.obtieneEntero(this.txtClienteID.Text);
                nomina.TipoDocumento    = Utiles.Validaciones.obtieneEntero(this.txtTipoDoc.Text);
                nomina.NroDocumento     = Utiles.Validaciones.obtieneEntero(this.txtNroDoc.Text);
                nomina.TipoAutorizadoID = Utiles.Validaciones.obtieneEntero(this.txtTipoAutorizacion.Text);
                DsNominasAutorizaciones ds = nomina.GetNominaAutorizacionesREClienteSEL(Utiles.Validaciones.obtieneEntero(agenciaConectadaID), this.txtEnvio.Text == "1" ? true : false);                 //1=autorizado a enviar

                if (ds.Datos.Count > 0)
                {
                    if (ds.Datos.Count == 1)
                    {
                        DsNominasAutorizaciones.DatosRow dr = (DsNominasAutorizaciones.DatosRow)ds.Datos.Rows[0];
                        this.txtNroDoc.Text             = dr.NroDocumento.ToString();
                        this.txtTipoDoc.Text            = dr.TipoDocumentoID.ToString();
                        this.txtNombre.Text             = dr.Nombre;
                        this.txtApellido.Text           = dr.Apellido;
                        this.txtNominaAutorizadoID.Text = dr.NominaAutorizadoID.ToString();
                        this.txtSoloConvenio.Text       = dr.AutorizadoSoloUnidadVentaConvenio.ToString();
                        this.txtOpen.Text = "";

                        string   localidades = "";
                        ICliente cliente     = ClienteFactory.GetCliente();
                        cliente.ClienteID = Utiles.Validaciones.obtieneEntero(this.txtClienteID.Text);
                        if (this.txtTipoAutorizacion.Text == "2" && !cliente.AutorizaAcualquiera(Utiles.Validaciones.obtieneEntero(this.txtTipoAutorizacion.Text)))
                        {
                            INominaAutorizacion nom = NominaAutorizacionFactory.GetNominaAutorizacion();
                            nom.NominaAutorizadoID = dr.NominaAutorizadoID;
                            nom.Consultar();
                            if (!nom.CualquierOrigenDestino)                             // si está restringido a algun origen/destino definido, lo levanto
                            {
                                DataSet dsL = nom.GetLocalidadesHabilitadas(Utiles.Validaciones.obtieneEntero(this.txtAgenciaConectadaID.Text));
                                foreach (DataRow drL in dsL.Tables[0].Rows)
                                {
                                    localidades += drL[0].ToString() + ",";
                                }
                            }
                        }


                        /*string localidades = "";
                         * if (this.txtTipoAutorizacion.Text == "2")
                         * {
                         *      INominaAutorizacion nom = NominaAutorizacionFactory.GetNominaAutorizacion();
                         *      nom.NominaAutorizadoID = dr.NominaAutorizadoID;
                         *      DataSet dsL = nom.GetLocalidadesHabilitadas(Utiles.Validaciones.obtieneEntero(this.txtAgenciaConectadaID.Text));
                         *      foreach(DataRow drL in dsL.Tables[0].Rows)
                         *      {
                         *              localidades += drL[0].ToString();
                         *      }
                         * }*/
                        this.txtLocalidadesAutorizado.Text = localidades;
                    }
                    else
                    {
                        this.txtTipoDoc.Text = this.tipoDoc;
                        this.txtNroDoc.Text  = this.nroDoc;
                        //this.txtClienteID.Text = this.txtClienteID.Text;
                        this.txtOpen.Text = "S";
                    }
                }
                else
                {
                    //this.txtClienteID.Text = "";
                    //this.txtErrorMsg.Text = "No se encontraron datos.";
                    this.txtNroDoc.Text  = this.nroDoc;
                    this.txtTipoDoc.Text = this.tipoDoc;
                    this.txtOpen.Text    = "S";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de clientes: " + ex.Message;
            }
        }