Exemple #1
0
        private void GuardarAF_Click(object sender, EventArgs e)
        {
            //Falta verificar todos los campos y armar la consulta para el alta

            DialogResult respuesta;
            int          cantidadFamiliares = int.Parse(FamAF.Text);

            //Si es el afiliado principal verifico, sino voy directo a guardarlo.
            if (finLegajo == 1)
            {
                //Si tiene conyuge
                if (EstadoAF.SelectedIndex == 1 || EstadoAF.SelectedIndex == 3)
                {
                    respuesta = MessageBox.Show("¿Desea afiliar compañero/a?", "Atencion!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (respuesta == DialogResult.Yes)
                    {                //Si agrego al conyuge, aumento el finLegajo para que termine en 2
                        finLegajo++; //Pasa a ser 2
                        Abm_Afiliado.AltaAfiliado conyuge = new Abm_Afiliado.AltaAfiliado();
                        conyuge.FamAF.ReadOnly = true;
                        conyuge.FamAF.Text     = "0";

                        conyuge.ShowDialog();


                        //Verifico si ademas posee familiares a cargo y si es asi, voy a aumentar cada vez que acepte afiliar a uno
                        if (cantidadFamiliares != 0)
                        {
                            while (cantidadFamiliares > 0)
                            {
                                respuesta = MessageBox.Show("¿Desea afiliar familiares?", "Atencion!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (respuesta == DialogResult.Yes)
                                {
                                    Abm_Afiliado.AltaAfiliado familiar = new Abm_Afiliado.AltaAfiliado();
                                    familiar.FamAF.ReadOnly = true;
                                    familiar.FamAF.Text     = "0";
                                    finLegajo++;
                                    familiar.ShowDialog();
                                }
                                cantidadFamiliares--;
                            }
                            //Luego que termino de preguntar por todos los familiares a cargo, recupero el finLegajo en 1 y guardo
                            finLegajo = 1;
                            guardarAfiliado();
                        }
                        else
                        { //Caso que no tenga ningun familiar a cargo, vuelvo al valor finLegajo en 1
                            finLegajo--;
                            guardarAfiliado();
                        }
                    }
                    else
                    { //No quiso afiliar al conyuge, verificamos que tenga familia a cargo
                        if (cantidadFamiliares != 0)
                        {
                            finLegajo++;
                            while (cantidadFamiliares > 0)
                            {
                                respuesta = MessageBox.Show("¿Desea afiliar familiares?", "Atencion!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (respuesta == DialogResult.Yes)
                                {
                                    Abm_Afiliado.AltaAfiliado familiar = new Abm_Afiliado.AltaAfiliado();
                                    finLegajo++;
                                    familiar.ShowDialog();
                                }
                                cantidadFamiliares--;
                            }
                            //Luego que termino de preguntar por todos los familiares a cargo, recupero el finLegajo en 1 y guardo
                            finLegajo = 1;
                            guardarAfiliado();
                        }
                        else
                        {
                            //Como no posee familia a cargo, guardo

                            guardarAfiliado();
                        }
                    }
                }

                else
                { //Verifico si tiene personas a cargo
                    if (cantidadFamiliares != 0)
                    {
                        finLegajo++;

                        while (cantidadFamiliares > 0)
                        {
                            respuesta = MessageBox.Show("¿Desea afiliar familiares?", "Atencion!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (respuesta == DialogResult.Yes)
                            {
                                Abm_Afiliado.AltaAfiliado familiar = new Abm_Afiliado.AltaAfiliado();
                                finLegajo++;
                                familiar.ShowDialog();
                            }
                            cantidadFamiliares--;
                        }
                        finLegajo = 1;
                        guardarAfiliado();
                    } //No tiene personas a cargo, guardo
                    else
                    {
                        guardarAfiliado();
                    }
                }
            }
            else
            { //Guardo afiliado que no es el principal
                guardarAfiliado();
            }
        }
        private void btn_crear_Click(object sender, EventArgs e)
        {
            AltaAfiliado altaAfi = new Abm_Afiliado.AltaAfiliado();

            altaAfi.ShowDialog();
        }
        private void btn_Aceptar_Click(object sender, EventArgs e)
        {
            limpiarWarnings();
            if (validar())
            {
                SqlConnection cx = null;
                try
                {
                    Int64 nroAfiliado = (Int64.Parse(this.txtDocumento.Text)) * 100 + this.codigoAfiliado;
                    cx = Connection.getConnection();
                    cx.Open();
                    if (this.codigoAfiliado == 1 && chbGrupoFamiliar.Checked == false)
                    {   //Caso donde el afiliado es el titular de su grupo familiar
                        SqlCommand sqlCmd = new SqlCommand("PICO_Y_PALA.altaAfiliado", cx);
                        sqlCmd.CommandType = CommandType.StoredProcedure;
                        sqlCmd.Parameters.Add("@afi_nroAfi", SqlDbType.BigInt).Value      = nroAfiliado;
                        sqlCmd.Parameters.Add("@afi_username", SqlDbType.VarChar).Value   = this.txtUsername.Text;
                        sqlCmd.Parameters.Add("@afi_nro_doc", SqlDbType.BigInt).Value     = Int64.Parse(this.txtDocumento.Text);
                        sqlCmd.Parameters.Add("@afi_password", SqlDbType.VarChar).Value   = Seguridad.Security.encrypt(this.txtPassword.Text);
                        sqlCmd.Parameters.Add("@afi_nombre", SqlDbType.VarChar).Value     = this.txtNombre.Text;
                        sqlCmd.Parameters.Add("@afi_apellido", SqlDbType.VarChar).Value   = this.txtApellido.Text;
                        sqlCmd.Parameters.Add("@afi_tipo_doc", SqlDbType.VarChar).Value   = this.cbTipoDoc.Text;
                        sqlCmd.Parameters.Add("@afi_direccion", SqlDbType.VarChar).Value  = this.txtDireccion.Text;
                        sqlCmd.Parameters.Add("@afi_telefono", SqlDbType.Int).Value       = Int32.Parse(this.txtTelefono.Text);
                        sqlCmd.Parameters.Add("@afi_mail", SqlDbType.VarChar).Value       = this.txtMail.Text;
                        sqlCmd.Parameters.Add("@afi_fecha_nac", SqlDbType.DateTime).Value = this.dtpFechaNac.Text;
                        sqlCmd.Parameters.Add("@afi_sexo", SqlDbType.Char).Value          = this.cbSexo.Text;
                        sqlCmd.Parameters.Add("@afi_plan", SqlDbType.VarChar).Value       = this.cbPlan.Text;
                        sqlCmd.Parameters.Add("@afi_eci", SqlDbType.VarChar).Value        = this.cbEstadoCivil.Text;
                        //sqlCmd.Parameters.Add("@ok", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        //sqlCmd.Parameters.Add("@enabled", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        sqlCmd.ExecuteNonQuery();
                        sqlCmd.Dispose();
                    }
                    else if (this.codigoAfiliado != 1)
                    {   //caso donde el titular Asoscia a sus familiares a cargo o conyugue
                        nroAfiliado = (Int64.Parse(this.txtDocAfiTitular.Text)) * 100 + this.codigoAfiliado;
                        SqlCommand sqlCmd = new SqlCommand("PICO_Y_PALA.altaAfiliadoAGrupoFamiliar", cx);
                        sqlCmd.CommandType = CommandType.StoredProcedure;
                        sqlCmd.Parameters.Add("@afi_DocAfiTitular", SqlDbType.BigInt).Value = Int64.Parse(this.txtDocAfiTitular.Text);
                        sqlCmd.Parameters.Add("@afi_nroAfi", SqlDbType.BigInt).Value        = nroAfiliado;
                        sqlCmd.Parameters.Add("@afi_username", SqlDbType.VarChar).Value     = this.txtUsername.Text;
                        sqlCmd.Parameters.Add("@afi_nro_doc", SqlDbType.BigInt).Value       = Int64.Parse(this.txtDocumento.Text);
                        sqlCmd.Parameters.Add("@afi_password", SqlDbType.VarChar).Value     = Seguridad.Security.encrypt(this.txtPassword.Text);
                        sqlCmd.Parameters.Add("@afi_nombre", SqlDbType.VarChar).Value       = this.txtNombre.Text;
                        sqlCmd.Parameters.Add("@afi_apellido", SqlDbType.VarChar).Value     = this.txtApellido.Text;
                        sqlCmd.Parameters.Add("@afi_tipo_doc", SqlDbType.VarChar).Value     = this.cbTipoDoc.Text;
                        sqlCmd.Parameters.Add("@afi_direccion", SqlDbType.VarChar).Value    = this.txtDireccion.Text;
                        sqlCmd.Parameters.Add("@afi_telefono", SqlDbType.Int).Value         = Int32.Parse(this.txtTelefono.Text);
                        sqlCmd.Parameters.Add("@afi_mail", SqlDbType.VarChar).Value         = this.txtMail.Text;
                        sqlCmd.Parameters.Add("@afi_fecha_nac", SqlDbType.DateTime).Value   = this.dtpFechaNac.Text;
                        sqlCmd.Parameters.Add("@afi_sexo", SqlDbType.Char).Value            = this.cbSexo.Text;
                        sqlCmd.Parameters.Add("@afi_plan", SqlDbType.VarChar).Value         = this.cbPlan.Text;
                        sqlCmd.Parameters.Add("@afi_eci", SqlDbType.VarChar).Value          = this.cbEstadoCivil.Text;
                        //sqlCmd.Parameters.Add("@ok", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        //sqlCmd.Parameters.Add("@enabled", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        sqlCmd.ExecuteNonQuery();
                        sqlCmd.Dispose();
                    }
                    else //Caso que un nuevo Afiliado se quiera agregar a un grupo familiar
                    {
                        this.codigoAfiliado = calcularCodigoAfiliado(this.txtDocAfiTitular.Text);
                        //Dos es para conyugue, chequear como hacer para evitar
                        if ((this.cbEstadoCivil.Text.Equals("Casado") || this.cbEstadoCivil.Text.Equals("Concubinato")) && !tieneConyugue(this.txtDocAfiTitular.Text))
                        {
                            this.codigoAfiliado = 2;
                        }

                        nroAfiliado = (Int64.Parse(this.txtDocAfiTitular.Text)) * 100 + this.codigoAfiliado;
                        SqlCommand sqlCmd = new SqlCommand("PICO_Y_PALA.altaAfiliadoAGrupoFamiliar", cx);
                        sqlCmd.CommandType = CommandType.StoredProcedure;
                        sqlCmd.Parameters.Add("@afi_DocAfiTitular", SqlDbType.BigInt).Value = Int64.Parse(this.txtDocAfiTitular.Text);
                        sqlCmd.Parameters.Add("@afi_nroAfi", SqlDbType.BigInt).Value        = nroAfiliado;
                        sqlCmd.Parameters.Add("@afi_username", SqlDbType.VarChar).Value     = this.txtUsername.Text;
                        sqlCmd.Parameters.Add("@afi_nro_doc", SqlDbType.BigInt).Value       = Int64.Parse(this.txtDocumento.Text);
                        sqlCmd.Parameters.Add("@afi_password", SqlDbType.VarChar).Value     = Seguridad.Security.encrypt(this.txtPassword.Text);
                        sqlCmd.Parameters.Add("@afi_nombre", SqlDbType.VarChar).Value       = this.txtNombre.Text;
                        sqlCmd.Parameters.Add("@afi_apellido", SqlDbType.VarChar).Value     = this.txtApellido.Text;
                        sqlCmd.Parameters.Add("@afi_tipo_doc", SqlDbType.VarChar).Value     = this.cbTipoDoc.Text;
                        sqlCmd.Parameters.Add("@afi_direccion", SqlDbType.VarChar).Value    = this.txtDireccion.Text;
                        sqlCmd.Parameters.Add("@afi_telefono", SqlDbType.Int).Value         = Int32.Parse(this.txtTelefono.Text);
                        sqlCmd.Parameters.Add("@afi_mail", SqlDbType.VarChar).Value         = this.txtMail.Text;
                        sqlCmd.Parameters.Add("@afi_fecha_nac", SqlDbType.DateTime).Value   = this.dtpFechaNac.Text;
                        sqlCmd.Parameters.Add("@afi_sexo", SqlDbType.Char).Value            = this.cbSexo.Text;
                        sqlCmd.Parameters.Add("@afi_plan", SqlDbType.VarChar).Value         = this.cbPlan.Text;
                        sqlCmd.Parameters.Add("@afi_eci", SqlDbType.VarChar).Value          = this.cbEstadoCivil.Text;
                        //sqlCmd.Parameters.Add("@ok", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        //sqlCmd.Parameters.Add("@enabled", SqlDbType.Bit).Direction = ParameterDirection.Output;
                        sqlCmd.ExecuteNonQuery();
                        sqlCmd.Dispose();
                    }
                    cx.Close();
                    MessageBox.Show("Afiliado creado con exito. Nro de Afiliado: " + nroAfiliado.ToString());
                }
                catch (Exception exception)
                {
                    cx.Close();
                    MessageBox.Show(exception.Message);
                    return;
                }
                this.Close();
                if ((this.cbEstadoCivil.Text.Equals("Casado") || this.cbEstadoCivil.Text.Equals("Concubinato")) && chbGrupoFamiliar.Checked == false && Mensajes.agregarConyugue())
                {
                    AltaAfiliado familiar = new Abm_Afiliado.AltaAfiliado(this.txtDocumento.Text, 2);
                    familiar.ShowDialog();
                }

                if (this.cbFamACargo.Checked == true)
                {
                    this.Close();
                    for (int i = 1; i <= nudFamACargo.Value; i++)
                    {
                        AltaAfiliado familiar = new Abm_Afiliado.AltaAfiliado(this.txtDocumento.Text, (2 + i));
                        familiar.ShowDialog();
                    }
                }
            }
            else
            {
                MessageBox.Show("Por favor complete los campos faltantes.", "Error al Crear Afiliado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }