private void frmAltaAfiliado_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (opcionelegida != 3 && opcionelegida != 4)
     {
         frmAfiliado    abierto = null;
         FormCollection fc      = Application.OpenForms;
         foreach (Form frm in fc)
         {
             if (frm.Name == "frmAfiliado")
             {
                 abierto = (frmAfiliado)frm;
             }
         }
         if (abierto == null)
         {
             frmHomeAfiliado princ = new frmHomeAfiliado(usuario, rol);
             Hide();
             princ.Show();
         }
         else
         {
             abierto.Show();
         }
     }
 }
        private void btnAlta_Click(object sender, EventArgs e)
        {
            Afiliado    afil     = null;
            frmAfiliado afiliado = new frmAfiliado(usuario, rol, afil, 1);

            afiliado.Show();
            Hide();
        }
 private void dgvAfiliado_DoubleClick(object sender, EventArgs e)
 {
     if (dgvAfiliado.SelectedRows.Count == 1)
     {
         Afiliado afil = (Afiliado)dgvAfiliado.CurrentRow.DataBoundItem;
         if (afil != null)
         {
             frmAfiliado afiliado = new frmAfiliado(usuario, rol, afil, 2);
             afiliado.Show();
             Hide();
         }
     }
 }
        private bool Alta(Dictionary <string, object> afiliado)
        {
            #region OPCION 3(CONYUGE)
            if (opcionelegida == 3)
            {
                Usuario user;
                try
                {
                    user = ConexionesDB.ExecuteReader("Usuario_Exists", new Dictionary <string, object>()
                    {
                        { "@usuarioid", txtNombre.Text + txtApellido.Text + txtDni.Text }
                    }).ToUsuario();
                }
                catch
                {
                    MessageBox.Show("El Afiliado ingresado ya existia", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                if (user == null)
                {
                    Afiliado afil;
                    try
                    {
                        afil = ConexionesDB.ExecuteReader("Afiliado_MismoDni", new Dictionary <string, object>()
                        {
                            { "@dni", txtDni.Text }
                        }).ToAfiliados();
                    }
                    catch
                    {
                        MessageBox.Show("Ya existia un afiliado con ese numero de DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                    if (afil == null)
                    {
                        try
                        {
                            ConexionesDB.ExecuteNonQuery("Afiliado_Agregar_Familiar", afiliado);
                        }
                        catch
                        {
                            MessageBox.Show("No se pudo agregar el afiliado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }
                        MessageBox.Show("Se agrego correctamente el afiliado", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        DialogResult resultado2 = MessageBox.Show("Desea agregar a algun otro familiar a la clinica?", "Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (resultado2 == DialogResult.Yes)//quiere decir que quiere registrar a su familiar
                        {
                            //ACA TENGO QUE IR A UN NUEVO FORM DE ALTA PARA EL FAMILIAR
                            Afiliado afilAgregado;
                            try
                            {
                                var dict = new Dictionary <string, object>()
                                {
                                    { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                                };
                                afilAgregado = ConexionesDB.ExecuteReader("Afiliado_GetAfiliadoSegunUsuario", dict).ToAfiliados();
                            }
                            catch
                            {
                                MessageBox.Show("No se ha podido agregar un familiar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return(false);
                            }
                            opcionelegida = 4;
                            frmAfiliado conyuge = new frmAfiliado(usuario, rol, afilAgregado, 4);
                            conyuge.Show();
                            return(true);
                        }
                        else
                        {
                            opcionelegida = 1;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ya existe un afiliado con ese mismo DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show("Ese Afiliado ya esta registrado en la clinica", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                return(true);
            }
            #endregion
            #region OPCION 1(ALTA AFILIADO)
            else if (opcionelegida == 1)
            {
                Usuario user;
                try
                {
                    user = ConexionesDB.ExecuteReader("Usuario_Exists", new Dictionary <string, object>()
                    {
                        { "@usuarioid", txtNombre.Text + txtApellido.Text + txtDni.Text }
                    }).ToUsuario();
                }
                catch
                {
                    MessageBox.Show("El Afiliado ingresado ya existia", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                if (user == null)
                {
                    Afiliado afil;
                    try
                    {
                        afil = ConexionesDB.ExecuteReader("Afiliado_MismoDni", new Dictionary <string, object>()
                        {
                            { "@dni", txtDni.Text }
                        }).ToAfiliados();
                    }
                    catch
                    {
                        MessageBox.Show("Ya existia un afiliado con ese numero de DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                    if (afil == null)
                    {
                        try
                        {
                            ConexionesDB.ExecuteNonQuery("Afiliado_Add", afiliado);
                            ConexionesDB.ExecuteNonQuery("Hijos_En_Cero", new Dictionary <string, object> {
                                { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                            });
                        }
                        catch
                        {
                            MessageBox.Show("No se pudo agregar el afiliado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }
                        MessageBox.Show("Se agrego correctamente el afiliado", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        if (cmbEstadoCivil.Text.Substring(0, 1) == "C")//esta casado, ofrezco si quiere registrar a su conyuge
                        {
                            DialogResult resultado = MessageBox.Show("Desea agregar a su conyuge a la clinica?", "Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (resultado == DialogResult.Yes)//quiere decir que quiere registrar a su conyuge
                            {
                                //VER PORQUE AL AFILIADO LE QUEDA 1 HIJO MAS QUE LOS QUE TIENE
                                //ACA TENGO QUE IR A UN NUEVO FORMULARIO DE ALTA PARA EL CONYUGE
                                //LEO EL NRO AFILIADO DEL QUE ACABO DE AGREGAR PARA PASRLO
                                Afiliado afilAgregado;
                                try
                                {
                                    var dict = new Dictionary <string, object>()
                                    {
                                        { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                                    };
                                    afilAgregado = ConexionesDB.ExecuteReader("Afiliado_GetAfiliadoSegunUsuario", dict).ToAfiliados();
                                }
                                catch
                                {
                                    MessageBox.Show("No se ha podido agregar un familiar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return(false);
                                }
                                opcionelegida = 3;
                                frmAfiliado conyuge = new frmAfiliado(usuario, rol, afilAgregado, 3);
                                conyuge.Show();
                                return(true);
                            }
                            else // no quiere registrar a su conyuge
                            {
                                DialogResult resultado2 = MessageBox.Show("Desea agregar a algun otro familiar a la clinica?", "Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                                if (resultado2 == DialogResult.Yes)//quiere decir que quiere registrar a su conyuge
                                {
                                    //ACA TENGO QUE IR A UN NUEVO FORM DE ALTA PARA EL FAMILIAR
                                    //OPCION 4 es Agregar otro familiar
                                    //VER PORQUE AL AFILIADO LE QUEDA 1 HIJO MAS QUE LOS QUE TIENE
                                    //ACA TENGO QUE IR A UN NUEVO FORMULARIO DE ALTA PARA EL CONYUGE
                                    //LEO EL NRO AFILIADO DEL QUE ACABO DE AGREGAR PARA PASRLO
                                    Afiliado afilAgregado;
                                    try
                                    {
                                        var dict = new Dictionary <string, object>()
                                        {
                                            { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                                        };
                                        afilAgregado = ConexionesDB.ExecuteReader("Afiliado_GetAfiliadoSegunUsuario", dict).ToAfiliados();
                                    }
                                    catch
                                    {
                                        MessageBox.Show("No se ha podido agregar un familiar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                        return(false);
                                    }
                                    opcionelegida = 4;
                                    frmAfiliado conyuge = new frmAfiliado(usuario, rol, afilAgregado, 4);
                                    conyuge.Show();
                                    return(true);
                                }
                            }
                        }
                        else
                        {
                            DialogResult resultado3 = MessageBox.Show("Desea agregar a algun otro familiar a la clinica?", "Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (resultado3 == DialogResult.Yes)//quiere decir que quiere registrar a su conyuge
                            {
                                //ACA TENGO QUE IR A UN NUEVO FORM DE ALTA PARA EL FAMILIAR
                                //OPCION 4 es Agregar otro familiar
                                //VER PORQUE AL AFILIADO LE QUEDA 1 HIJO MAS QUE LOS QUE TIENE
                                //ACA TENGO QUE IR A UN NUEVO FORMULARIO DE ALTA PARA EL CONYUGE
                                //LEO EL NRO AFILIADO DEL QUE ACABO DE AGREGAR PARA PASRLO
                                Afiliado afilAgregado;
                                try
                                {
                                    var dict = new Dictionary <string, object>()
                                    {
                                        { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                                    };
                                    afilAgregado = ConexionesDB.ExecuteReader("Afiliado_GetAfiliadoSegunUsuario", dict).ToAfiliados();
                                }
                                catch
                                {
                                    MessageBox.Show("No se ha podido agregar un familiar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    return(false);
                                }
                                opcionelegida = 4;
                                frmAfiliado conyuge = new frmAfiliado(usuario, rol, afilAgregado, 4);
                                conyuge.Show();
                                return(true);
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ya existia un afiliado con ese DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show("Ese Afiliado ya esta registrado en la clinica", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                return(true);
            }
            #endregion
            #region OPCION 4 (ALTA FAMILIAR)
            if (opcionelegida == 4)
            {
                Usuario user;
                try
                {
                    user = ConexionesDB.ExecuteReader("Usuario_Exists", new Dictionary <string, object>()
                    {
                        { "@usuarioid", txtNombre.Text + txtApellido.Text + txtDni.Text }
                    }).ToUsuario();
                }
                catch
                {
                    MessageBox.Show("El Afiliado ingresado ya existia", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                if (user == null)
                {
                    Afiliado afil;
                    try
                    {
                        afil = ConexionesDB.ExecuteReader("Afiliado_MismoDni", new Dictionary <string, object>()
                        {
                            { "@dni", txtDni.Text }
                        }).ToAfiliados();
                    }
                    catch
                    {
                        MessageBox.Show("Ya existia un afiliado con ese numero de DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                    if (afil == null)
                    {
                        try
                        {
                            ConexionesDB.ExecuteNonQuery("Afiliado_Agregar_Familiar", afiliado);
                        }
                        catch
                        {
                            MessageBox.Show("No se pudo agregar el afiliado", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(false);
                        }
                        MessageBox.Show("Se agrego correctamente el afiliado", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        DialogResult resultado2 = MessageBox.Show("Desea agregar a algun otro familiar a la clinica?", "Consulta", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (resultado2 == DialogResult.Yes)//quiere decir que quiere registrar a su conyuge
                        {
                            //ACA TENGO QUE IR A UN NUEVO FORM DE ALTA PARA EL FAMILIAR
                            Afiliado afilAgregado;
                            try
                            {
                                var dict = new Dictionary <string, object>()
                                {
                                    { "@username", txtNombre.Text + txtApellido.Text + txtDni.Text.ToString() }
                                };
                                afilAgregado = ConexionesDB.ExecuteReader("Afiliado_GetAfiliadoSegunUsuario", dict).ToAfiliados();
                            }
                            catch
                            {
                                MessageBox.Show("No se ha podido agregar un familiar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return(false);
                            }
                            opcionelegida = 4;
                            frmAfiliado conyuge = new frmAfiliado(usuario, rol, afilAgregado, 4);
                            conyuge.Show();
                            return(true);
                        }
                        else
                        {
                            opcionelegida = 1;
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ya existia un afiliado con ese mismo DNI", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(false);
                    }
                }
                else
                {
                    MessageBox.Show("Ese Afiliado ya esta registrado en la clinica", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                return(true);
            }

            #endregion

            return(false);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            frmAfiliado familiar = new frmAfiliado(usuario, rol, afiliadoModificar, 4);

            familiar.Show();
        }