//Mátodo de eliminación de nómina public static bool EliminarNomina(ClaseNomina [] lasNominas, ClaseTrabajador trabajador) { bool nominaEliminada = false; ClaseNomina[] copia = null; int contador = 0; string nombreIntroducido = null; if (lasNominas == null) { throw new Exception("El trabajador no tiene ninguna nómina"); } else { nombreIntroducido = InterfazTrabajador.nombreTrabajador(); //Nombre introducido por la interfaz if (InterfazTrabajador.comprobarNombre(nombreIntroducido)) //comprobamos el nombre que se introduce por la interfaz de usuario { for (int i = 0; i < lasNominas.Length; i++) { if (InterfazNomina.solicitarSalarioBruto().Equals(lasNominas[i].salarioBruto)) { copia = new ClaseNomina[lasNominas.Length - 1]; for (int j = 0; j < lasNominas.Length; j++) { if (!lasNominas[j].salarioBruto.Equals(nombreIntroducido)) { copia[contador] = lasNominas[j]; contador++; } } lasNominas = new ClaseNomina[copia.Length]; copia.CopyTo(lasNominas, 0); nominaEliminada = true; copia = null; } } } } return(nominaEliminada); }
public static void controlador() { bool salir = false; byte opcion = 0; do { InterfazTrabajador.MenuTrabajador(); /**1- Añadir nómina * 2- Eliminar nómina * 3- Modificar nómina * 4- Listar nóminas * 5- Salir */ if (InterfazPrincipal.LeerOpcion(ref opcion)) //si opcion es > 0 y <=5, opcionCorrecta=true { switch (opcion) { case 1: //metodo de Agregar nomina trabajador //ControladorEmpresa.controlNombreTrabajador(); salir = true; break; case 2: //metodo de eliminar nomina trabajador salir = true; break; case 3: //metodo de modificar nomina trabajador salir = true; break; case 4: //metodo de listar nominas del trabajador salir = true; break; case 5: salir = true; break; } } } while (!salir); }