Beispiel #1
0
        //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);
        }