private void Vista_Alumno_OnDevolver(object sender, DevolverLibroEventArgs e)
 {
     for (int i = 0; i < Arriendos.Count; i++)
     {
         if (Arriendos[i].alumno.sesion == true)
         {
             Arriendos[i].libro[e.row].Copia++;
             foreach (Libro l in Libros)
             {
                 if (l.Titulos == e.titulo && l.GetAutor() == e.autor)
                 {
                     l.Copia++;
                     break;
                 }
             }
             Arriendos[i].libro.RemoveAt(e.row);
             Arriendos[i].FechaArriendo.RemoveAt(e.row);
             Arriendos[i].alumno.Deudas = 0;
             User[i].Deudas             = 0;
             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();
             }
             break;
         }
     }
 }
예제 #2
0
        private void devolver_btn_Click(object sender, EventArgs e)
        {
            List <Alumno> alumnos = 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)
            {
            }

            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);
                }
            }
            catch (IOException)
            {
            }

            for (int i = 0; i < arriendos.Count; i++)
            {
                if (arriendos[i].alumno.sesion == true)
                {
                    if (dataGridView1.CurrentCell != null && arriendos[i].alumno.Deudas <= Convert.ToInt32(deuda_txtbox.Text))
                    {
                        DevolverLibroEventArgs devolucion = new DevolverLibroEventArgs();
                        devolucion.row    = dataGridView1.CurrentCell.RowIndex;
                        devolucion.titulo = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();
                        devolucion.autor  = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[1].Value.ToString();
                        OnDevolver(this, devolucion);

                        if (arriendos[i].alumno.Deudas == Convert.ToInt32(deuda_txtbox.Text) && arriendos[i].alumno.Deudas == 0)
                        {
                            MessageBox.Show("Libro Devuelto");
                        }
                        else if (arriendos[i].alumno.Deudas == Convert.ToInt32(deuda_txtbox.Text) && arriendos[i].alumno.Deudas != 0)
                        {
                            MessageBox.Show("Libro Devuelto y deuda pagada");
                        }
                        else
                        {
                            int vuelto = Convert.ToInt32(deuda_txtbox.Text) - arriendos[i].alumno.Deudas;
                            MessageBox.Show("Libro devuelto y deuda pagada\nSu vuelto es de {0} pesos", vuelto.ToString());
                        }

                        dataGridView1.Rows.RemoveAt(dataGridView1.CurrentCell.RowIndex);
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar un libro a devolver o tiene deudas pendientes");
                    }
                }
            }
        }