private void Vista_Alumno_OnArrendar(object sender, ArrendarLibroEventArgs e) { foreach (Libro l in Libros) { if (l.Titulos == e.titulo && l.Copia > 0) { l.Copia--; } } }
private void arrendar_btn_Click(object sender, EventArgs e) { if (OnArrendar != null) { List <Arriendo> arriendos = null; 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 (Arriendo a in arriendos) { if (a.alumno.sesion == true) { if (a.alumno.Deudas == 0 && copias_txtbox.Text != "0") { ArrendarLibroEventArgs arriendoa = new ArrendarLibroEventArgs(); arriendoa.titulo = this.titulo_txtbox.Text; arriendoa.autor = this.autor_txtbox.Text; arriendoa.copia = Convert.ToInt32(this.copias_txtbox.Text); OnArrendar(this, arriendoa); MessageBox.Show("Arriendo Exitoso!"); } else if (copias_txtbox.Text == "0") { MessageBox.Show("No quedan copias de este libro"); } else { MessageBox.Show("No puede arrendar, tiene una deuda pendiente"); } } } } }
private void Vista_Busqueda_OnArrendar(object sender, ArrendarLibroEventArgs e) { foreach (Libro l in Libros) { if (l.Titulos == e.titulo && l.Copia > 0 && l.GetAutor() == e.autor) { for (int i = 0; i < User.Count(); i++) { if (User[i].sesion == true && User[i].Deudas == 0) { l.Copia--; Arriendos[i].libro.Add(l); Arriendos[i].FechaArriendo.Add(DateTime.Now); using (Stream stream = new FileStream("Arriendos.bin", FileMode.Create, FileAccess.Write, FileShare.None)) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, Arriendos); stream.Close(); } using (Stream stream = new FileStream("Libros.bin", FileMode.Create, FileAccess.Write, FileShare.None)) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, Libros); stream.Close(); } using (Stream stream = new FileStream("Alumnos.bin", FileMode.Create, FileAccess.Write, FileShare.None)) { IFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, User); stream.Close(); } break; } } } } }