/// <summary> /// Procedimiento para listar las empresas de la gestoria, con o sin indices /// <paramref name="indices">True o False para indicar si queremos indices o no</paramref> /// <paramref name="migestoria">La Gestoria</paramref> /// </summary> public static void listadoEmpresas(Gestora migestoria, bool indices) { int indice; int trabajadores; string salida; indice = 1; trabajadores = 0; salida = "\nLISTADO DE EMPRESAS\n===================\n"; CH.lcd(salida); Console.ForegroundColor = ConsoleColor.Blue; if (indices) { Console.WriteLine("{0}{1}{2}", "ID".PadRight(5), "NOMBRE".PadRight(15), "TRABAJADORES"); } else { Console.WriteLine("{0}{1}", "NOMBRE".PadRight(15), "TRABAJADORES"); } Console.ForegroundColor = ConsoleColor.White; salida = ""; if (migestoria.empresas != null) { if (migestoria.empresas.Length > 0) { for (int i = 0; i < migestoria.empresas.Length; i++) { if (migestoria.empresas[i].plantilla != null) { trabajadores = migestoria.empresas[i].plantilla.Length; } if (indices) { Console.WriteLine("{0}{1}{2}", indice.ToString().PadRight(5), migestoria.empresas[i].nombre.PadRight(15), trabajadores); } else { Console.WriteLine("{0}{1}", migestoria.empresas[i].nombre.PadRight(15), trabajadores); } indice++; trabajadores = 0; } } } else { salida += "\n!> NO HAY NINGUNA EMPRESA REGISTRADA, MELÓN!!"; } CH.lcdColor(salida, ConsoleColor.Red); //ConsoleHelper.pausa(); }
/// <summary> /// Procedimiento para solicitar el formato deseado para el archivo de configuracion /// </summary> public static byte pedirFormato() { byte formato; string salida; salida = "\nFORMATOS DISPONIBLES PARA EL FICHERO\n"; salida += "====================================\n\n"; salida += "1. FORMATO TEXTO .TXT\n"; salida += "2. FORMATO BINARIO .BIN\n"; CH.lcd(salida); formato = CH.leerOpcionMsg(2, "QUE FORMATO DESEAS, AMO"); return(formato); }
public static void listarDatosBin(int maxhoras, int horasbase, float maxeurxhora, float preciojornada, float factorextra, float impuestos) { string cadena; cadena = "\nLISTADO DE VALORES CONFIGURACION !!BINARY!!!\n"; cadena += "============================================\n"; CH.lcdColor(cadena, ConsoleColor.Cyan); cadena = "1. MAXIMO HORAS.....: " + maxhoras + "\n"; cadena += "2. HORAS SAL. NORMAL: " + horasbase + "\n"; cadena += "3. EUR MAX. X HORA..: " + maxeurxhora + "\n"; cadena += "4. PRECIO JORNADA...: " + preciojornada + "\n"; cadena += "5. FACTOR INC. EXTRA: " + factorextra + "\n"; cadena += "6. % IMPUESTOS......: " + impuestos + "\n"; CH.lcd(cadena); }
public static void modificarTrabajador(ref Trabajador trabajador) { Console.WriteLine(">> DATOS DEL TRABAJADOR:\n" + trabajador.ToString()); Console.WriteLine(">> AHORA DAME LOS NUEVOS DATOS..."); try { trabajador.nombre = ConsoleHelper.leerNombre(); trabajador.apellidos = ConsoleHelper.leerApellidos(); trabajador.dni = ConsoleHelper.leerDni(); CH.lcdColor("\n>> DATOS DEL TRABAJADOR ACTUALIZADOS!", ConsoleColor.Green); } catch (Exception ex) { Console.WriteLine(">> ERROR: " + ex.Message); } }
// METODO PARA LISTAR LAS NOMINAS POR INDICE DEL TRABJADOR. RECIBE EL TIPOTRABAJADOR public static void listarTrabajadores(Empresa empresa) { if (empresa.plantilla != null) { Console.WriteLine("\nLISTADO DE TRABAJADORES"); Console.WriteLine("======================="); for (int i = 0; i < empresa.plantilla.Length; i++) { Console.WriteLine((i + 1) + ". " + empresa.plantilla[i].nombre + " " + empresa.plantilla[i].apellidos); } } else { CH.lcdColor("\n!> LA EMPRESA NO TIENE TRABAJADORES CONTRATADOS!", ConsoleColor.Red); } }
public static void menu_empresa() { string salida; salida = "\n"; ConsoleHelper.cls(); salida += "+----------------------+\n"; salida += "| MENU DE EMPRESAS |\n"; salida += "+----------------------+\n"; CH.lcdColor(salida, ConsoleColor.Cyan); salida = "1. NUEVA EMPRESA\n"; salida += "2. CONSULTAR EMPRESA\n"; salida += "3. MODIFICAR EMPRESA\n"; salida += "4. BORRAR EMPRESA\n\n"; salida += "5. LISTAR EMPRESAS\n\n"; salida += "0. VOLER AL MENÚ PRINCIPAL\n\n"; Console.Write(salida); }
public static void menuTrabajador(byte empresa, Gestora migestoria) { ConsoleHelper.cls(); string cadena = null; cadena += "\n+======================+\n"; cadena += "| MENU DE TRABAJADORES |\n"; cadena += "+======================+\n\n"; cadena += "*> EMPRESA: " + empresa + ". " + migestoria.empresas[empresa - 1].nombre + " <*\n"; CH.lcdColor(cadena, ConsoleColor.Cyan); cadena = "1. REGISTRAR TRABAJADOR\n"; cadena += "2. CONSULTAR TRABAJADOR\n"; cadena += "3. MODIFICAR TRABAJADOR\n"; cadena += "4. DESPEDIR TRABAJADOR\n\n"; cadena += "5. LISTAR TRABAJADORES\n\n"; cadena += "0. << GORVER <<\n"; Console.WriteLine(cadena); }
public static void menu_principal(string nombre) { CH.cls(); string salida = "\n"; salida += "+===============================+\n"; salida += "| MENU DE OPCIONES GESTORIA |\n"; salida += "| - - - - - - - - - - - |\n"; salida += "| " + nombre + " |\n"; salida += "+===============================+\n"; CH.lcdColor(salida, ConsoleColor.Cyan); salida = "1. GESTIÓN DE EMPRESAS\n"; salida += "2. GESTIÓN DE TRABAJADORES\n"; salida += "3. GESTIÓN DE NOMINAS\n\n"; salida += "4. MÓDULO DE ADMINISTRACIÓN\n\n"; salida += "5. CARGA DATOS [MODO DEBUG]\n\n"; salida += "0. SALIR\n\n"; CH.lcd(salida); }
// FUNCIÓN QUE DEVUELVE UN STRING (CUALQUIER COSA) QUE NO ESTE VACIO PEDIDO POR TECLADO // MOSTRANDO UN MENSAJE PERSONALIZADO POR PANTALLA // @param - string: un mensaje para mostrar por pantalla public static string leerCadena(string msg) { bool salir = false; string aux = null; do { Console.Write("?> " + msg + ": "); aux = Console.ReadLine(); if ((String.IsNullOrEmpty(aux))) { CH.lcdColor("!> ¿¡Perdona!?... ?@#!!", ConsoleColor.Red); } else { salir = true; } } while (!salir); return(aux); }
/// <summary> /// Procedimiento para mostar el menu principal para la gestión de nóminas, previa seleccion /// de empresa y trabajador /// <paramref name="empresa">La empresa activa con los trabajadores</paramref> /// <paramref name="trabajador">El trabajador Activo...</paramref> /// <paramref name="migestoria">La getoria entera ... ?!?!</paramref> /// </summary> public static void menuNomina(byte empresa, byte trabajador, Gestora migestoria) { string salida; CH.cls(); salida = "\n"; salida += "+---------------------+\n"; salida += "| MENU DE NÓMINAS |\n"; salida += "+---------------------+\n\n"; salida += "*> EMPRESA.: " + empresa + ". " + migestoria.empresas[empresa - 1].nombre + " <*\n"; salida += "*> EMPLEADO: " + trabajador + ". " + migestoria.empresas[empresa - 1].plantilla[trabajador - 1].nombre + " " + migestoria.empresas[empresa - 1].plantilla[trabajador - 1].apellidos + " <*\n"; CH.lcdColor(salida, ConsoleColor.Cyan); salida = "1. AÑADIR UNA NOMINA\n"; salida += "2. CONSULTAR NOMINA\n"; salida += "3. MODIFICAR NOMINA\n"; salida += "4. ELIMINAR NOMINA\n\n"; salida += "5. LISTAR NOMINAS\n\n"; salida += "0. << GORVER <<\n"; CH.lcd(salida); }
public static int leerNumero(string msg) { bool salir = false; string aux = ""; int numero = 0; do { Console.Write("?> " + msg + ": "); aux = Console.ReadLine(); if ((!String.IsNullOrWhiteSpace(aux) && Int32.TryParse(aux, out numero))) { salir = true; } else { CH.lcdColor("!> Valor NO VÁLIDO!", ConsoleColor.Red); } } while (!salir); return(numero); }
// FUNCIÓN DE DEVUELVE UN STRING (NO NUMERO REAL) PEDIDO POR TECLADO // @param - string: el mensaje a mostrar // @return - string: el string introducido public static string leerString(string msg) { bool salir = false; string aux = null; int numero = 0; do { Console.Write("?> " + msg + ": "); aux = Console.ReadLine(); if ((String.IsNullOrEmpty(aux)) || (Int32.TryParse(aux, out numero))) { CH.lcdColor("!> ¿¡Perdona!?... ?@#!!", ConsoleColor.Red); } else { salir = true; } } while (!salir); return(aux); }
/// <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); }