Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        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();
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        // 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);
        }