public static void accion(int accion, ref Banka banka) { switch (accion) { case 1: ControladorEmpleado.registrarEmpleado(ref banka); break; case 2: ControladorEmpleado.mostrarDatosEmpleado(banka.lista_empleados); break; case 3: CH.lcd("A MODIFICAR CLIENTE"); CH.pausa(); // MODIFICAR CLIENTE break; case 4: // ELIMINAR CLIENTE break; case 5: // LISTAR TODOS LOS CLIENTES InterfazDireccion.listarEmpleados(banka.lista_empleados); break; } }
public static void mostrarDatosEmpleado(Empleado[] empleados) { int numcli = 0; int opcion; if (empleados != null) { numcli = empleados.Length; } if (numcli > 0) { // 1. listar todos los clientes // 2. pedir el cliente // 3. mostrar toString cliente InterfazDireccion.listarEmpleadosIndice(empleados); opcion = InterfazDireccion.pedirCliente(numcli, "Elige un cliente de la lista"); CH.lcd(empleados[opcion - 1].ToString()); if (empleados[opcion - 1].lista_contratos != null) { InterfazComercial.listarContratos(empleados[opcion - 1]); } } else { CH.lcd("!> No hay empleados en la banka!"); } CH.pausa(); }
/// <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); } }
public static void consultarContratosCliente(Banka banka) { // 1. Mostrar clientes con indice // 2. Elegir clientes // 3. Mostrar contratos del clientes int opcion; int numcli = 0; if (banka != null) { numcli = banka.lista_clientes.Length; } if (numcli > 0) { InterfazDireccion.listarClientesIndice(banka.lista_clientes); opcion = InterfazDireccion.pedirCliente(numcli, "Elige un cliente de la lista"); Cliente cliente = banka.lista_clientes[opcion - 1]; if (cliente.lista_contratos != null) { InterfazComercial.listarContratos(cliente); } else { CH.lcd("!> El cliente no tiene ningun contrato"); } } else { CH.lcd("i> No hay clientes que mostrar!"); } CH.pausa(); }
public static void accion(int accion, Banka banka) { switch (accion) { case 1: ControladorProducto.consultarProducto(banka.lista_productos); break; case 2: ControladorProducto.registrarProducto(ref banka); break; case 3: CH.lcd("A MODIFICAR CLIENTE"); CH.pausa(); // MODIFICAR CLIENTE break; case 4: // ELIMINAR CLIENTE break; case 5: // LISTAR TODOS LOS CLIENTES ControladorProducto.listarProductos(banka.lista_productos); break; } }
/// <summary> /// Procedimiento para comprobar la existencia del archivo de configuracion config.data /// Si no existe, se crea si o si ... >:) /// </summary> public static void configCheck() { // 1. COMPROBAR EXISTENCIA... // 2. SI NO ESTA.. CREARLO: // 3. PEDIR LOS DATOS Y GUARDARLOS A OBJETO DatosBase // 4. CON LOS DATOS EN EL OBJETO, LO PASAMOS POR EL FILEHELPER PARA GUARDARLO EN BINARIO // 5. SALIMOS... string pass; // PARA GUARDAR LA CONTRASEÑA bool salir; // CONTROL DE SALIDA SI CREACION CORRECTA try { datosBaseBin = new DatosBase(); // REUSAMOS EL OBJETO DEL CONTROLADOR salir = false; // SETEAMOS SALIR A FALSE if (!File.Exists(rutabin)) { CH.cls(); CH.lcdColor("!> ATENCIÓN!!.. NO EXISTE EL FICHERO DE CONFIGURACION!!", ConsoleColor.Red); CH.lcdColor("\ni> VAMOS A CREARLO AHORA... ALMA DEL AMOL HERRMOZO >:) \ni> Y NO TE EQUIVOQUES.... PUES EMPEZARAS DEL PRINCIPIO", ConsoleColor.DarkYellow); do { try { CH.lcd(""); pass = CH.leerCadena("CONTRASEÑA DE ACCESO"); datosBaseBin.maxhoras = CH.leerNumero("HORAS MÁXIMAS NOMINA"); datosBaseBin.horasbase = CH.leerNumero("HORAS TOPE SAL. BASE"); datosBaseBin.maxeuxhora = CH.leerCantidad("EUROS MAX. X HORA..."); datosBaseBin.preciojoranda = CH.leerCantidad("PRECIO EUR. JORANDA."); datosBaseBin.incrementoextra = CH.leerCantidad("IMCREMENTO H. EXTRA."); datosBaseBin.impuestos = CH.leerCantidad("% DE IMPUESTOS......"); FH.grabarValoresBinary(rutabin, pass, datosBaseBin.maxhoras, datosBaseBin.horasbase, datosBaseBin.maxeuxhora, datosBaseBin.preciojoranda, datosBaseBin.incrementoextra, datosBaseBin.impuestos); FH.grabarValores(ruta, pass, datosBaseBin.maxhoras, datosBaseBin.horasbase, datosBaseBin.maxeuxhora, datosBaseBin.preciojoranda, datosBaseBin.incrementoextra, datosBaseBin.impuestos); salir = true; } catch (Exception ex) { CH.lcdColor("!> ERROR: " + ex.Message, ConsoleColor.Red); CH.pausa(); } } while (!salir); } else { CH.cls(); CH.lcdColor("!> FICHERO DE CONFIGURACION LOCALIZADO...", ConsoleColor.Green); CH.pausa(); } } catch (IOException ex) { CH.lcdColor("!> ERROR I/O: " + ex.Message, ConsoleColor.Red); CH.pausa(); } //CH.pausa(); }
// PROCEDIMIENTO PARA CONTRATAR UN DIRECTOR (DIOS) PARA LA BANKA public static void contratarDirector(ref Banka banka) { // 1. Crear objeto cliente y pedir los datos // 2. Asignarle el TipoEmpleado DIRECTOR // 3. Añadir a plantilla de empleados de la banka bool salir = false; Cliente cliente = new Cliente(); Empleado empleado; TipoEmpleado tipo = banka.getTipoEmpleado(1); // COGEMOS EL TIPO DE EMPLEADO 1 -> DIRECCION PARA ASIGNARSELO AL CLIENTE Producto producto = banka.lista_productos[0]; // EL PRODUCTO CUENTA DE AHORROS POR DEFECTO... Contrato contrato = null; // EL CONTRATO PARA EL DIRECTOR - CON SALDO Y TARJETA BLACK do { cliente.nombre = InterfazCliente.leerNombre(); cliente.apellidos = InterfazCliente.leerApellidos(); do { try { cliente.dni = InterfazCliente.leerDni(); salir = true; } catch (Exception e) { CH.lcd(e.Message); //CH.lcd(e.StackTrace); } } while (!salir); salir = false; do { try { cliente.fecha_nac = CH.leerCadena("FECHA NACIMIENTO.."); salir = true; } catch (Exception e) { CH.lcd(e.Message); } } while (!salir); salir = false; cliente.usuario = CH.leerCadena("NOMBRE DE USUARIO."); cliente.password = CH.leerCadena("CONTRASEÑA........"); salir = true; } while (!salir); empleado = new Empleado(1, cliente.nombre, cliente.apellidos, cliente.dni, cliente.fecha_nac, cliente.usuario, cliente.password, new TipoCliente("PLATINUM", 100000.00F, 5000000), cliente, tipo); contrato = new Contrato(1, 1, 1, DateTime.Now.ToString(), null, 1000000.0F, true, producto); empleado.agregarContrato(contrato); banka.contratarEmpleado(empleado); banka.agregarCliente(empleado); CH.lcd("\ni> Se ha contratado al director de la banka... \n"); CH.pausa(); }
public static Contrato crearContratoDefault(Producto producto) { CH.lcd("\ni> OK, MiK... Ahora vamos a crearle una 'Cuenta de Ahorros' por defecto\n"); Contrato contrato = new Contrato(); contrato.id = Contrato.contratos + 1; // el id del cliente se lo ponemos en el ControladorDireccion contrato.producto = producto; contrato.id_producto = producto.id; contrato.fecha_contratacion = DateTime.Now.ToString(); contrato.fecha_finalizacion = DateTime.Now.AddYears(1).ToString(); // probando método AddYears contrato.saldo = InterfazContrato.leerSaldo(); contrato.activo = true; Contrato.contratos = Contrato.contratos++; return(contrato); }
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(); }
/// <summary> /// Procedimiento para agregar una nueva empresa al listado de empresas de la Gestoria /// <paramref name="migestoria">La Estructura Gestoria por referencia</paramref> /// </summary> public static void nuevaEmpresa(Gestora migestoria) { // 1. PEDIR LOS DATOS DE LA EMPRESA // 2. SI NO EXISTE ESTRUCTURA EMPRESA, LA CREO // 3. SI EXISTE, AÑADO. SE COMPRUEBA EN EL MÉTODO AGREGAR string aux; Empresa empresa; // ENTRADA CH.lcd("i> SI, AMO... VAMOS A CREAR UNA NUEVA EMPRESA\n"); empresa = null; aux = null; // PROCESO aux = InterfazEmpresa.leerEmpresa(); empresa = new Empresa(aux); if (migestoria.agregarEmpresa(empresa)) { aux = "\ni> SE HA CREADO UNA NUEVA EMPRESA Y AGREGADO A LA GESTORIA"; } // SALIDA CH.lcdColor(aux, ConsoleColor.Green); 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 CARGAR DE DATOS POR DEFECTO A LA APLICACIÓN // 1. CREAMOS LOS TIPOS PREDEFINIDOS DE TIPOCLIENTE Y TIPOEMPLEADO // 2. CREAMOS VARIOS CLIENTES, EMPLEADOS, PRODUCTOS ... CONTRATOS // 3. RALIZAMOS CONTRATOS DE PRODUCTOS Y LO AGREGAMOS A CLIENTES O EMPLEADOS. public static void debug() { try { TipoCliente tipoCSilver = new TipoCliente("SILVER", 500.00F, 1000.00F); TipoCliente tipoCGold = new TipoCliente("GOLD", 5000.00F, 6000.00F); TipoCliente tipoCPlatinum = new TipoCliente("PLATINUM", 15000.00F, 30000.00F); CH.lcd(tipoCSilver.ToString()); CH.lcd(tipoCGold.ToString()); CH.lcd(tipoCPlatinum.ToString()); TipoEmpleado tipoEDireccion = new TipoEmpleado("DIRECCIÓN", 1); TipoEmpleado tipoECajero = new TipoEmpleado("CAJERO", 2); TipoEmpleado tipoEComercial = new TipoEmpleado("COMERCIAL", 3); CH.lcd(tipoEDireccion.ToString()); CH.lcd(tipoECajero.ToString()); CH.lcd(tipoEComercial.ToString()); Cliente cliente1 = new Cliente(1, "Juan", "Perez Navas", "11111111H", "12/08/1978 20:45:30", "admin", "12345678"); Cliente cliente2 = new Cliente(2, "Rosa", "Diaz Valderrama", "12345678Z", "12/08/1978 20:45:30", "abcdefg", "99999999"); Cliente cliente3 = new Cliente(3, "Carmen", "Soler Días", "55555555K", "12/08/1978 20:45:30", "abcdefg", "12345678", tipoCGold); CH.lcd(cliente1.ToString()); CH.lcd(cliente2.ToString()); CH.lcd(cliente3.ToString()); Empleado empleado1 = new Empleado(1, cliente1.nombre, cliente1.apellidos, cliente1.dni, cliente1.fecha_nac, cliente1.usuario, cliente1.password, new TipoCliente("EXCELSIOR-BLACK", 10000000.00F, 5000000), cliente1, tipoEDireccion); Empleado empleado2 = new Empleado(1, cliente1.nombre, cliente1.apellidos, cliente1.dni, cliente1.fecha_nac, cliente1.usuario, cliente1.password, new TipoCliente("EXCELSIOR-BLACK", 10000000.00F, 5000000), cliente2, tipoEComercial); Empleado empleado3 = new Empleado(1, cliente1.nombre, cliente1.apellidos, cliente1.dni, cliente1.fecha_nac, cliente1.usuario, cliente1.password, new TipoCliente("EXCELSIOR-BLACK", 10000000.00F, 5000000), cliente3, tipoECajero); CH.lcd(empleado1.ToString()); CH.lcd(empleado2.ToString()); CH.lcd(empleado3.ToString()); Producto producto1 = new Producto(001, "CUENTA DE AHORRO", "Cuenta a la vista donde poder realizar operaciones de ingreso y reintegro", 1.2F, true); Producto producto2 = new Producto(002, "PLAZO FIJO", "Depósito que mantiene un saldo fijo por un período de tiempo y ofrece una rentabilidad fija asegurada", 2.5F, true); Producto producto3 = new Producto(003, "FONDO DE INVERSIÓN", "Depósito que mantiene un saldo fijo por un período de tiempo y ofrece rentabilidad variable", 5.2F, true); Producto producto4 = new Producto(004, "PRÉSTAMO", "Cantidad de dinero prestada al cliente que tiene que devolverlo en un plazo con un interés asociado", 16.5F, true); CH.lcd(producto1.ToString()); CH.lcd(producto2.ToString()); CH.lcd(producto3.ToString()); CH.lcd(producto4.ToString()); Contrato contrato1 = new Contrato(1, 2, 1, "07/01/2017", "07/01/2020", 5000.55F, true, producto1); CH.lcd(contrato1.ToString()); cliente1.agregarContrato(contrato1); CH.lcd(cliente1.ToString()); // AGREGAMOS LOS OBJETOS A NUESTRA BANKA!! /* * banka.agregarTipoCliente(tipoCSilver); * banka.agregarTipoCliente(tipoCGold); * banka.agregarTipoCliente(tipoCPlatinum); * * banka.agregarTipoEmpleado(tipoEDireccion); * banka.agregarTipoEmpleado(tipoECajero); * banka.agregarTipoEmpleado(tipoEComercial); * * banka.agregarProducto(producto1); * banka.agregarProducto(producto2); * banka.agregarProducto(producto3); * banka.agregarProducto(producto4); */ banka.contratarEmpleado(empleado1); banka.contratarEmpleado(empleado2); banka.contratarEmpleado(empleado3); banka.agregarCliente(cliente1); banka.agregarCliente(cliente2); banka.agregarCliente(cliente3); } catch (Exception ex) { CH.lcd(ex.Message); CH.lcd(ex.ToString()); } }
// 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(); }
// PROCEDIMIENTO PARA REGISTRAR UN CLIENTE EN LA BANKA // @param Banka - la banca para usar su metodo agregarCliente public static void registrarCliente(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. Lo agregamos a la banka bool salir = false; Cliente cliente = new Cliente(); Contrato contrato = null; TipoCliente tipoc = null; int indice = 0; float saldo = 0.0F; string dni = ""; if (banka.lista_clientes != null) { indice = banka.lista_clientes.Length + 1; } do { cliente.id = indice; cliente.nombre = InterfazCliente.leerNombre(); cliente.apellidos = InterfazCliente.leerApellidos(); do { try { dni = InterfazCliente.leerDni().ToUpper(); if (!banka.existeDNI(dni)) { cliente.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 { cliente.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); cliente.usuario = CH.leerCadena("NOMBRE DE USUARIO."); cliente.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 de Ahorros contrato.id_cliente = cliente.id; // EN VERDAD NO ES NECESARIO, PUES EL CONTRARO ES CONTENIDO EN UN CLIENTE cliente.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]; } cliente.tipo_cliente = tipoc; banka.agregarCliente(cliente); CH.lcd("\n" + contrato.ToString()); CH.lcd("\ni> Se ha agregado un nuevo cliente a la banka..."); CH.pausa(); }