Ejemplo n.º 1
0
        /// <summary>
        /// Comportamiento del botón Guardar, en el caso de que el afiliado sea casado o viva en concubinato
        /// se le ofrece la posibilidad de asociarlo, ademas permite agregar tantos miembros familiares como desee
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            var service = new ClinicaService();

            if (DatosValidos())
            {
                CodigoPlan = service.GetCodigoPlanByDescripcion(this.cboPlanes.SelectedItem.ToString());

                List <Usuario> afiliados = new List <Usuario>();

                var afiliado = new Usuario()
                {
                    Nombre           = this.txtNombre.Text,
                    Apellido         = this.txtApellido.Text,
                    NroDocumento     = Convert.ToInt32(this.txtNroDoc.Text),
                    NroAfiliado      = Convert.ToInt32(this.txtNroDoc.Text),
                    TipoDocumento    = this.txtTipoDoc.Text,
                    FechaNacimiento  = Convert.ToDateTime(this.dtpFechaNacimiento.Value),
                    Mail             = this.txtMail.Text,
                    EstadoCivil      = this.cboEstadoCivil.SelectedItem.ToString(),
                    Direccion        = this.txtDireccion.Text,
                    Telefono         = Convert.ToInt32(this.txtTelefono.Text),
                    Sexo             = this.cboSexo.SelectedItem.ToString(),
                    CodigoPlanMedico = CodigoPlan
                };

                if (!service.ValidarExistenciaUsuario(afiliado.NroDocumento).NroDocumento.Equals(afiliado.NroDocumento))
                {
                    afiliados.Add(afiliado);

                    if (service.EsCasadoOViveEnConcubinato(afiliado))
                    {
                        if ((MessageBox.Show("¿Desea afiliar a su cónyuge?", "Confirmar",
                                             MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                             MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes))
                        {
                            this.AfiliarIntegranteFamilia(afiliados);
                        }
                    }

                    while ((MessageBox.Show("¿Desea afiliar algun otro miembro de su familia?", "Confirmar",
                                            MessageBoxButtons.YesNo, MessageBoxIcon.Question,
                                            MessageBoxDefaultButton.Button1) == System.Windows.Forms.DialogResult.Yes))
                    {
                        this.AfiliarIntegranteFamilia(afiliados);
                    }

                    service.GuardarRegistroAfiliado(afiliados);

                    MessageBox.Show("El registro del afiliado se guardó correctamente");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("El DNI del afiliado que ha ingresado ya se encuentra dado de alta.");
                }
            }
            else
            {
                MessageBox.Show("Alguno de los datos ingresados no son correctos. Intente de nuevo.");
            }
        }