You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tp1Entity/tp1/TestStub/Program.cs

135 lines
3.6 KiB

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