Esempio n. 1
0
        private static void IncreaseBookCopies(BookShopContext context)
        {
            DateTime date          = new DateTime(2013, 6, 6);
            var      affectedBooks = context.Books.Update(b => b.ReleaseDate != null && b.ReleaseDate > date, b => new Book()
            {
                Copies = b.Copies + 44
            });

            Console.WriteLine($"{affectedBooks} books are released after 6 Jun 2013 so total of {affectedBooks*44} book copies were added");
            context.SaveChanges();
        }
Esempio n. 2
0
        private static void RemoveBooks(BookShopContext context)
        {
            var books = context.Books.Where(b => b.Copies < 4200);

            Console.WriteLine($"{books.Count()} books were deleted");

            foreach (var b in books)
            {
                context.Books.Remove(b);
            }

            context.SaveChanges();
        }
Esempio n. 3
0
        private static void RemoveBooks(BookShopContext context)
        {
            Console.WriteLine("Solution to Problem 14. Remove Books with copies < 4200");

            var booksToRemove = context.Books.Where(b => b.Copies < 4200);

            Console.WriteLine($"{booksToRemove.Count()} books were deleted");

            booksToRemove.Delete();
            context.SaveChanges();

            // Just a check
            //int remainingBooksCount = context.Books.Where(b => b.Copies < 4200).Count();
            //Console.WriteLine($"Check: {remainingBooksCount} books with copies < 4200 remaining after Bulk Delete"); // 0 => all books are deleted
            Pause();
        }
Esempio n. 4
0
        private static void IncreaseBookCopies(BookShopContext context)
        {
            string   input = "06-06-2013";
            DateTime date  = DateTime.Parse(input);

            var books = context.Books.Where(b => b.ReleaseDate > date);
            int index = 0;

            foreach (var b in books)
            {
                b.Copies += 44;
                index++;
            }

            context.SaveChanges();

            Console.WriteLine(index * 44);
        }
Esempio n. 5
0
        private static void IncreaseBookCopies(BookShopContext context)
        {
            Console.Write($"Please enter release date: ");
            string   date = Console.ReadLine();
            DateTime time = DateTime.ParseExact(date, "dd-MMM-yyyy", null);

            Console.Write($"Please enter number of copies: ");
            int numberOfCopies = int.Parse(Console.ReadLine());

            var count = context.Books.Count(b => b.ReleaseDate > time);

            Console.WriteLine($"{count} books are released after {date} so total of {count * numberOfCopies} book copies were added");

            var book = context.Books.Where(b => b.ReleaseDate > time);

            context.Books.Update(book, b => new Book()
            {
                Copies = b.Copies + numberOfCopies
            });
            context.SaveChanges();
        }
Esempio n. 6
0
        private static void IncreaseBookCopies(BookShopContext context)
        {
            Console.WriteLine("Solution to Problem 13. Increase Book Copies");

            var booksToUpdate          = context.Books.Where(b => b.ReleaseDate > new DateTime(2013, 6, 6));
            int bookCopiesBeforeUpdate = booksToUpdate.Sum(b => b.Copies);

            booksToUpdate.Update(b => new Book()
            {
                Copies = b.Copies + 44
            });
            context.SaveChanges();

            int bookCopiesAfterUpdate = booksToUpdate.Sum(b => b.Copies);

            Console.WriteLine($"{booksToUpdate.Count()} books are released after 6 Jun 2013 so total of {bookCopiesAfterUpdate - bookCopiesBeforeUpdate} book copies were added"); // actual number of added copies

            //Console.WriteLine($"{booksToUpdate.Count()} books are released after 6 Jun 2013 so total of {booksToUpdate.Count() * 44} book copies were added"); // calculated number of added copies after Bulk Update

            Pause();
        }
Esempio n. 7
0
        private static void ShowFirstThreeRelatedBooks(BookShopContext context)
        {
            var books = context.Books.Take(3).ToList();

            books[0].RelatedBooks.Add(books[1]);
            books[1].RelatedBooks.Add(books[0]);
            books[0].RelatedBooks.Add(books[2]);
            books[2].RelatedBooks.Add(books[0]);

            context.SaveChanges();

            var booksFromQuery = context.Books.Take(3);

            foreach (var book in booksFromQuery)
            {
                Console.WriteLine($"--{book.Title}");
                foreach (var relatedBook in book.RelatedBooks)
                {
                    Console.WriteLine(relatedBook.Title);
                }
            }
        }
Esempio n. 8
0
        private static void SetRelatedBooks(BookShopContext context)
        {
            // Set Related Books
            List <Book> books = context.Books.Take(3).ToList();

            books[0].RelatedBooks.Add(books[1]);
            books[1].RelatedBooks.Add(books[0]);
            books[0].RelatedBooks.Add(books[2]);
            books[2].RelatedBooks.Add(books[0]);
            context.SaveChanges();

            // Query Related Books
            books = context.Books.Take(3).ToList();
            foreach (Book book in books)
            {
                Console.WriteLine($"--{book.Title}");
                foreach (Book relatedBook in book.RelatedBooks)
                {
                    Console.WriteLine(relatedBook.Title);
                }
            }
        }
Esempio n. 9
0
        static void Main()
        {
            var context = new BookShopContext();
            //var migrationStrategy = new MigrateDatabaseToLatestVersion<BookShopContext, Configuration>();
            //Database.SetInitializer(migrationStrategy);
            //Console.WriteLine(context.Books.Count());
            var books = context.Books
                        .Take(3)
                        .ToList();

            books[0].RelatedBooks.Add(books[1]);
            books[1].RelatedBooks.Add(books[0]);
            books[0].RelatedBooks.Add(books[2]);
            books[2].RelatedBooks.Add(books[0]);

            context.SaveChanges();

            var booksFromQuery = context.Books.Take(3);

            // Query the first three books to get their names
            // and their related book names
            foreach (var book in booksFromQuery)
            {
                Console.WriteLine("--{0}", book.Title);
                foreach (var relatedBook in book.RelatedBooks)
                {
                    Console.WriteLine(relatedBook.Title);
                }
            }

            //SeedAuthors(context);
            //Console.WriteLine(context.Authors.Count());
            //SeedBooks(context);
            //

            //SeedCategories(context);
            //context.SaveChanges();
        }
Esempio n. 10
0
        static void Main(string[] args)
        {
            var context = new BookShopContext();

            context.SaveChanges();
        }