Exemple #1
0
        private void buttonAction_Click(object sender, EventArgs e)
        {
            string   nombre    = this.textBoxNombre.Text;
            string   apellido1 = this.textBoxApellido1.Text;
            string   apellido2 = this.textBoxApellido2.Text;
            string   codigo    = this.textBoxCodigo.Text;
            string   direccion = this.textBoxDireccion.Text;
            DateTime f         = this.dtpFechaNacimiento.Value;
            Sexo     s         = (this.domainUpDownSexo.Text == @"Masculino") ? Sexo.Masculino : Sexo.Femenino;
            string   n         = textBoxNivel.Text;
            string   aplicador = this.ap.User.Nombre;
            string   lugar     = this.cbLugar.Text;

            switch (this.op)
            {
            case Opciones.Buscar:

                #region Buscar
                this.listViewPacientes.Items.Clear();
                var criterios = new List <Busqueda>();
                if (this.checkBoxNombre.Checked)
                {
                    var b = new Busqueda {
                        campo = Criterios_Busqueda.nombre, valor = nombre
                    };
                    criterios.Add(b);
                }
                if (this.checkBoxApellido1.Checked)
                {
                    var b = new Busqueda {
                        campo = Criterios_Busqueda.apellido1, valor = apellido1
                    };
                    criterios.Add(b);
                }
                if (this.checkBoxApellido2.Checked)
                {
                    var b = new Busqueda {
                        campo = Criterios_Busqueda.apellido2, valor = apellido2
                    };
                    criterios.Add(b);
                }
                if (this.checkBoxCodigo.Checked)
                {
                    var b = new Busqueda {
                        campo = Criterios_Busqueda.codigo, valor = codigo
                    };
                    criterios.Add(b);
                }
                if (this.checkBoxSexo.Checked)
                {
                    var b = new Busqueda
                    {
                        campo = Criterios_Busqueda.sexo,
                        valor = (this.domainUpDownSexo.Text == @"Masculino") ? "M" : "F"
                    };
                    criterios.Add(b);
                }
                List <Paciente> pacientes = ap.buscar_Paciente(criterios);
                if (pacientes != null)
                {
                    foreach (Paciente p in pacientes)
                    {
                        AddItemToListView(p);
                    }
                }
                var resp = new Resp(Resources.MSG_SearchFinished);
                resp.ShowDialog(this);
                this.Dispose();
                #endregion

                break;

            case Opciones.Agregar:

                #region Agregar
                try
                {
                    var new_pac = new Paciente();
                    if (new_pac.Existe_Paciente(codigo))
                    {
                        var r = new Resp(Resources.MSG_Paciente_CodeNotAvailable);
                        r.ShowDialog(this);
                        return;
                    }
                    //if (!FunctionLibrary.InRange(
                    //    FunctionLibrary.GetAge(f),
                    //    FunctionLibrary.AgeFirstLevel,
                    //    FunctionLibrary.AgeMaxSecondLevel))
                    //{
                    //    var r = new Resp(Resources.MSG_Edad_NotInRange);
                    //    r.ShowDialog(this);
                    //    return;
                    //}
                    if (!ap.insertarPaciente(codigo, nombre, apellido1, apellido2, direccion, f, s, n, aplicador, lugar))
                    {
                        this.ap.Configuracion.recuperar(this.ap.Lista_CodigoPacientes());
                        codigo = this.ap.Configuracion.siguiente_codigo();
                        MessageBox.Show(this, Resources.MSG_LostConfig + codigo);
                        this.ap.insertarPaciente(codigo, nombre, apellido1, apellido2, direccion, f, s, n, aplicador, lugar);
                    }
                    var p = new Paciente();
                    p.LoadByID(codigo);
                    AddItemToListView(p);
                    var rr = new Resp(Resources.MSG_Paciente_AddOK);
                    rr.ShowDialog(this);
                    LimpiarFormularioPaciente();
                }
                catch (Exception)
                {
                    var c = new Resp(Resources.MSG_Paciente_InputDataError);
                    c.ShowDialog(this);
                }
                #endregion

                break;

            case Opciones.Editar:

                #region Editar
                try
                {
                    ap.Modificar_Paciente(codigo, nombre, apellido1, apellido2, direccion, f, s, n, aplicador, lugar);
                    var p = new Paciente();
                    p.LoadByID(codigo);
                    this.listViewPacientes.Items.Clear();
                    AddItemToListView(p);
                    var r = new Resp(Resources.MSG_Paciente_EditOK);
                    r.ShowDialog(this);
                }
                catch (Exception)
                {
                    var c = new Resp(Resources.MSG_Paciente_InputDataError);
                    c.ShowDialog(this);
                    return;
                }
                #endregion

                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }