using StubbedContextLib; using Entities; using DbContextLib; using Microsoft.Extensions.Options; using System.Reflection; using Microsoft.EntityFrameworkCore.Storage; using Microsoft.EntityFrameworkCore; // See https://aka.ms/new-console-template for more information Console.WriteLine("Hello, World!"); using (var context = new LibraryContext()) { context.Database.EnsureCreated(); PersonEntity p1 = new PersonEntity() { FirstName = "Tom", LastName = "Rambeau" }; PersonEntity p2 = new PersonEntity() { FirstName = "Erwan", LastName = "Manager" }; BookEntity chewie = new BookEntity() { Title = "mistake", Author = "test1", Isbn ="test1"}; BookEntity the100 = new BookEntity() { Title = "the100", Author = "test4", Isbn = "test4", Owner = p1 }; BookEntity GOT = new BookEntity() { Title = "GOT", Author = "lastTest", Isbn = "lastTest"}; context.Add(p1); context.Add(p2); context.Add(chewie); context.Add(GOT); context.Add(the100); context.SaveChanges(); } using (var context = new LibraryContext()) { foreach (var n in context.BooksSet) { Console.WriteLine($"Books: {n.ID} - {n.Title}"); } context.SaveChanges(); } using (var context = new LibraryContext()) { var eBooks = context.BooksSet.Where(b => b.Title.StartsWith("t")).First(); Console.WriteLine($"{eBooks.Title} (made by {eBooks.Author})"); eBooks.Title = "Border"; context.SaveChanges(); } using (var context = new LibraryContext()) { Console.WriteLine("Deletes one item from de database"); var impostor = context.BooksSet .SingleOrDefault(n => n.Title.Equals("mistake")); context.Remove(impostor); context.SaveChanges(); } using (var context = new LibraryContext()) { Console.WriteLine("All people"); var people = context.PersonSet; foreach(var p in people) { Console.WriteLine($"firstname: {p.FirstName}, lastname: {p.LastName}"); } } //emprunt using (var context = new LibraryContext()) { var books = context.BooksSet; foreach(var book in books) { if (book.Owner == null) { book.Owner = context.PersonSet.Where(b => b.FirstName.StartsWith("E")).Include(b => b.Books).First(); Console.WriteLine($" nouveau propriétaire du livre: {book.Owner.FirstName}"); break; } } context.SaveChanges(); } //Rendu using (var context = new LibraryContext()) { var books = context.BooksSet; if (books != null) { foreach (var book in books) { //Console.WriteLine(book.Owner.FirstName); if (book.Owner != null) { Console.WriteLine($" propriétaire du livre avant rendu : {book.Owner.FirstName}"); book.Owner = null; Console.WriteLine("propriétaire a rendu le libre"); break; } else { Console.WriteLine("livre sans propriétaire" + book.Title); } } } context.SaveChanges(); } //DeleteAllItem using (var context = new LibraryContext()) { var allBooks = context.BooksSet; if ( allBooks != null) { foreach (var book in allBooks) { context.BooksSet.Remove(book); } } var allPeople = context.PersonSet; if (allBooks != null) { foreach (var person in allPeople) { context.PersonSet.Remove(person); } } context.SaveChanges(); }