Esempio n. 1
0
        /// <summary>
        /// Permite validar si la sumatoria de los digitos de cada linea son multiplos de 3
        /// </summary>
        /// <param name="archivo"></param>
        /// <returns></returns>
        public string ValidarMultiplosTres(Archivo archivo)
        {
            try
            {
                ManejoArchivo manejoArchivo = new ManejoArchivo();
                string        respuesta     = "";
                string        contenido     = archivo.Informacion.ToList().Count() > 0 ? Encoding.UTF8.GetString(archivo.Informacion).Trim() : "";
                List <string> rows          = contenido.Split(Environment.NewLine.ToCharArray()).ToList();
                rows = rows.Where(val => !string.IsNullOrWhiteSpace(val)).ToList();

                rows.ForEach(item =>
                {
                    int valor = item.ToCharArray().ToList().Sum(x => (int)x);

                    respuesta += (valor % 3 == 0) ? $"{item} SI" : $"{item} NO";
                    respuesta += Environment.NewLine;
                });

                manejoArchivo.GuardarArchivo(new Archivo()
                {
                    Nombre      = "respuesta",
                    Informacion = Encoding.ASCII.GetBytes(respuesta),
                    Extension   = "txt",
                    Ruta        = archivo.Ruta
                });

                return(System.IO.Path.Combine(archivo.Ruta, "respuesta.txt"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 public AnalizadorLexico()
 {
     ManejadorArchivo       = new ManejoArchivo();
     ConvertidorPostfija    = new ExpresionPostfija();
     DiccionarioSustitucion = new Dictionary <string, string>();
     Arbol = new ArbolExpresiones();
 }
        private void Agregar_Click(object sender, RoutedEventArgs e)
        {
            if (ListaProfesores.SelectedItem != null && ListaEstudiantes.SelectedItem != null)
            {
                Profesor   profesor   = (Profesor)ListaProfesores.SelectedItem;
                Estudiante estudiante = (Estudiante)ListaEstudiantes.SelectedItem;

                if (profesor.Estudiantes.Where(est => est.ID == estudiante.ID).Count() == 0)
                {
                    profesor.Estudiantes.Add(estudiante);
                    ManejoArchivo archivo = new ManejoArchivo(profesor.Nombre + "-Estudiantes.csv");
                    archivo.OverWriteFile(profesor.Estudiantes);

                    GridEstudiantes.ItemsSource = null;
                    GridEstudiantes.ItemsSource = profesor.Estudiantes;
                }
                else
                {
                    MessageBox.Show("Este estudiante ya ha sido registrado", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Debe llenar todas las casillas", "Infromacion", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }
        private void Agregar_Click(object sender, RoutedEventArgs e)
        {
            if (ListaProfesores.SelectedItem != null && ListaAsignaturas.SelectedItem != null)
            {
                Profesor   profesor   = (Profesor)ListaProfesores.SelectedItem;
                Asignatura asignatura = (Asignatura)ListaAsignaturas.SelectedItem;

                if (profesor.Asignaturas.Where(asi => asi.Clave == asignatura.Clave).Count() == 0)
                {
                    if (!asignatura.IsInList)
                    {
                        profesor.Asignaturas.Add(asignatura);
                        asignatura.IsInList = true;
                        ManejoArchivo archivo = new ManejoArchivo(profesor.Nombre + "-Asignaturas.csv");
                        archivo.OverWriteFile(profesor.Asignaturas);

                        GridAsignaturas.ItemsSource = null;
                        GridAsignaturas.ItemsSource = profesor.Asignaturas;
                    }
                    else
                    {
                        MessageBox.Show("Esta asignatura ya pertenece a otro profesor", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }

                else
                {
                    MessageBox.Show("Esta asignatura ya ha sido registrada", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Esempio n. 5
0
        public ProfesorMainWindow(string user)
        {
            InitializeComponent();

            closingBlock = true;

            List <Profesor> tempLista = new List <Profesor>();
            ManejoArchivo   archivo   = new ManejoArchivo(ProfesoresWindow.filepathPro);

            if (File.Exists(ProfesoresWindow.filepathPro))
            {
                archivo.RecuperarLista(tempLista);
            }

            Profesor = tempLista.Find(profesor => profesor.ToUser() == user);

            NombreProfesor.Content = Profesor.Nombre;

            ManejoArchivo archivoEstudiante = new ManejoArchivo(Profesor.Nombre + "-Estudiantes.csv");

            if (File.Exists(archivoEstudiante.FilePath))
            {
                archivoEstudiante.RecuperarLista(EstudiantesWindow.estudiantesLST);
            }


            ManejoArchivo archivoAsignatura = new ManejoArchivo(Profesor.Nombre + "-Asignaturas.csv");

            if (File.Exists(archivoAsignatura.FilePath))
            {
                archivoAsignatura.RecuperarLista(AsignaturasWindow.asignaturasLST);
            }



            ManejoArchivo archivoCalificacion = new ManejoArchivo();

            foreach (var estudiante in EstudiantesWindow.estudiantesLST)
            {
                archivoCalificacion.FilePath = Path.Combine(Profesor.Nombre + "-RegistroCalificaciones", estudiante.Nombre + "-Calificaciones.csv");
                if (File.Exists(archivoCalificacion.FilePath))
                {
                    archivoCalificacion.RecuperarLista(estudiante.Calificaciones);
                }
            }
        }
Esempio n. 6
0
        public EstudianteMainWindow(string user)
        {
            InitializeComponent();

            closingBlock = true;

            List <Estudiante> tempLista = new List <Estudiante>();
            ManejoArchivo     archivo   = new ManejoArchivo(EstudiantesWindow.filepathEs);

            if (File.Exists(EstudiantesWindow.filepathEs))
            {
                archivo.RecuperarLista(tempLista);
            }

            Estudiante Estudiante = tempLista.Find(estudiante => estudiante.ToUser() == user);

            EstudiantesWindow.estudiantesLST.Add(Estudiante);

            NombreEstudiante.Content = Estudiante.Nombre;

            ManejoArchivo archivoProfesores = new ManejoArchivo(ProfesoresWindow.filepathPro);

            if (File.Exists(archivoProfesores.FilePath))
            {
                archivoProfesores.RecuperarLista(ProfesoresWindow.profesoresLST);
            }

            if (File.Exists(AsignaturasWindow.filepathAsi))
            {
                ManejoArchivo archivoAsignatura = new ManejoArchivo(AsignaturasWindow.filepathAsi);
                archivoAsignatura.RecuperarLista(AsignaturasWindow.asignaturasLST);
            }

            ManejoArchivo archivoCalificaciones = new ManejoArchivo();

            foreach (var profesor in ProfesoresWindow.profesoresLST)
            {
                archivoCalificaciones.FilePath = Path.Combine(profesor.Nombre + "-RegistroCalificaciones", Estudiante.Nombre + "-Calificaciones.csv");
                if (File.Exists(archivoCalificaciones.FilePath))
                {
                    archivoCalificaciones.RecuperarLista(Estudiante.Calificaciones);
                }
            }
        }
        private void Guardar_Click(object sender, RoutedEventArgs e)
        {
            Estudiante estudiante = (Estudiante)ListaEstudiantes.SelectedItem;

            if (inputNota.Text != "" && ListaEstudiantes.SelectedItem != null && ListaAsignatura.SelectedItem != null)
            {
                string fileName      = estudiante.Nombre + "-Calificaciones.csv";
                string directoryName = ProfesorMainWindow.Profesor.Nombre + "-RegistroCalificaciones";
                string fileLocation  = Path.Combine(directoryName, fileName);

                if (!File.Exists(fileLocation) || !Directory.Exists(directoryName))
                {
                    string[] lines = { "Nota,Asignatura" };
                    Directory.CreateDirectory(directoryName);
                    File.AppendAllLines(fileLocation, lines);
                }

                List <Calificacion> tempLista           = new List <Calificacion>();
                ManejoArchivo       archivoCalificacion = new ManejoArchivo(fileLocation);
                archivoCalificacion.RecuperarLista(tempLista);

                if (tempLista.Where(calificacion => calificacion.Asignatura == (Asignatura)ListaAsignatura.SelectedItem).Count() == 0)
                {
                    Calificacion calificacion = new Calificacion {
                        Nota = Convert.ToDouble(inputNota.Text) > 100 ? 100 : Convert.ToDouble(inputNota.Text), Asignatura = (Asignatura)ListaAsignatura.SelectedItem
                    };
                    estudiante.Calificaciones.Add(calificacion);
                    string[] line = { calificacion.ToFile() };
                    File.AppendAllLines(fileLocation, line);

                    MessageBox.Show("Cambios guardados exitosamente!", "Informacion guardada", MessageBoxButton.OK, MessageBoxImage.Information);

                    Close();
                }
                else
                {
                    MessageBox.Show("La calificacion de esta asignatura ya ha sido registrada", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Debe llenar todas las casillas", "Warning", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        static void Main(string[] args)
        {
            string lecturaCSV = ManejoArchivo.extraerCSV();

            char[]          delimitadores = { ';', '\n' };
            string[]        separarInfo   = lecturaCSV.Split(delimitadores);
            TipoDeOperacion tipoOP;
            int             i = 0, id = 0;

            ManejoArchivo.crearCSV();//Creo el nuevo archivo CSV donde iran las propiedades

            while (i < (separarInfo.Length - 1))
            {
                Propiedad propiedad = new Propiedad();
                if (separarInfo[i + 1] == "Venta")
                {
                    tipoOP = (TipoDeOperacion)1;
                }
                else
                {
                    tipoOP = (TipoDeOperacion)2;
                }                                                          //Para poder identificar el tipo de Operacion
                propiedad = CargarPropiedades(id, separarInfo[i], tipoOP); //Creo la propiedad
                Console.WriteLine("\n|======== Propiedad {0} ========|", id);
                Propiedad.mostrarPropiedad(propiedad);                     //Muestro la propiedad por consola
                ManejoArchivo.escribirCSV(propiedad);                      //Cargo la propiedad al archivo CSV
                i += 2; id++;
                Console.ReadKey();
            }

            Console.WriteLine("\n|========== Creando copia del archivo ==========|");
            ManejoArchivo.crearCopia();

            Console.WriteLine("\nPresione una tecla para finalizar el programa...");
            Console.ReadKey();
        }
        public MainWindow()
        {
            InitializeComponent();

            closingBlock = true;

            //Recuperar estudiantes
            ManejoArchivo archivoEstudiantes = new ManejoArchivo(EstudiantesWindow.filepathEs);

            if (File.Exists(EstudiantesWindow.filepathEs))
            {
                archivoEstudiantes.RecuperarLista(EstudiantesWindow.estudiantesLST);
            }

            //Recuperar asignaturas
            ManejoArchivo archivoAsignatura = new ManejoArchivo(AsignaturasWindow.filepathAsi);

            if (File.Exists(AsignaturasWindow.filepathAsi))
            {
                archivoAsignatura.RecuperarLista(AsignaturasWindow.asignaturasLST);
            }

            //Recuperar profesores
            ManejoArchivo archivoProfesores = new ManejoArchivo(ProfesoresWindow.filepathPro);

            if (File.Exists(archivoProfesores.FilePath))
            {
                archivoProfesores.RecuperarLista(ProfesoresWindow.profesoresLST);
            }

            //Recuperar calificaciones de cada estudiante
            ManejoArchivo archivoCalificaciones = new ManejoArchivo();

            foreach (var profesor in ProfesoresWindow.profesoresLST)
            {
                foreach (var estudiante in EstudiantesWindow.estudiantesLST)
                {
                    archivoCalificaciones.FilePath = Path.Combine(profesor.Nombre + "-RegistroCalificaciones", estudiante.Nombre + "-Calificaciones.csv");
                    if (File.Exists(archivoCalificaciones.FilePath))
                    {
                        archivoCalificaciones.RecuperarLista(estudiante.Calificaciones);
                    }
                }
            }

            //Recuperar asignaturas de cada profesor
            ManejoArchivo archivoAsignaturaProfesor = new ManejoArchivo();

            foreach (var profesor in ProfesoresWindow.profesoresLST)
            {
                archivoAsignaturaProfesor.FilePath = profesor.Nombre + "-Asignaturas.csv";
                if (File.Exists(archivoAsignaturaProfesor.FilePath))
                {
                    archivoAsignaturaProfesor.RecuperarLista(profesor.Asignaturas);
                }

                //Verificar si la asignatura esta en una lista
                foreach (var asignatura in profesor.Asignaturas)
                {
                    Asignatura tempAsignatura = AsignaturasWindow.asignaturasLST.Find(asi => asi.Clave == asignatura.Clave);
                    if (tempAsignatura != null)
                    {
                        tempAsignatura.IsInList = true;
                    }
                }
            }
        }