static void Main(string[] args) { using (var context = new BaseDeDatos()) { // Agrego autor var autor = new Autor(); autor.fecha_nacimiento = 1965; autor.nombre = "Rowling"; if (!context.autores.Any(autor => autor.nombre == "Rowling")) { context.autores.Add(autor); } context.autores.Add(autor); context.SaveChanges(); // Agrego lector si no existe var lector = new Lector(); lector.nombre = "Matias"; if (!context.lectores.Any(lector => lector.nombre == "Matias")) { context.lectores.Add(lector); } context.SaveChanges(); // Agrego libros si no existen var libro = new Libro(); libro.nombre = "Harry Potter"; libro.anio = 1997; libro.categoria = "Magia"; libro.editorial = "Salamandra Bolsillo"; libro.autor = autor; if (!context.libros.Any(libro => libro.nombre == "Harry Potter")) { context.libros.Add(libro); } context.SaveChanges(); libro = new Libro(); libro.nombre = "Harry Potter 2"; libro.anio = 1998; libro.categoria = "Magia"; libro.editorial = "Salamandra Bolsillo"; libro.autor = autor; if (!context.libros.Any(libro => libro.nombre == "Harry Potter 2")) { context.libros.Add(libro); } context.SaveChanges(); libro = new Libro(); libro.nombre = "Harry Potter 3"; libro.anio = 1999; libro.categoria = "Magia"; libro.editorial = "Salamandra Bolsillo"; libro.autor = autor; if (!context.libros.Any(libro => libro.nombre == "Harry Potter 3")) { context.libros.Add(libro); } context.SaveChanges(); libro = new Libro(); libro.nombre = "Harry Potter 4"; libro.anio = 2000; libro.categoria = "Magia"; libro.editorial = "Salamandra Bolsillo"; libro.autor = autor; if (!context.libros.Any(libro => libro.nombre == "Harry Potter 4")) { context.libros.Add(libro); } context.SaveChanges(); while (true) { Console.WriteLine("Ingrese nombre de usuario:"); var usuario = Console.ReadLine(); int eleccion; if (context.lectores.Any(lector => lector.nombre == usuario)) { lector = context.lectores.Single(l => l.nombre == usuario); Console.WriteLine("1.Retirar libro"); Console.WriteLine("2.Devolver libro"); Console.WriteLine("3.Calcular multa"); eleccion = Convert.ToInt32(Console.ReadLine()); } else { Console.WriteLine("El usuario ingresado no se encuentra en la base de datos"); eleccion = 0; } switch (eleccion) { case 1: if (lector.dias_multado == 0 && lector.cant_libros < 3) { Console.WriteLine("Ingrese el nombre del libro a retirar"); var retirar = Console.ReadLine(); if (context.libros.Any(libros => libros.nombre == retirar)) { libro = context.libros.Single(libro => libro.nombre == retirar); if (libro.en_biblioteca) { var prestamo = new Prestamo(); prestamo.lector = lector; prestamo.libro = libro; prestamo.fecha = 5; libro.prestar_libro(prestamo.fecha); lector.libro_prestado(prestamo); context.prestamos.Add(prestamo); context.SaveChanges(); Console.WriteLine("Tiene 30 dias para devolver el libro!"); } else { Console.WriteLine("El libro solocitado no se encuentra en la biblioteca :("); } } else { Console.WriteLine("No tenemos ese libro :("); } } else { if (lector.dias_multado != 0) { Console.WriteLine($"No puede retirar libros, esta multado por {lector.dias_multado} dias"); } else { Console.WriteLine("No puede retirar mas libros, la cantidad maxima es 3 libros por persona :("); } } break; case 2: Console.WriteLine("Ingrese el nombre del libro a devolver"); var devolver = Console.ReadLine(); if (context.libros.Any(libros => libros.nombre == devolver)) { var prest = context.prestamos.Single(prestamo => prestamo.libro.nombre == devolver); lector.devolver_libro(prest, 50); context.SaveChanges(); Console.WriteLine("Gracias, espero que haya disfrutado de la lectura!"); } else { Console.WriteLine("Usted nunca retiro ese libro"); } break; case 3: Console.WriteLine($"Cantidad de dias multado:{lector.dias_multado}"); break; case 0: break; } } } }