private void volver_btn_Click(object sender, EventArgs e)
        {
            vista_alumno        vista2    = new vista_alumno();
            vista_administrador vista     = new vista_administrador(vista2);
            inicio_sesion       i_s       = new inicio_sesion();
            List <Alumno>       alumnos   = null;
            List <Libro>        libros    = null;
            List <Arriendo>     arriendos = null;

            try
            {
                using (Stream stream = new FileStream("Alumnos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    alumnos = (List <Alumno>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Libros.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    libros = (List <Libro>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Arriendos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    arriendos = (List <Arriendo>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            string         busqueda    = " ";
            vista_busqueda vista3      = new vista_busqueda(busqueda, libros);
            Controller     controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);

            vista2.Show();
            this.Close();
        }
 public Controller(vista_administrador mi_vista_Administrador, vista_alumno mi_vista_Alumno, inicio_sesion mi_i_s, List <Alumno> Misalumnos, List <Libro> Mislibros, List <Arriendo> MisArriendos, vista_busqueda Mi_vista_Busqueda)
 {
     User                = Misalumnos;
     Admin               = new List <Administrador>();
     Libros              = Mislibros;
     Arriendos           = MisArriendos;
     vista_Administrador = mi_vista_Administrador;
     vista_Administrador.OnAgregarUsuario    += Vista_Administrador_OnAgregarUsuario;
     this.vista_Administrador.OnAgregarLibro += Vista_Administrador_OnAgregarLibro;
     vista_Alumno             = mi_vista_Alumno;
     vista_Alumno.OnArrendar += Vista_Alumno_OnArrendar;
     vista_Alumno.OnDevolver += Vista_Alumno_OnDevolver;
     i_s                        = mi_i_s;
     i_s.OnInicio              += i_s_OnInicio;
     vista_Busqueda             = Mi_vista_Busqueda;
     vista_Busqueda.OnArrendar += Vista_Busqueda_OnArrendar;
 }
        private void cerrar_sesion_btn_Click(object sender, EventArgs e)
        {
            vista_alumno        vista2    = new vista_alumno();
            vista_administrador vista     = new vista_administrador(vista2);
            inicio_sesion       i_s       = new inicio_sesion();
            List <Alumno>       alumnos   = null;
            List <Libro>        libros    = null;
            List <Arriendo>     arriendos = null;

            try
            {
                using (Stream stream = new FileStream("Alumnos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    alumnos = (List <Alumno>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Libros.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    libros = (List <Libro>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Arriendos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    arriendos = (List <Arriendo>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }
            foreach (Alumno a in alumnos)
            {
                if (a.sesion == true)
                {
                    a.sesion = false;
                }
            }
            using (Stream stream = new FileStream("Alumnos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(stream, alumnos);
                stream.Close();
            }

            foreach (Arriendo ar in arriendos)
            {
                ar.alumno.sesion = false;
            }

            using (Stream stream = new FileStream("Arriendos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(stream, arriendos);
                stream.Close();
            }
            string         busqueda    = " ";
            vista_busqueda vista3      = new vista_busqueda(busqueda, libros);
            Controller     controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);

            i_s.Show();
            this.Close();
        }
Example #4
0
        private void buscar_btn_Click(object sender, EventArgs e)
        {
            #region "Prueba"
            // Desde aqui es para probar: Hay 3 libros, en distintas ubicaciones y con distintos comentarios

            /*List<Libro> libros = new List<Libro>(); // temporal, después hay que ver como pasarle la lista filtrada
             * List<string> palabras = new List<string> { "muy bueno", "espectacular" };
             * Ubicacion tercer_piso = new Ubicacion("norte", 3, 5, 2);
             * Libro baldor = new Libro("Ingenieria", 3, "Al Juarismi", "1986", 8, palabras, tercer_piso, "Baldor. Álgebra");
             * libros.Add(baldor);
             * List<string> palabras2 = new List<string> { "me gusto", "increible" };
             * Ubicacion segundo_piso = new Ubicacion("norte", 2, 10, 4);
             * Libro metafisica = new Libro("Derecho", 1, "Juan Antonio Widow", "1998", 8, palabras2, segundo_piso, "Curso de Metafísica");
             * libros.Add(metafisica);
             * List<string> palabras3 = new List<string> { "Buenos ejemplos", "sencillo" };
             * Ubicacion primer_piso = new Ubicacion("centro", 1, 2, 2);
             * Libro quimica = new Libro("Medicina", 5, "R Chi", "1978", 6, palabras3, primer_piso, "Fundamentos de la Química");
             * libros.Add(quimica);*/
            // hasta aqui es de prueba
            #endregion



            List <Libro> libros = null;
            try
            {
                using (Stream stream = new FileStream("Libros.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    libros = (List <Libro>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            // Se revisan los libros segun el criterio de busqueda:

            string       busqueda                 = busqueda_txtbox.Text;
            string       filtro                   = filtro_cbbox.Text;
            List <Libro> libros_a_mostrar         = new List <Libro>(); // Lista completa con todos los libros
            List <Libro> libros_a_mostrar_primero = new List <Libro>(); // Lista con los resultados identicos
            List <Libro> libros_a_mostrar_ultimo  = new List <Libro>(); // Lista con el resto de libros

            foreach (Libro lib in libros)
            {
                if (filtro == "Titulo")
                {
                    if (lib.Titulos.Contains(busqueda))
                    {
                        libros_a_mostrar_primero.Add(lib);
                    }
                    else
                    {
                        libros_a_mostrar_ultimo.Add(lib);
                    }
                }
                if (filtro == "Autor")
                {
                    if (lib.GetAutor().Contains(busqueda))
                    {
                        libros_a_mostrar_primero.Add(lib);
                    }
                    else
                    {
                        libros_a_mostrar_ultimo.Add(lib);
                    }
                }
                // Falta libro.Carrera o libro.Materia
                if (filtro == "Carrera")
                {
                    if (lib.GetCarreraAsociada().Contains(busqueda))
                    {
                        libros_a_mostrar_primero.Add(lib);
                    }
                    else
                    {
                        libros_a_mostrar_ultimo.Add(lib);
                    }
                }
            }
            foreach (Libro lib in libros_a_mostrar_primero)
            {
                libros_a_mostrar.Add(lib);
            }
            foreach (Libro lib in libros_a_mostrar_ultimo)
            {
                libros_a_mostrar.Add(lib);
            }

            vista_alumno        vista2    = new vista_alumno();
            vista_administrador vista     = new vista_administrador(vista2);
            inicio_sesion       i_s       = new inicio_sesion();
            List <Alumno>       alumnos   = null;
            List <Arriendo>     arriendos = null;
            try
            {
                using (Stream stream = new FileStream("Alumnos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    alumnos = (List <Alumno>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Arriendos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    arriendos = (List <Arriendo>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }
            vista_busqueda vista_Busqueda = new vista_busqueda(busqueda, libros_a_mostrar);
            Controller     controlador    = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista_Busqueda);
            vista_Busqueda.Show();
            this.Close();
            //abrir ventana de resultados de busqueda
        }
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            #region "Primeros Alumnos"

            /*var alumnos = new List<Alumno>();
             * alumnos.Add(new Alumno(0, new List<string>(), "Joaquin", "Tellez", "19079901-8", "jatellez", "joaquin"));
             * alumnos.Add(new Alumno(0, new List<string>(), "Santiago", "Figueroa", "19990164-4", "sfigueroa", "santiago"));
             * alumnos.Add(new Alumno(0, new List<string>(), "Nicolas", "Apara", "19006158-7", "napara", "nicolas"));
             * alumnos.Add(new Alumno(0, new List<string>(), "Alfonso", "Zuñiga", "19747589-6", "azuñiga", "alfonso"));
             *
             * using (Stream stream = new FileStream("Alumnos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
             * {
             *  IFormatter formatter = new BinaryFormatter();
             *  formatter.Serialize(stream, alumnos);
             *  stream.Close();
             *
             * }*/
            #endregion

            #region "Primeros Libros"

            /*List<Libro> libros = new List<Libro>();
             * List<string> palabras = new List<string> { "muy bueno", "espectacular" };
             * Ubicacion tercer_piso = new Ubicacion("norte", 3, 5, 2);
             * Libro baldor = new Libro("Ingenieria", 3, "Al Juarismi", "1986", 8, palabras, tercer_piso, "Baldor. Álgebra");
             * libros.Add(baldor);
             * List<string> palabras2 = new List<string> { "me gusto", "increible" };
             * Ubicacion segundo_piso = new Ubicacion("norte", 2, 10, 4);
             * Libro metafisica = new Libro("Derecho", 1, "Juan Antonio Widow", "1998", 8, palabras2, segundo_piso, "Curso de Metafísica");
             * libros.Add(metafisica);
             * List<string> palabras3 = new List<string> { "Buenos ejemplos", "sencillo" };
             * Ubicacion primer_piso = new Ubicacion("centro", 1, 2, 2);
             * Libro quimica = new Libro("Medicina", 5, "R Chi", "1978", 6, palabras3, primer_piso, "Fundamentos de la Química");
             * libros.Add(quimica);
             *
             * using (Stream stream = new FileStream("Libros.bin", FileMode.Create, FileAccess.Write, FileShare.None))
             * {
             *  IFormatter formatter = new BinaryFormatter();
             *  formatter.Serialize(stream, libros);
             *  stream.Close();
             *
             * }*/
            #endregion

            List <Alumno>   alumnos   = null;
            List <Libro>    libros    = null;
            List <Arriendo> arriendos = null;
            try
            {
                using (Stream stream = new FileStream("Alumnos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    alumnos = (List <Alumno>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Libros.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    libros = (List <Libro>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            #region "Creando Arriendos"

            /*List<Arriendo> arriendos = new List<Arriendo>();
             * foreach(Alumno a in alumnos)
             * {
             *  arriendos.Add(new Arriendo(a));
             * }
             *
             * using (Stream stream = new FileStream("Arriendos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
             * {
             *  IFormatter formatter = new BinaryFormatter();
             *  formatter.Serialize(stream, arriendos);
             *  stream.Close();
             *
             * }*/
            #endregion

            try
            {
                using (Stream stream = new FileStream("Arriendos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    arriendos = (List <Arriendo>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }
            foreach (Alumno a in alumnos)
            {
                if (a.sesion == true)
                {
                    a.sesion = false;
                }
            }
            using (Stream stream = new FileStream("Alumnos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(stream, alumnos);
                stream.Close();
            }

            foreach (Arriendo ar in arriendos)
            {
                ar.alumno.sesion = false;
            }

            using (Stream stream = new FileStream("Arriendos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                IFormatter formatter = new BinaryFormatter();
                formatter.Serialize(stream, arriendos);
                stream.Close();
            }

            vista_alumno        vista2 = new vista_alumno();
            vista_administrador vista  = new vista_administrador(vista2);
            inicio_sesion       i_s    = new inicio_sesion();
            string         busqueda    = " ";
            vista_busqueda vista3      = new vista_busqueda(busqueda, libros);
            Controller     controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);

            Application.Run(i_s);
        }
Example #6
0
        private void iniciar_sesion_btn_Click(object sender, EventArgs e)
        {
            // verificar inicio de sesion
            // si corresponde a un administrador:
            // esto es algo provisorio:


            string          input_user     = username_txtbox.Text;
            string          input_password = password_txtbox.Text;
            List <Alumno>   alumnos        = null;
            List <Libro>    libros         = null;
            List <Arriendo> arriendos      = null;

            try
            {
                using (Stream stream = new FileStream("Alumnos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    alumnos = (List <Alumno>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Libros.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    libros = (List <Libro>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }

            try
            {
                using (Stream stream = new FileStream("Arriendos.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
                {
                    IFormatter formatter = new BinaryFormatter();
                    arriendos = (List <Arriendo>)formatter.Deserialize(stream);
                    stream.Close();
                }
            }
            catch (IOException)
            {
            }
            string busqueda = " ";
            int    dec      = 0;

            for (int alumno = 0; alumno < alumnos.Count; alumno++)
            {
                if (alumnos[alumno].GetUsername() == input_user)
                {
                    if (alumnos[alumno].GetPassword() != input_password)
                    {
                        MessageBox.Show("Nombre de Usuario o Contraseña incorrectos");
                    }
                    else
                    {
                        /*string tipo_string = alumnos[alumno].GetType().ToString();
                         * if (tipo_string == "Administrador")
                         * {
                         *  vista_alumno vista2 = new vista_alumno();
                         *  vista_administrador vista = new vista_administrador(vista2);
                         *  inicio_sesion i_s = new inicio_sesion();
                         *  vista_busqueda vista3 = new vista_busqueda(busqueda, libros);
                         *  Controller controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);
                         *  vista.Show();
                         *  this.Hide();
                         * }*/

                        alumnos[alumno].sesion          = true;
                        arriendos[alumno].alumno.sesion = true;
                        using (Stream stream = new FileStream("Alumnos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
                        {
                            IFormatter formatter = new BinaryFormatter();
                            formatter.Serialize(stream, alumnos);
                            stream.Close();
                        }
                        using (Stream stream = new FileStream("Arriendos.bin", FileMode.Create, FileAccess.Write, FileShare.None))
                        {
                            IFormatter formatter = new BinaryFormatter();
                            formatter.Serialize(stream, arriendos);
                            stream.Close();
                        }
                        vista_alumno        vista2      = new vista_alumno();
                        vista_administrador vista       = new vista_administrador(vista2);
                        inicio_sesion       i_s         = new inicio_sesion();
                        vista_busqueda      vista3      = new vista_busqueda(busqueda, libros);
                        Controller          controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);
                        vista2.Show();

                        this.Hide();

                        dec = 1;
                    }
                }
            }



            if (username_txtbox.Text == "admin" && password_txtbox.Text == "admin")
            {
                vista_alumno        vista2      = new vista_alumno();
                vista_administrador vista       = new vista_administrador(vista2);
                inicio_sesion       i_s         = new inicio_sesion();
                vista_busqueda      vista3      = new vista_busqueda(busqueda, libros);
                Controller          controlador = new Controller(vista, vista2, i_s, alumnos, libros, arriendos, vista3);
                vista.Show();
                this.Hide();
            }

            else if (dec == 0)
            {
                MessageBox.Show("Nombre de Usuario o Contraseña incorrectos");
            }
        }