/// <summary> /// Procedimiento para modifiar el nombre de una empresa. /// <paramref name="migestoria">Recibe la Gestoria por referencia, ya que modificamos a pelo el nombre</paramref> /// </summary> private static void modificarEmpresa(ref Gestora migestoria) { // ZONA DE ATRIBUTOS int opcion; int empresas; byte tope; Empresa empresa; // ENTRADA if (migestoria.empresas != null) { empresas = migestoria.empresas.Length; Byte.TryParse(empresas.ToString(), out tope); InterfazEmpresa.listadoEmpresas(migestoria, true); opcion = CH.leerOpcionMsg(tope, "SELECCIONA UNA EMPRESA"); empresa = migestoria.empresas[opcion - 1]; // PROCESO empresa.nombre = CH.leerCadena("NUEVO NOMBRE EMPRESA.."); // SALIDA CH.lcdColor("\ni> SE HA MODIFICADO CORRECTAMENTE EL NOMBRE DE LA EMPRESA", ConsoleColor.Green); } else { CH.lcdColor("!> NO HAY NINGUNA EMPRESA CREADA!", ConsoleColor.DarkYellow); } }
/// <summary> /// Procedimiento para consultar los datos de una empresa seleccionada de un indice de empresas. /// <paramref name="migestoria">Recibe el objeto gestoria</</paramref> /// </summary> public static void consultarEmpresa(Gestora migestoria) { // 1. LISTAR EMPRESAS // 2. SELECCIONAR EMPRESA // 3. MOSTRAR DATOS EMPRESA int opcion; int empresas; byte tope; Empresa empresa; // ENTRADA if (migestoria.empresas != null) { empresas = migestoria.empresas.Length; Byte.TryParse(empresas.ToString(), out tope); InterfazEmpresa.listadoEmpresas(migestoria, true); opcion = CH.leerOpcionMsg(tope, "SELECCIONA UNA EMPRESA"); empresa = migestoria.empresas[opcion - 1]; // SALIDA CH.lcd(empresa.ToString()); } else { CH.lcdColor("!> NO HAY NINGUNA EMPRESA CREADA!", ConsoleColor.DarkYellow); } }
/// <summary> /// Método para eliminar una empresa de la gestoria. /// <paramref name="migestoria">Recibe la gestoria entera</paramref> /// </summary> public static bool borrarEmpresa(Gestora migestoria) { // 1. LISTAR EMPRESAS // 2. SELECCIONAR EMPRESA // 3. BORRAR EMPRESA bool borrada; byte opcion; byte tope; int empresas; Empresa empresa; string mensaje; // ENTRADA mensaje = ""; borrada = false; // PROCESO if (migestoria.empresas != null) { empresas = migestoria.empresas.Length; Byte.TryParse(empresas.ToString(), out tope); InterfazEmpresa.listadoEmpresas(migestoria, true); opcion = CH.leerOpcionMsg(tope, "SELECCIONA UNA EMPRESA DE LA LISTA"); empresa = migestoria.empresas[opcion - 1]; if (migestoria.eliminarEmpresa(empresa)) { mensaje = "\ni> SE HA ELIMINADO CORRECTAMENTE LA EMPRESA DE LA GESTORIA"; borrada = true; } else { mensaje = "\n!> ERROR!! ... ALGO HA PASADO QUE LA COSA NO HA SALIDO MUY BIEN"; } } else { mensaje = "\n!> NO HAY NINGUA EMPRESA EN LA GESTORIA!"; } // SALIDA if (borrada) { CH.lcdColor(mensaje, ConsoleColor.Green); } else { CH.lcdColor(mensaje, ConsoleColor.Red); } return(borrada); }
public static void contratarProductos(ref Banka banka) { // 1. pedir dni // 2. buscar dni en lista de clientes // 3. si lo encuentra, cargarlo // 4. listar productos // 5. seleccionar uno // 6. pedir datos del contrato (importe-fechafin) // 7. cliente.agregarContrato(contrato); string dni = ""; Cliente cliente = null; Producto producto = null; Contrato contrato = null; byte indice; int id; dni = CH.leerDni(); foreach (Cliente c in banka.lista_clientes) { if (c.dni.ToUpper().Equals(dni.ToUpper())) { cliente = c; break; } } if (cliente != null) { contrato = new Contrato(); Byte.TryParse(banka.lista_productos.Length.ToString(), out indice); InterfazContrato.listarProductosIndice(banka.lista_productos); id = CH.leerOpcionMsg(indice, "Selecciona un producto de la lista"); producto = banka.lista_productos[id - 1]; contrato.id = Contrato.contratos + 1; contrato.producto = producto; contrato.id_producto = producto.id; contrato.fecha_contratacion = DateTime.Now.ToString(); contrato.fecha_finalizacion = DateTime.Now.AddYears(1).ToString(); contrato.saldo = InterfazContrato.leerSaldo(); contrato.activo = true; Contrato.contratos++; cliente.agregarContrato(contrato); CH.lcdColor("i> Se ha contratado el producto al cliente", ConsoleColor.DarkGreen); } else { CH.lcdColor("!> Cliente no encontrado!!", ConsoleColor.DarkRed); } CH.pausa(); }
public static void consultarProductos(Producto[] productos) { byte opcion; // dado que no habra muchos productos, le ponemos un byte Producto producto; if (productos != null) { Byte.TryParse(productos.Length.ToString(), out opcion); InterfazComercial.listarProductos(productos); opcion = CH.leerOpcionMsg(opcion, "Elije un producto de la lista"); producto = productos[opcion - 1]; CH.lcd("\n" + producto.ToString()); } else { CH.lcd("i> No hay productos en la banka!!"); } CH.pausa(); }
public static void ingreso(ref Banka banka) { // 1. Pedir dni // 2. LocalizarCliente // - SI ENCONTRADO - // 3. Listar Cuentas Ahorros (indice) // 3. Pedir Cuenta de Ahorro (indice) // -REPETIR ESTO HASTA CANTIDAD O.K.- // 4. Pedir cantidad // 5. Evaluar limite segun tipoCliente // 6. Si ok, ingresar Cantidad string dni = ""; Cliente cliente = null; byte numc = 0; float cantidad = 0.0F; dni = CH.leerDni(); cliente = banka.obtenerClienteXDNI(dni); if (cliente != null) { if (cliente.lista_contratos != null) { InterfazComercial.listarContratos(cliente); Byte.TryParse(cliente.lista_contratos.Length.ToString(), out numc); numc = CH.leerOpcionMsg(numc, "Elije un contrato de la lista"); cantidad = CH.leerCantidad("CANTIDAD A INGRESAR"); cliente.lista_contratos[numc - 1].ingreso(cantidad); CH.lcdColor("\ni> Se ha ingresado la cantidad en cuenta", ConsoleColor.Green); } else { CH.lcdColor("!> EL CLIENTE NO TIENE CONTRATOS!!", ConsoleColor.Red); } } else { CH.lcdColor("!> CLIENTE NO ENCONTRADO", ConsoleColor.Red); } CH.pausa(); }
public static void consultarProducto(Producto[] productos) { // 1. Listar Producto con Indice // 2. Elegir producto // 3. Mostrar datos byte opcion = 0; byte elementos_byte; // SUPONIENDO QUE NO HAYA MAS DE 255 PRODUCTOS.... int elementos = 0; elementos = productos.Length; if (elementos > 0) { Byte.TryParse(elementos.ToString(), out elementos_byte); InterfazContrato.listarProductosIndice(productos); opcion = CH.leerOpcionMsg(elementos_byte, "Selecciona un producto de la lista"); CH.lcd(productos[opcion - 1].ToString()); } else { CH.lcdColor("No hay productos en la banka!!", ConsoleColor.Magenta); } CH.pausa(); }
// PROCEDIMIENTO PARA REGISTRAR UN CLIENTE EN LA BANKA // @param Banka - la banca para usar su metodo agregarCliente public static void registrarEmpleado(ref Banka banka) { // 1. Creamos un cliente vacio // 2. Pedimos datos uno a uno // 3. Con el cliente completo, le contratamos una cuenta de ahorros, // 4. Evaluamos el tipoCliente y asignamos // 4. Lo agregamos a la banka bool salir = false; Empleado empleado = new Empleado(); Cliente cliente = new Cliente(); Contrato contrato = null; TipoCliente tipoc = null; TipoEmpleado tipoe = null; int indice = 0; int indicee = 0; float saldo = 0.0F; byte totalte; string dni = ""; if (banka.lista_clientes != null) { indice = banka.lista_clientes.Length + 1; } do { empleado.id = indice; empleado.nombre = InterfazCliente.leerNombre(); empleado.apellidos = InterfazCliente.leerApellidos(); do { try { dni = InterfazCliente.leerDni().ToUpper(); if (!banka.existeDNI(dni)) { empleado.dni = dni; salir = true; } else { CH.lcdColor("!> EL D.N.I. YA ESTÁ REGISTRADO EN EL SISTEMA", ConsoleColor.Red); } } catch (Exception e) { CH.lcd(e.Message); //CH.lcd(e.StackTrace); } } while (!salir); salir = false; do { try { empleado.fecha_nac = CH.leerCadena("FECHA NACIMIENTO.."); salir = true; } catch (Exception e) { CH.lcd(e.Message); } } while (!salir); salir = false; CH.lcdColor("-- DATOS DE ACCESO --", ConsoleColor.Blue); empleado.usuario = CH.leerCadena("NOMBRE DE USUARIO."); empleado.password = CH.leerCadena("CONTRASEÑA........"); salir = true; } while (!salir); // YA TENEMOS EL CLIENTE... A CONTRATAR UNA CUENTA CUENTA AHORROS SI O SI contrato = ControladorContrato.crearContratoDefault(banka.lista_productos[0]); // 0 - Cuenta Ahorros contrato.id_cliente = empleado.id; // EN VERDAD NO ES NECESARIO, PUES ES CONTRARO ES CONTENIDO EN UN CLIENTE empleado.agregarContrato(contrato); // YA QUE TENEMOS EL CONTRATO, EVALUAMOS EL IMPORTE PARA VER EL TIPO DE CLIENTE saldo = contrato.saldo; if (saldo > 15000.00F) { tipoc = banka.lista_tipos_clientes[2]; // 0-silver 1-gold 2-platinum } else if (saldo > 6000.00F) { tipoc = banka.lista_tipos_clientes[1]; } else { tipoc = banka.lista_tipos_clientes[0]; } CH.lcd("\n" + contrato.ToString()); empleado.tipo_cliente = tipoc; // AHORA VAMOS A DECIRLE QUE TIPO DE EMPLEADO ES... CH.lcd("\ni> OK, MiK... Ahora vamos a decir que tipo de empleado es...\n"); Byte.TryParse(banka.lista_tipos_empleados.Length.ToString(), out totalte); InterfazEmpleado.listarTiposEmpleadosIndice(banka.lista_tipos_empleados); indicee = CH.leerOpcionMsg(totalte, "Elige un Tipo de Empleado"); tipoe = banka.lista_tipos_empleados[indicee - 1]; empleado.tipo_empleado = tipoe; cliente = new Cliente(empleado.id, empleado.nombre, empleado.apellidos, empleado.dni, empleado.fecha_nac, empleado.usuario, empleado.password, tipoc); empleado.cliente = cliente; banka.contratarEmpleado(empleado); banka.agregarCliente(empleado); CH.lcd(empleado.ToString()); CH.lcdColor("\ni> Se ha agregado un nuevo empleado y cliente a la banka...", ConsoleColor.Green); CH.pausa(); }
/// <summary> /// Procedimiento para modificar los valores de configuración por defecto de las nóminas. /// Usa tanto file.io como consosole.writre por lo que lo dejaremos de momento EN EL CONTROLADOR!!! /// </summary> public static void modificarValores() { // 1. Listar los valores // 2. Elegir uno // 3. Modificar pidiendo el nuevo dato int opcion; bool salir; byte formato; salir = false; // LOS MODIFICAMOS EN EL OBJETO DIRECTAMENTE do { try { InterfazAdministracion.listarDatos(datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos); opcion = CH.leerOpcionMsg(6, "Introduce el número del valor a modificar"); switch (opcion) { case 1: datosBase.maxhoras = CH.leerNumero("NUEVO MAXIMO HORAS"); salir = true; break; case 2: datosBase.horasbase = CH.leerNumero("NUEVO HORAS SALARIO BASE"); salir = true; break; case 3: datosBase.maxeuxhora = CH.leerFloat("EUROS MAXIMOS POR HORA"); salir = true; break; case 4: datosBase.preciojoranda = CH.leerFloat("PRECIO JORNADA"); salir = true; break; case 5: datosBase.incrementoextra = CH.leerFloat("FACTOR EXTRA"); salir = true; break; case 6: datosBase.impuestos = CH.leerFloat("PORCENTAJE DE IMPUESTOS"); salir = true; break; } // LOS VOLCAMOS DEL OBJETO AL FICHERO DE DATOS DE CONFIGURACION. // PEDIMOS EL FORMATO Y USAMOS UNO U OTRO. USA FILEHELPER.CLASS > FH!! formato = FH.pedirFormato(); switch (formato) { case (1): // FORMATO TEXTO FH.grabarValores(ruta, pass, datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos); break; case (2): // FORMATO BINARIO FH.grabarValoresBinary(rutabin, pass, datosBase.maxhoras, datosBase.horasbase, datosBase.maxeuxhora, datosBase.preciojoranda, datosBase.incrementoextra, datosBase.impuestos); break; } } catch (Exception ex) { CH.lcdColor("!> ERROR: " + ex.Message, ConsoleColor.Red); } } while (!salir); }