Ejemplo n.º 1
0
        private void btnRegistrar_MP_Click(object sender, EventArgs e)
        {
            try
            {
                AccionesTerminal at = new AccionesTerminal();
                PERSONAL         p1 = new PERSONAL();

                if (txtContrasena_MP.Text == null || txtContrasena_MP.Text == "")
                {
                    throw new Exception();
                }

                //CapturarDatos
                p1.NOMBRES           = txtNombres_MP.Text;
                p1.APELLIDOS         = txtApellidos_MP.Text;
                p1.EMAIL             = txtEmail_MP.Text;
                p1.HASHED_PASS       = Util.hashMD5(txtContrasena_MP.Text);
                p1.RUT               = int.Parse(txtRutPersonalCargado_MP.Text);
                p1.VERIFICADOR       = txtVerificadorCargado_MP.Text;
                p1.REMUNERACION      = int.Parse(txtRemuneracion_MP.Text);
                p1.PORCENT_DESCUENTO = byte.Parse(txtDescuento_MP.Text);
                p1.ACTIVO            = true;

                if (!Util.isEmailValido(p1.EMAIL))
                {
                    throw new Exception();
                }

                if (!Util.rutValido(p1.RUT, p1.VERIFICADOR))
                {
                    throw new Exception();
                }

                int privi = ((ComboboxItem)cbCargo_MP.SelectedItem).Value;
                if (privi == 0 && (txtCuentaBanc_MP.Text == "" || (txtCuentaBanc_MP.Text == string.Empty)))
                {
                    throw new Exception();
                }

                p1.ID_PERSONAL = at.nuevoPersonalId(p1);

                if (p1.ID_PERSONAL == 0)
                {
                    throw new Exception();
                }


                if (((ComboboxItem)cbCargo_MP.SelectedItem).Text == "Médico")
                {
                    string cuentaBancaria = txtCuentaBanc_MP.Text;
                }


                using (var context = new CMHEntities())
                {
                    switch (privi)
                    {
                    case 0:     // Médico

                        PERS_MEDICO persMedico = new PERS_MEDICO();
                        persMedico.ID_ESPECIALIDAD    = context.ESPECIALIDAD.Where(d => d.NOM_ESPECIALIDAD.ToUpper() == "MEDICO").FirstOrDefault().ID_ESPECIALIDAD;
                        persMedico.ID_PERSONAL        = p1.ID_PERSONAL;
                        persMedico.ID_PERSONAL_MEDICO = at.nuevoPersonalMedicoID(persMedico);
                        at.asignarBloques(persMedico);
                        CUEN_BANCARIA cuentaB = new CUEN_BANCARIA();
                        cuentaB.ID_PERS_MEDICO     = persMedico.ID_PERSONAL_MEDICO;
                        cuentaB.ID_TIPO_C_BANCARIA = ((TIPO_C_BANCARIA)cbTipoCuenta_MP.SelectedItem).ID_TIPO_C_BANCARIA;

                        cuentaB.NUM_C_BANCARIA = txtCuentaBanc_MP.Text;
                        cuentaB.ID_BANCO       = ((BANCO)cbBanco_MP.SelectedItem).ID_BANCO;
                        at.crearCuentaBancaria(cuentaB);

                        break;

                    case 1:     // Enfermero
                        PERS_MEDICO persEnfermero = new PERS_MEDICO();
                        persEnfermero.ID_ESPECIALIDAD = context.ESPECIALIDAD.Where(d => d.NOM_ESPECIALIDAD.ToUpper() == "ENFERMERO").FirstOrDefault().ID_ESPECIALIDAD;
                        persEnfermero.ID_PERSONAL     = p1.ID_PERSONAL;
                        at.nuevoPersonalMedico(persEnfermero);
                        at.asignarBloques(persEnfermero);

                        break;

                    case 2:     // Tecnólogo
                        PERS_MEDICO persTecnologo = new PERS_MEDICO();
                        persTecnologo.ID_ESPECIALIDAD = context.ESPECIALIDAD.Where(d => d.NOM_ESPECIALIDAD.ToUpper() == "TECNOLOGO").FirstOrDefault().ID_ESPECIALIDAD;
                        persTecnologo.ID_PERSONAL     = p1.ID_PERSONAL;
                        at.nuevoPersonalMedico(persTecnologo);
                        at.asignarBloques(persTecnologo);
                        break;

                    case 3:     // Operador
                        FUNCIONARIO funcOperador = new FUNCIONARIO();
                        funcOperador.ID_CARGO_FUNCI = context.CARGO.Where(d => d.NOMBRE_CARGO.ToUpper() == "OPERADOR").FirstOrDefault().ID_CARGO_FUNCI;
                        funcOperador.ID_PERSONAL    = p1.ID_PERSONAL;
                        at.nuevoFuncionario(funcOperador);
                        break;

                    case 4:     // Jefe de operador
                        FUNCIONARIO funcJefeOperador = new FUNCIONARIO();
                        funcJefeOperador.ID_CARGO_FUNCI = context.CARGO.Where(d => d.NOMBRE_CARGO.ToUpper() == "JEFE DE OPERADOR").FirstOrDefault().ID_CARGO_FUNCI;
                        funcJefeOperador.ID_PERSONAL    = p1.ID_PERSONAL;
                        at.nuevoFuncionario(funcJefeOperador);
                        break;
                    }
                }

                MessageBox.Show("¡Personal creado exitosamente!", "Personal", MessageBoxButtons.OK, MessageBoxIcon.None);
                limpiarCampos_MP();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al registrar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }