示例#1
0
        //Método para la Modificación de los diferentes aspectos de un trabajador en concreto
        public static void ModificarTrabajador(ref Trabajador[] listaTrabajadores)
        {
            int    posicion = 0;
            string eleccion = null;
            string dni = null;
            bool   salir = false, existe = false;
            bool   error    = false;
            string pregunta = null;
            string mensaje  = null;

            if (error == false)
            {
                dni    = Interfaz.PlantillaPedirDni(); //Pedimos el DNI a modificar con la plantilla de la intefaz
                existe = ExisteTrabajador(listaTrabajadores, dni, ref posicion);
            }
            if (existe)
            {
                do
                {
                    try
                    {
                        //Llamamos a la plantilla para ver la elección escogida
                        eleccion = Interfaz.PlantillaEleccionModificar();

                        switch (eleccion) //Según la elección escogida realiza una acción u otra
                        {
                        //Caso 1: Modificación del DNI
                        case "1":
                            listaTrabajadores[posicion].dni_pre = Interfaz.ElementoModificar(eleccion);
                            break;

                        //Caso 2: Modificación del NOMBRE
                        case "2":
                            listaTrabajadores[posicion].nombre_pre = Interfaz.ElementoModificar(eleccion);
                            break;

                        //Caso 1: Modificación de los APELLIDOS
                        case "3":
                            listaTrabajadores[posicion].apellidos_pre = Interfaz.ElementoModificar(eleccion);
                            break;
                        }
                        error    = false;
                        mensaje  = "Operación realizada con éxito.";
                        pregunta = "¿Quieres modificar otro aspecto? s/n >> ";
                        Interfaz.Continuar(mensaje);
                        Interfaz.Pregunta(ref pregunta, ref salir);
                        Ficheros.GuardarTrabajadores(listaTrabajadores);
                        // Si todo ha sido validado, lo guardamos en el fichero
                    }
                    catch (Exception ex)
                    {
                        Interfaz.Error(ex.Message);
                        Interfaz.Continuar();
                        salir = false;
                        error = true;
                    }
                } while (!salir);
            }
        }
示例#2
0
        //Método para borrar un trabajador
        public static void BorrarTrabajador(ref Trabajador[] listaTrabajadores)
        {
            Trabajador[] copia;
            int          posicion = 0;
            string       dni      = null;
            bool         existe   = false;
            //bool correcto = false;
            string mensaje;
            int    j = 0;

            //Vamos a pedir el DNI para buscar a la persona que vamos a borrar
            dni = Interfaz.PlantillaPedirDni();

            //En segundo lugar buscamos si existe dicho DNI introducido.
            existe = ExisteTrabajador(listaTrabajadores, dni, ref posicion);

            // Condición para conocer si la cuenta se encuentra sin saldo y además si existe.
            if (existe == true)
            {
                // Creamos un array de Copia para volcar los datos, con longitud de los trabajadores -1
                copia = new Trabajador[listaTrabajadores.Length - 1];



                /* For para recorrer el array, si encotnramos dicho DNI, borramos dicha posición y datos.*/
                for (int i = 0; i < listaTrabajadores.Length; i++, j++)
                {
                    if (i != posicion)
                    {
                        copia[j] = listaTrabajadores[i];
                    }
                    else
                    {
                        j -= 1;
                    }
                }
                //Array dinámico
                listaTrabajadores = new Trabajador[copia.Length];
                copia.CopyTo(listaTrabajadores, 0);
                //Ponemos el array de copia en Null para ahorrar memoria
                copia   = null;
                mensaje = "Trabajador borrado con éxito";
                Interfaz.Continuar(mensaje);
                Interfaz.Continuar();
            }
            else
            {
                mensaje = "El trabajador que está intentando borrar no existe.\n";
                Interfaz.Error(mensaje);
                Interfaz.Continuar();
            }
        }