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); } }