/// <summary>
 /// Muestra los tipos de documento segun tipo de persona.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
 /// <remarks>
 /// Autor: Iván José Pimienta Serrano - INTERGRUPO\Ipimienta
 /// FechaDeCreacion: 04/07/2013
 /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
 /// FechaDeUltimaModificacion: (dd/MM/yyyy)
 /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
 /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
 /// </remarks>
 protected void DdlTipoPersona_SelectedIndexChanged(object sender, EventArgs e)
 {
     RecargarModal();
     DdlTipoPersona.Enabled      = true;
     DdlTipoDocumento.Enabled    = true;
     DdlTipoDocumento.DataSource = null;
     DdlTipoDocumento.DataBind();
     CargarComboTipoDocumento(DdlTipoPersona.SelectedValue);
 }
        /// <summary>
        /// Limpia los campos del formulario después de una inserción exitosa de un tercero.
        /// </summary>
        /// <remarks>
        /// Autor: Gemay Leandro Ocampo Pino - INTERGRUPO\gocampo
        /// FechaDeCreacion: 27/06/2014
        /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
        /// FechaDeUltimaModificacion: (dd/MM/yyyy)
        /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
        /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
        /// </remarks>
        private void LimpiarFormulario()
        {
            DdlTipoPersona.SelectedIndex = 0;

            DdlTipoDocumento.Items.Clear();
            DdlTipoDocumento.DataSource = null;
            DdlTipoDocumento.DataBind();
            DdlTipoDocumento.Enabled = false;

            txtNombre.Text                  = String.Empty;
            txtNroDocumento.Text            = String.Empty;
            lblCampoDigitoVerificacion.Text = String.Empty;
        }
 /// <summary>
 /// Metodo para limpiar el formulario.
 /// </summary>
 /// <remarks>
 /// Autor: David Mauricio Gutiérrez Ruiz - INTERGRUPO\dgutierrez
 /// FechaDeCreacion: 06/04/2013
 /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
 /// FechaDeUltimaModificacion: (dd/MM/yyyy)
 /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
 /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
 /// </remarks>
 public void LimpiarCampos()
 {
     lblMensaje.Visible          = false;
     lblCampoID.Text             = "0";
     txtNombre.Text              = string.Empty;
     txtNroDocumento.Text        = string.Empty;
     txtNombre.ReadOnly          = false;
     txtNroDocumento.ReadOnly    = false;
     DdlTipoPersona.Enabled      = true;
     DdlTipoDocumento.Enabled    = true;
     DdlTipoDocumento.DataSource = null;
     DdlTipoDocumento.DataBind();
     lblCampoDigitoVerificacion.Text = string.Empty;
 }
        /// <summary>
        /// Carga la lista de tipos de persona.
        /// </summary>
        /// <remarks>
        /// Autor: Iván José Pimienta Serrano - INTERGRUPO\Ipimienta
        /// FechaDeCreacion: 04/07/2013
        /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
        /// FechaDeUltimaModificacion: (dd/MM/yyyy)
        /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
        /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
        /// </remarks>
        private void CargarComboTipoPersona()
        {
            var resultado = WebService.Integracion.ConsultarGenListas(new Basica {
                Id = 20, IndHabilitado = true
            }).Objeto;

            DdlTipoPersona.DataSource     = resultado;
            DdlTipoPersona.DataValueField = "Codigo";
            DdlTipoPersona.DataTextField  = "Nombre";
            DdlTipoPersona.DataBind();
            DdlTipoDocumento.DataSource = null;
            DdlTipoDocumento.DataBind();
            DdlTipoDocumento.SelectedIndex = -1;
            CargaObjetos.AdicionarItemPorDefecto(DdlTipoPersona, false);
        }
        /// <summary>
        /// Carga los tipos de documento para el tercero.
        /// </summary>
        /// <param name="codigoGrupo">The codigo grupo.</param>
        /// <remarks>
        /// Autor: Iván José Pimienta Serrano - INTERGRUPO\Ipimienta
        /// FechaDeCreacion: 04/07/2013
        /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
        /// FechaDeUltimaModificacion: (dd/MM/yyyy)
        /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
        /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
        /// </remarks>
        private void CargarComboTipoDocumento(string codigoGrupo)
        {
            if (!codigoGrupo.Equals("-1"))
            {
                var listaTiposDocumento = WebService.Integracion.ConsultarTipoDocumento(new TipoDocumento()
                {
                    IndCliente    = null,
                    IndTercero    = true,
                    IndHabilitado = true
                });

                if (listaTiposDocumento.Ejecuto)
                {
                    var resultado = from item in listaTiposDocumento.Objeto
                                    where item.CodigoTipoPersona == codigoGrupo
                                    select item;

                    DdlTipoDocumento.DataSource = resultado;

                    DdlTipoDocumento.DataValueField = "Id";
                    DdlTipoDocumento.DataTextField  = "Nombre";
                    DdlTipoDocumento.DataBind();
                    CargaObjetos.AdicionarItemPorDefecto(DdlTipoDocumento, false);

                    if (codigoGrupo == Settings.Default.TipoPersona_Juridica)
                    {
                        revNroDocumento.Enabled        = true;
                        DdlTipoDocumento.SelectedValue = Resources.GlobalWeb.General_ValorUno;
                    }
                    else
                    {
                        revNroDocumento.Enabled = false;
                    }
                }
                else
                {
                    MostrarMensaje(listaTiposDocumento.Mensaje, TipoMensaje.Error);
                }
            }
            else
            {
                DdlTipoDocumento.Items.Clear();
                DdlTipoDocumento.DataSource = null;
                DdlTipoDocumento.DataBind();
                DdlTipoDocumento.Enabled = false;
            }
        }
        /// <summary>
        /// Metodo para Cargar Tipo de Documento.
        /// </summary>
        /// <remarks>
        /// Autor: David Mauricio Gutiérrez Ruiz - INTERGRUPO\dgutierrez
        /// FechaDeCreacion: 28/04/2013
        /// UltimaModificacionPor: (Nombre del Autor de la modificación - Usuario del dominio)
        /// FechaDeUltimaModificacion: (dd/MM/yyyy)
        /// EncargadoSoporte: (Nombre del Autor - Usuario del dominio)
        /// Descripción: Descripción detallada del metodo, procure especificar todo el metodo aqui.
        /// </remarks>
        private void CargarTipoDocumento()
        {
            var respuesta = WebService.Integracion.ConsultarTipoDocumento(new TipoDocumento()
            {
                IndHabilitado = true, IndCliente = true
            });

            if (respuesta.Ejecuto)
            {
                DdlTipoDocumento.DataTextField  = TEXTO;
                DdlTipoDocumento.DataValueField = VALOR;
                DdlTipoDocumento.DataSource     = respuesta.Objeto;
                DdlTipoDocumento.DataBind();
                CargaObjetos.AdicionarItemPorDefecto(DdlTipoDocumento, false);
            }
            else
            {
                MostrarMensaje(respuesta.Mensaje, TipoMensaje.Error);
            }
        }
        private void FunCargarCombos(int opcion)
        {
            try
            {
                switch (opcion)
                {
                case 0:
                    DdlTipoDocumento.DataSource = new ControllerDAO().FunGetParametroDetalle("TIPO DOCUMENTO",
                                                                                             "--Seleccione Tipo--", "S");
                    DdlTipoDocumento.DataTextField  = "Descripcion";
                    DdlTipoDocumento.DataValueField = "Codigo";
                    DdlTipoDocumento.DataBind();

                    DdlGenero.DataSource     = new ControllerDAO().FunGetParametroDetalle("GENERO", "--Seleccione Género--", "S");
                    DdlGenero.DataTextField  = "Descripcion";
                    DdlGenero.DataValueField = "Codigo";
                    DdlGenero.DataBind();

                    DdlProvincia.DataSource = new ConsultaDatosDAO().FunConsultaDatos(186,
                                                                                      0, 0, 0, "", "", "", Session["Conectar"].ToString());
                    DdlProvincia.DataTextField  = "Descripcion";
                    DdlProvincia.DataValueField = "Codigo";
                    DdlProvincia.DataBind();

                    _itemc.Text  = "--Seleccione Ciudad--";
                    _itemc.Value = "0";
                    DdlCiudad.Items.Add(_itemc);

                    DdlEstCivil.DataSource = new ControllerDAO().FunGetParametroDetalle("ESTADO CIVIL",
                                                                                        "--Seleccione Est. Civil--", "S");
                    DdlEstCivil.DataTextField  = "Descripcion";
                    DdlEstCivil.DataValueField = "Codigo";
                    DdlEstCivil.DataBind();

                    DdlDirTitular.DataSource = new ControllerDAO().FunGetParametroDetalle("TIPO DIRECCION",
                                                                                          "--Seleccione Tipo--", "S");
                    DdlDirTitular.DataTextField  = "Descripcion";
                    DdlDirTitular.DataValueField = "Codigo";
                    DdlDirTitular.DataBind();

                    DdlMailTitular.DataSource = new ControllerDAO().FunGetParametroDetalle("TIPO CORREO",
                                                                                           "--Seleccione Tipo--", "S");
                    DdlMailTitular.DataTextField  = "Descripcion";
                    DdlMailTitular.DataValueField = "Codigo";
                    DdlMailTitular.DataBind();
                    break;

                case 1:
                    DdlCiudad.DataSource = new ConsultaDatosDAO().FunConsultaDatos(186,
                                                                                   1, int.Parse(DdlProvincia.SelectedValue), 0, "", "", "", Session["Conectar"].ToString());
                    DdlCiudad.DataTextField  = "Descripcion";
                    DdlCiudad.DataValueField = "Codigo";
                    DdlCiudad.DataBind();
                    break;

                case 2:
                    _dts = new ConsultaDatosDAO().FunConsultaDatos(32, int.Parse(ViewState["CodigoPERS"].ToString()), 0,
                                                                   0, "", "", "", Session["Conectar"].ToString());

                    if (_dts.Tables[0].Rows.Count > 0)
                    {
                        DdlTipoDocumento.SelectedValue = _dts.Tables[0].Rows[0]["Tipodocumento"].ToString();
                        TxtNumeroDocumento.Text        = _dts.Tables[0].Rows[0]["Cedula"].ToString();
                        ViewState["Numdocumento"]      = TxtNumeroDocumento.Text;
                        TxtNombres.Text            = _dts.Tables[0].Rows[0]["Nombres"].ToString();
                        TxtApellidos.Text          = _dts.Tables[0].Rows[0]["Apellidos"].ToString();
                        TxtFechaNacimiento.Text    = _dts.Tables[0].Rows[0]["FechaNaci"].ToString();
                        DdlGenero.SelectedValue    = _dts.Tables[0].Rows[0]["Genero"].ToString();
                        DdlProvincia.SelectedValue = _dts.Tables[0].Rows[0]["CodProv"].ToString();
                        FunCargarCombos(1);
                        DdlCiudad.SelectedValue   = _dts.Tables[0].Rows[0]["CodCiudad"].ToString();
                        DdlEstCivil.SelectedValue = _dts.Tables[0].Rows[0]["EstCivil"].ToString();

                        _dts = new ConsultaDatosDAO().FunConsultaDatos(187, 0, 0, 0, "", TxtNumeroDocumento.Text.Trim(), "",
                                                                       Session["Conectar"].ToString());

                        ViewState["DireccionTitular"] = _dts.Tables[3];
                        ViewState["CorreoTitular"]    = _dts.Tables[4];

                        GrdvDirecTitular.DataSource = _dts.Tables[3];
                        GrdvDirecTitular.DataBind();

                        GrdvMailTitular.DataSource = _dts.Tables[4];
                        GrdvMailTitular.DataBind();
                    }
                    break;

                case 3:
                    if (ViewState["Numdocumento"].ToString() != TxtNumeroDocumento.Text.Trim())
                    {
                        _dts = new ConsultaDatosDAO().FunConsultaDatos(175, 0, 0, 0, "", TxtNumeroDocumento.Text.Trim(),
                                                                       "", Session["Conectar"].ToString());

                        if (_dts.Tables[0].Rows.Count > 0)
                        {
                            new FuncionesDAO().FunShowJSMessage("Numero de Documento ya existe..!", this);
                            TxtNumeroDocumento.Text = ViewState["Numdocumento"].ToString();
                        }
                    }
                    break;
                }
            }
            catch (Exception ex)
            {
                Lblerror.Text = ex.ToString();
            }
        }