Beispiel #1
0
        /// <summary>
        /// Inicializa el formato en el que guardar los alumnos si no esta definido.
        /// En caso contrario, utiliza el formato definido.
        /// </summary>
        /// <returns>Devuelve el formato a utilizar para guardar los alumnos.</returns>
        public OpcionFormato InicializarConfiguracion()
        {
            OpcionFormato opcion;
            // Si hay un formato definido lo guardamos, si no lo definimos como txt por defecto.
            string formato = Environment.GetEnvironmentVariable("Formato", EnvironmentVariableTarget.User);

            if (String.IsNullOrEmpty(formato))
            {
                opcion = OpcionFormato.txt;
                Environment.SetEnvironmentVariable("Formato", "txt", EnvironmentVariableTarget.User);
            }
            else
            {
                if (formato == "txt")
                {
                    Environment.SetEnvironmentVariable("Formato", "txt", EnvironmentVariableTarget.User);
                    opcion = OpcionFormato.txt;
                }
                else
                {
                    Environment.SetEnvironmentVariable("Formato", "json", EnvironmentVariableTarget.User);
                    opcion = OpcionFormato.json;
                }
            }
            opcionFormato = opcion;
            return(opcion);
        }
Beispiel #2
0
        public Run()
        {
            Alumno             alumno;
            OpcionMenu         opcionMenu;
            UtilidadesArchivos utilidadesArchivos = new UtilidadesArchivos();
            OpcionFormato      opcionFormato      = utilidadesArchivos.InicializarConfiguracion();

            do
            {
                opcionMenu = MostrarMenu();
                switch (opcionMenu)
                {
                case OpcionMenu.CrearAlumno:
                    alumno = LeerAlumno();
                    AlumnoDatos alumnoDatos;
                    if (opcionFormato == OpcionFormato.txt)
                    {
                        alumnoDatos = new AlumnoDatosTxt();
                    }
                    else
                    {
                        alumnoDatos = new AlumnoDatosJson();
                    }
                    alumnoDatos.Agregar(alumno);
                    break;

                case OpcionMenu.Configuracion:
                    opcionFormato = MostrarFormato();
                    switch (opcionFormato)
                    {
                    case OpcionFormato.txt:
                        utilidadesArchivos.CambiarConfiguracion(opcionFormato);
                        opcionFormato = OpcionFormato.txt;
                        Console.WriteLine("Formato escogido: txt");
                        break;

                    case OpcionFormato.json:
                        utilidadesArchivos.CambiarConfiguracion(opcionFormato);
                        opcionFormato = OpcionFormato.json;
                        Console.WriteLine("Formato escogido: json");
                        break;

                    default:
                        break;
                    }
                    break;

                case OpcionMenu.Salir:
                    Console.WriteLine("Saliendo...");
                    Console.ReadKey();
                    break;

                default:
                    break;
                }
            } while (opcionMenu != OpcionMenu.Salir);
        }
Beispiel #3
0
        public void CambiarConfiguracion(OpcionFormato opcionFormato)
        {
            switch (opcionFormato)
            {
            case OpcionFormato.txt:
                Environment.SetEnvironmentVariable("Formato", "txt", EnvironmentVariableTarget.User);
                this.opcionFormato = opcionFormato;
                break;

            case OpcionFormato.json:
                Environment.SetEnvironmentVariable("Formato", "json", EnvironmentVariableTarget.User);
                this.opcionFormato = opcionFormato;
                break;

            default:
                break;
            }
        }
Beispiel #4
0
        [DataTestMethod] // permite enviar datos al método de test (parametrizar)
        public void AgregarTest(int id, string nombre, string apellidos, string dni, string fechaNacimiento, OpcionFormato opcionFormato)
        {
            // Lo correcto seria que cada proyecto tuviera su app.config pero .NET
            // solo permite ficheros de configuración en aplicaciones de consola, windows form y web
            // en este sentido la cadena de conexión iría en el archivo de configuracion del proyecto de acceso a datos
            // el fichero de configuracion se puede acceder des del app domain
            // dao.xml se guarda al lado del compilado y se crea un codigo que lo lee
            Guid      guid               = new Guid();
            DateTime  dt                 = DateTime.Parse(fechaNacimiento, new CultureInfo("es-ES", true));
            Alumno    alumnoAgregado     = new Alumno(id, nombre, apellidos, dni, dt, guid);
            FileUtils utilidadesArchivos = new FileUtils();

            utilidadesArchivos.CambiarConfiguracion(opcionFormato);
            AlumnoDatos alumnoDatos;

            if (opcionFormato == OpcionFormato.txt)
            {
                alumnoDatos = new AlumnoDatosTxt();
            }
            else
            {
                alumnoDatos = new AlumnoDatosJson();
            }
            alumnoDatos.Agregar(alumnoAgregado);
            Alumno alumnoEncontrado = alumnoDatos.Buscar(alumnoAgregado);

            Assert.AreEqual(alumnoAgregado, alumnoEncontrado);
        }
Beispiel #5
0
        [DataTestMethod] // permite enviar datos al método de test (parametrizar)
        public void AgregarAlumnoTest(int id, string nombre, string apellidos, string dni, OpcionFormato opcionFormato, string guid)
        {
            Alumno             alumnoAgregado     = new Alumno(id, nombre, apellidos, dni, guid);
            UtilidadesArchivos utilidadesArchivos = new UtilidadesArchivos();

            utilidadesArchivos.CambiarConfiguracion(opcionFormato);
            AlumnoDatos alumnoDatos;

            if (opcionFormato == OpcionFormato.txt)
            {
                alumnoDatos = new AlumnoDatosTxt();
            }
            else
            {
                alumnoDatos = new AlumnoDatosJson();
            }
            alumnoDatos.Agregar(alumnoAgregado);
            Alumno alumnoEncontrado = alumnoDatos.Buscar(alumnoAgregado);

            Assert.AreEqual(alumnoAgregado, alumnoEncontrado);
        }