コード例 #1
0
        // METODO QUE RECIBE EL TRABAJADOR POR REFERENCIA PARA AÑADIRLE UNA NÓMINA

        public static void pedirNomina(ref Trabajador trabajador)
        {
            Nomina    nomina;
            DatosBase datos;
            bool      salir;

            salir  = false;
            datos  = ControlerAdministracion.cargarDatos();
            nomina = new Nomina();

            do
            {
                try
                {
                    nomina.nombre    = trabajador.nombre;
                    nomina.apellidos = trabajador.apellidos;
                    InterfazNomina.pedirDatosNomina(ref nomina);
                    nomina.eurosHoras = datos.preciojoranda;                      // ESTA CONSTANTE ESTA EN CONTROLER GESTORIA, PERO ¿COMO SE LLEGA DE AQUI ALLI?
                    nomina.calcularBruto(datos.horasbase, datos.incrementoextra); // HAY QUE PASARLE EL MAX. DE HORAS NORMALES (EL RESTO SON EXTRAS) Y EL FACTOR DE INCREMENTO
                    nomina.calcularImpuestos(datos.impuestos);                    // EL PORCENTAJE DE LA TASA DE IMPUESTOS
                    if (trabajador.AgregarNomina(nomina))
                    {
                        CH.lcdColor("\ni> NÓMINA REGISTRADA CORRECTAMENTE!!\n", ConsoleColor.Green);
                        Console.WriteLine(nomina.ToString());
                        ConsoleHelper.pausa();
                        salir = true;
                    }
                    else
                    {
                        CH.lcdColor("!> ERROR REGISTRANDO LA NÓMINA!!", ConsoleColor.Red);
                        CH.pausa();
                    };
                }
                catch (Exception ex)
                {
                    CH.lcdColor("\n!> CLASS ERR: " + ex.Message.ToUpper(), ConsoleColor.Red);
                    CH.pausa();
                    salir = true;
                }
            } while (!salir);
        }
コード例 #2
0
        /// <summary>
        /// METODO PARA CAMBIAR UNA NÓMINA POR OTRA
        /// RECIBE EL TRABAJADOR POR REFERENCIA Y LA NOMINA A CAMBIAR.
        /// CREA UNA NUEVA Y LA CAMBIA
        /// <paramref name="nomina">La nomina a sustituir</paramref>
        /// <paramref name="trabajador">El trabajador de la nómina en cuestion</paramref>
        /// </summary>
        public static void pedirNuevaNomina(ref Trabajador trabajador, Nomina nomina)
        {
            Nomina    nueva_nomina = new Nomina();
            bool      salir        = false;
            DatosBase datos;

            datos = ControlerAdministracion.cargarDatos();
            do
            {
                try
                {
                    nueva_nomina.nombre    = trabajador.nombre;
                    nueva_nomina.apellidos = trabajador.apellidos;
                    Console.WriteLine("i> OK, AMO... VAMOS A CREAR UNA NUEVA NÓMINA PARA SUSTITUIRLA");
                    pedirDatosNomina(ref nueva_nomina);
                    nueva_nomina.eurosHoras = datos.preciojoranda;                      // ESTA CONSTANTE ESTA EN CONTROLER GESTORIA, PERO ¿COMO SE LLEGA DE AQUI ALLI?
                    nueva_nomina.calcularBruto(datos.horasbase, datos.incrementoextra); // HAY QUE PASARLE EL MAX. DE HORAS NORMALES (EL RESTO SON EXTRAS) Y EL FACTOR DE INCREMENTO
                    nueva_nomina.calcularImpuestos(datos.impuestos);                    // EL PORCENTAJE DE LA TASA DE IMPUESTOS
                    Console.WriteLine("\n" + nueva_nomina.ToString());

                    if (trabajador.modificarNomina(nomina, nueva_nomina))
                    {
                        CH.lcdColor("i> NÓMINA MODIFICADA CORRECTAMENTE", ConsoleColor.Green);
                        salir = true;
                        //ConsoleHelper.pausa();
                    }
                    else
                    {
                        CH.lcdColor("\n!> ERROR MODIFICANDO LA NÓMINA", ConsoleColor.Red);
                    };
                }
                catch (Exception ex)
                {
                    CH.lcdColor("!> ERR: " + ex.Message.ToUpper(), ConsoleColor.Red);
                }
            } while (!salir);
        }