Beispiel #1
0
        private void btAgregarFamiliar_Click(object sender, EventArgs e)
        {
            NuevoAfiliado form = new NuevoAfiliado(3, afiliadoAMod.idFamilia);

            this.Visible = false;
            form.ShowDialog();
            this.Visible = true;
        }
Beispiel #2
0
        private void button_Aceptar_Click(object sender, EventArgs e)
        {
            SqlCommand modificarAfi = new SqlCommand("ELIMINAR_CAR.modificarAfiliado", DBConnector.ObtenerConexion());

            modificarAfi.CommandType = CommandType.StoredProcedure;
            modificarAfi.Parameters.Add(new SqlParameter("@id_afiliado", afiliadoAMod.idAfiliado));
            Boolean huboCambios = false;

            //Telefono
            if (seCambioTelefono)
            {
                huboCambios = true;
                modificarAfi.Parameters.AddWithValue("@telefono", Int64.Parse(tel.Text));
            }
            else
            {
                modificarAfi.Parameters.AddWithValue("@telefono", DBNull.Value);
            }
            //Direccion
            if (!afiliadoAMod.direccion.Equals(direc.Text))
            {
                huboCambios = true;
                modificarAfi.Parameters.Add(new SqlParameter("@direccion", direc.Text));
            }
            else
            {
                modificarAfi.Parameters.Add(new SqlParameter("@direccion", DBNull.Value));
            }
            //Estado civil
            if (afiliadoAMod.estadoCivil != (estado_civil)estadoCiv.SelectedItem)
            {
                huboCambios = true;
                modificarAfi.Parameters.AddWithValue("@estado_civil", (Int32)estadoCiv.SelectedItem);
            }
            else
            {
                modificarAfi.Parameters.AddWithValue("@estado_civil", DBNull.Value);
            }
            //MAIL
            if (!afiliadoAMod.mail.Equals(mail.Text))
            {
                huboCambios = true;
                modificarAfi.Parameters.AddWithValue("@mail", mail.Text);
            }
            else
            {
                modificarAfi.Parameters.AddWithValue("@mail", DBNull.Value);
            }
            //Sexo
            if (afiliadoAMod.sexo != (sexo)Sexo.SelectedItem)
            {
                huboCambios = true;
                modificarAfi.Parameters.AddWithValue("@sexo", (int)Sexo.SelectedItem);
            }
            else
            {
                modificarAfi.Parameters.AddWithValue("@sexo", DBNull.Value);
            }
            //Plan
            if (afiliadoAMod.idPlan != ((Plan)planMed.SelectedItem).id_plan)
            {
                huboCambios = true;
                modificarAfi.Parameters.AddWithValue("@id_plan", ((Plan)planMed.SelectedItem).id_plan);
            }
            else
            {
                modificarAfi.Parameters.AddWithValue("@id_plan", DBNull.Value);
            }
            if (huboCambios)
            {
                DialogResult resultado = MessageBox.Show("¿Desea realizar estos cambios?", "Clinica-FRBA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);

                if (resultado == DialogResult.OK)
                {
                    if (afiliadoAMod.idPlan != ((Plan)planMed.SelectedItem).id_plan)
                    {
                        MotivoCambioPlan motivo = new MotivoCambioPlan();
                        this.Visible = false;
                        motivo.ShowDialog();
                        this.Visible = true;
                        modificarAfi.Parameters.AddWithValue("@fecha_cambio", ClinicaFrba.Utils.Fechas.getCurrentDateTime().Date);
                        if (motivo.fueCerradoPorusuario)
                        {
                            modificarAfi.Parameters.AddWithValue("@motivo_cambio_plan", "No especificado");
                        }
                        else
                        {
                            modificarAfi.Parameters.AddWithValue("@motivo_cambio_plan", ((RichTextBox)motivo.Controls["tb_motivo"]).Text);
                        }
                    }
                    else
                    {
                        modificarAfi.Parameters.AddWithValue("@fecha_cambio", DBNull.Value);
                        modificarAfi.Parameters.AddWithValue("@motivo_cambio_plan", DBNull.Value);
                    }

                    modificarAfi.ExecuteNonQuery();
                    MessageBox.Show("El afiliado fue modificado correctamente", "Clinica-FRBA", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    huboCambios      = false;
                    seCambioTelefono = false;

                    if ((tipo == 0) && ((estado_civil)estadoCiv.SelectedItem == estado_civil.Casado) && afiliadoAMod.estadoCivil != estado_civil.Casado)
                    {
                        DialogResult res = MessageBox.Show("¿Desea agregar a su conyuge?", "Clinica-FRBA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (res == DialogResult.Yes)
                        {
                            NuevoAfiliado conyuge = new NuevoAfiliado(1, afiliadoAMod.idFamilia);
                            this.Visible = false;
                            conyuge.ShowDialog();
                            this.Visible = true;
                        }
                    }

                    if ((tipo == 0) && ((estado_civil)estadoCiv.SelectedItem == estado_civil.Concubinato) && afiliadoAMod.estadoCivil != estado_civil.Concubinato)
                    {
                        DialogResult res = MessageBox.Show("¿Desea agregar a su conyuge?", "Clinica-FRBA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (res == DialogResult.Yes)
                        {
                            NuevoAfiliado conyuge = new NuevoAfiliado(2, afiliadoAMod.idFamilia);
                            this.Visible = false;
                            conyuge.ShowDialog();
                            this.Visible = true;
                        }
                    }
                    afiliadoAMod = Afiliado.getAfiliadoPorID(afiliadoAMod.idAfiliado); // Lo recargamos
                }
            }
        }
        private void botonAceptar_Click(object sender, EventArgs e)
        {
            Errores errores = new Errores();

            if (textBox_NombAfi.TextLength == 0)
            {
                errores.agregarError("El nombre del afiliado no puede ser nulo");
            }
            if (textBox_ApAfi.TextLength == 0)
            {
                errores.agregarError("El apellido del afiliado no puede ser nulo");
            }
            if (textBox_NumDoc.TextLength == 0)
            {
                errores.agregarError("El número de documento del afiliado no puede ser nulo");
            }
            if (PlanMedAfi.SelectedItem == null)
            {
                errores.agregarError("El plan médico del afiliado no puede ser nulo");
            }
            SqlCommand cuantosHayConDNI = new SqlCommand("ELIMINAR_CAR.verificar_doc_afiliado", DBConnector.ObtenerConexion());
            int        cantDNI          = 0;

            cuantosHayConDNI.CommandType = CommandType.StoredProcedure;
            cuantosHayConDNI.Parameters.AddWithValue("@tipo", (int)comboBox_TipoDoc.SelectedItem);
            cuantosHayConDNI.Parameters.AddWithValue("@dni", Int64.Parse(textBox_NumDoc.Text));
            cuantosHayConDNI.Parameters.AddWithValue("@resultado", cantDNI);
            cuantosHayConDNI.Parameters["@resultado"].Direction = ParameterDirection.Output;
            cuantosHayConDNI.ExecuteNonQuery();
            cantDNI = (int)cuantosHayConDNI.Parameters["@resultado"].Value;
            if (cantDNI > 0)
            {
                errores.agregarError("El tipo y numero de documento ingresado ya existe.");
            }
            if (errores.huboError())
            {
                MessageBox.Show(errores.stringErrores(), "Clinica-FRBA: ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            else //Coportamiento si esta todo ok
            {
                //Insertar Chabon
                if (tipo == 0)
                {
                    SqlCommand insertar = new SqlCommand("ELIMINAR_CAR.insertarAfiliadoRaiz", DBConnector.ObtenerConexion());
                    insertar.CommandType = CommandType.StoredProcedure;
                    insertar.Parameters.Add(new SqlParameter("@tipo_doc", (Int32)comboBox_TipoDoc.SelectedValue));
                    insertar.Parameters.Add(new SqlParameter("@n_doc", Decimal.Parse(textBox_NumDoc.Text)));
                    insertar.Parameters.Add(new SqlParameter("@nombre", textBox_NombAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@apellido", textBox_ApAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@direccion", textBox_DirecAfi.Text));
                    int telefono;
                    if (Int32.TryParse(textBox_TelAfi.Text, out telefono))
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", Int64.Parse(textBox_TelAfi.Text)));
                    }
                    else
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", DBNull.Value));
                    }
                    insertar.Parameters.Add(new SqlParameter("@mail", textBox_MailAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@fecha_nac", dtp_fecha_nac.Value));
                    insertar.Parameters.Add(new SqlParameter("@estado_civil", (Int32)comboBox_EstadoCivilAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@sexo", (Int32)comboBox_SexoAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@id_plan", ((Plan)PlanMedAfi.SelectedItem).id_plan));
                    int familiares = 0;
                    //Le ponemos 0 a cargo porque no cuenta el conyuge y al agregar los demas se suman
                    // if (Int32.TryParse(textBox_CantFami.Text, out familiares)) ;
                    //else familiares = 0;
                    insertar.Parameters.Add(new SqlParameter("@familiares_a_cargo", familiares));

                    insertar.Parameters.Add(new SqlParameter("@id_familia_out", numFam));
                    Int64 id_afiliado = 0;
                    insertar.Parameters.Add(new SqlParameter("@id_afiliado_out", id_afiliado));
                    insertar.Parameters["@id_familia_out"].Direction  = ParameterDirection.Output;
                    insertar.Parameters["@id_afiliado_out"].Direction = ParameterDirection.Output;
                    insertar.ExecuteNonQuery();
                    numFam = (Int64)insertar.Parameters["@id_familia_out"].Value;

                    id_afiliado = (Int64)insertar.Parameters["@id_afiliado_out"].Value;
                }
                else if (tipo == 1 || tipo == 2)
                {
                    SqlCommand insertar = new SqlCommand("ELIMINAR_CAR.insertarConyuge", DBConnector.ObtenerConexion());
                    insertar.CommandType = CommandType.StoredProcedure;
                    insertar.Parameters.Add(new SqlParameter("@id_familia", numFam));
                    insertar.Parameters.Add(new SqlParameter("@tipo_doc", (Int32)comboBox_TipoDoc.SelectedValue));
                    insertar.Parameters.Add(new SqlParameter("@n_doc", Decimal.Parse(textBox_NumDoc.Text)));
                    insertar.Parameters.Add(new SqlParameter("@nombre", textBox_NombAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@apellido", textBox_ApAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@direccion", textBox_DirecAfi.Text));
                    int telefono;
                    if (Int32.TryParse(textBox_TelAfi.Text, out telefono))
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", Int64.Parse(textBox_TelAfi.Text)));
                    }
                    else
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", DBNull.Value));
                    }
                    insertar.Parameters.Add(new SqlParameter("@mail", textBox_MailAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@fecha_nac", dtp_fecha_nac.Value));
                    insertar.Parameters.Add(new SqlParameter("@estado_civil", (Int32)comboBox_EstadoCivilAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@sexo", (Int32)comboBox_SexoAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@id_plan", ((Plan)PlanMedAfi.SelectedItem).id_plan));

                    Int64 id_afiliado = 0;
                    insertar.Parameters.Add(new SqlParameter("@id_afiliado_out", id_afiliado));
                    insertar.Parameters["@id_afiliado_out"].Direction = ParameterDirection.Output;
                    insertar.ExecuteNonQuery();

                    id_afiliado = (Int64)insertar.Parameters["@id_afiliado_out"].Value;
                }
                else
                {
                    SqlCommand insertar = new SqlCommand("ELIMINAR_CAR.insertarDependiente", DBConnector.ObtenerConexion());
                    insertar.CommandType = CommandType.StoredProcedure;
                    insertar.Parameters.Add(new SqlParameter("@id_familia", numFam));
                    insertar.Parameters.Add(new SqlParameter("@tipo_doc", (Int32)comboBox_TipoDoc.SelectedValue));
                    insertar.Parameters.Add(new SqlParameter("@n_doc", Decimal.Parse(textBox_NumDoc.Text)));
                    insertar.Parameters.Add(new SqlParameter("@nombre", textBox_NombAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@apellido", textBox_ApAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@direccion", textBox_DirecAfi.Text));
                    int telefono;
                    if (Int32.TryParse(textBox_TelAfi.Text, out telefono))
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", Int64.Parse(textBox_TelAfi.Text)));
                    }
                    else
                    {
                        insertar.Parameters.Add(new SqlParameter("@telefono", DBNull.Value));
                    }
                    insertar.Parameters.Add(new SqlParameter("@mail", textBox_MailAfi.Text));
                    insertar.Parameters.Add(new SqlParameter("@fecha_nac", dtp_fecha_nac.Value));
                    insertar.Parameters.Add(new SqlParameter("@estado_civil", (Int32)comboBox_EstadoCivilAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@sexo", (Int32)comboBox_SexoAfi.SelectedItem));
                    insertar.Parameters.Add(new SqlParameter("@id_plan", ((Plan)PlanMedAfi.SelectedItem).id_plan));

                    Int64 id_afiliado = 0;
                    insertar.Parameters.Add(new SqlParameter("@id_afiliado_out", id_afiliado));
                    insertar.Parameters["@id_afiliado_out"].Direction = ParameterDirection.Output;
                    insertar.ExecuteNonQuery();

                    id_afiliado = (Int64)insertar.Parameters["@id_afiliado_out"].Value;
                }


                MessageBox.Show("El afiliado fue agregado corrrectamente\n", "Clinica-FRBA", MessageBoxButtons.OK);
                //Casteo a tipo de dato, porque devuelve object

                if ((tipo == 0) && ((estado_civil)comboBox_EstadoCivilAfi.SelectedItem == estado_civil.Casado))
                {
                    DialogResult res = MessageBox.Show("¿Desea agregar a su conyuge?", "Clinica-FRBA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (res == DialogResult.Yes)
                    {
                        NuevoAfiliado conyuge = new NuevoAfiliado(1, numFam);
                        this.Visible = false;
                        conyuge.ShowDialog();
                        this.Visible = true;
                    }
                }

                if ((tipo == 0) && ((estado_civil)comboBox_EstadoCivilAfi.SelectedItem == estado_civil.Concubinato))
                {
                    DialogResult res = MessageBox.Show("¿Desea agregar a su conyuge?", "Clinica-FRBA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (res == DialogResult.Yes)
                    {
                        NuevoAfiliado conyuge = new NuevoAfiliado(2, numFam);
                        this.Visible = false;
                        conyuge.ShowDialog();
                        this.Visible = true;
                    }
                }

                if ((tipo == 0) && textBox_CantFami.TextLength > 0 && (int.Parse(textBox_CantFami.Text) > 0))
                {
                    int cantFamiliares = int.Parse(textBox_CantFami.Text);
                    for (int i = 0; i < cantFamiliares; i++)
                    {
                        DialogResult resultado = MessageBox.Show("¿Desea agregar un nuevo familiar a cargo?", "Clinica-FRBA", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        if (resultado == DialogResult.Yes)
                        {
                            NuevoAfiliado familiar = new NuevoAfiliado(3, numFam);
                            this.Visible = false;
                            familiar.ShowDialog();
                            this.Visible = true;
                        }
                        else
                        {
                            break;
                        }
                    }
                }

                this.Close();
            }
        }
Beispiel #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            switch (ABMAfi.SelectedIndex)
            {
            case 0:

                NuevoAfiliado form = new NuevoAfiliado(0, -1);
                this.Visible = false;
                form.ShowDialog();
                this.Visible = true;

                break;

            case 1:

                SeleccionarAfiliado selecB = new SeleccionarAfiliado();
                this.Visible = false;
                selecB.ShowDialog();
                this.Visible = true;
                if (selecB.fueCerradoPorUsuario)
                {
                    this.Close();
                    return;
                }
                else
                {
                    afiliadoSeleccionado = ((Afiliado)((DataGridView)selecB.Controls["dgv_afiliado"]).CurrentRow.DataBoundItem);
                }

                DialogResult resultado = MessageBox.Show("¿Desea eliminar a este afiliado?", "Clinica-FRBA", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                if (resultado == DialogResult.OK)
                {
                    SqlCommand eliminar;
                    if (afiliadoSeleccionado.idAfiliado.ToString().EndsWith("01"))
                    {
                        eliminar = new SqlCommand("ELIMINAR_CAR.eliminarAfiliadoRaiz", DBConnector.ObtenerConexion());
                    }
                    else
                    {
                        eliminar = new SqlCommand("ELIMINAR_CAR.eliminarAfiliadoNoRaiz", DBConnector.ObtenerConexion());
                    }
                    eliminar.CommandType = CommandType.StoredProcedure;
                    eliminar.Parameters.Add(new SqlParameter("@id_afiliado", (Int64)afiliadoSeleccionado.idAfiliado));
                    eliminar.Parameters.Add(new SqlParameter("@id_familia", (Int64)afiliadoSeleccionado.idFamilia));
                    eliminar.Parameters.Add(new SqlParameter("@fecha_baja", ClinicaFrba.Utils.Fechas.getCurrentDateTime().Date));

                    eliminar.ExecuteNonQuery();
                    MessageBox.Show("El afiliado fue eliminado correctamente", "Clinica-FRBA", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                break;

            case 2:
                SeleccionarAfiliado selecM = new SeleccionarAfiliado();
                this.Visible = false;
                selecM.ShowDialog();
                this.Visible = true;
                if (selecM.fueCerradoPorUsuario)
                {
                    this.Close();
                    return;
                }
                else
                {
                    afiliadoSeleccionado = ((Afiliado)((DataGridView)selecM.Controls["dgv_afiliado"]).CurrentRow.DataBoundItem);
                }

                ModificarAfiliado modif = new ModificarAfiliado(this.afiliadoSeleccionado);
                this.Visible = false;
                modif.ShowDialog();
                this.Visible = true;

                break;

            case 3:
                SeleccionarAfiliado listar = new SeleccionarAfiliado(1);
                this.Visible = false;
                listar.ShowDialog();
                this.Visible = true;
                break;
            }
        }