public async Task DeleteBookTest()
        {
            var options = getDatabase("DeleteBookDB");

            await using (var context = new LibraryContext(options))
            {
                var manager = new LibraryManager(context);
                await manager.AddBook(SingleBook());

                await context.SaveChangesAsync();

                var checkDelete = await manager.DeleteBook(1);

                Assert.Equal(1, checkDelete);
            }
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            string         fileName = "Books.json";
            string         filePath = Path.Combine(Environment.CurrentDirectory, fileName);
            LibraryManager Manager  = LibraryManager.Instance;
            Book           newBook;
            LibraryReader  reader;
            List <Book>    Books;

            Filter currentFilter;

            if (!File.Exists(filePath))
            {
                File.Create(filePath).Close();
            }
            try
            {
                switch (args[0])
                {
                case "-h":
                    DisplayHelp();
                    break;

                case "-a":
                    newBook = new Book(args[1], args[2], args[3], args[4], Manager.ParseDate(args[5]), args[6]);
                    Books   = Manager.GetBooks(filePath);
                    Manager.AddBook(Books, newBook);
                    Manager.SetBooks(Books, filePath);
                    break;

                case "-t":
                    reader = new LibraryReader(args[2], args[3], Manager.ParseDate(args[4]));
                    Books  = Manager.GetBooks(filePath);
                    Manager.TakeBook(Books, (uint)Int32.Parse(args[1]), reader);
                    Manager.SetBooks(Books, filePath);
                    break;

                case "-r":
                    reader = new LibraryReader(args[2], args[3]);
                    Books  = Manager.GetBooks(filePath);
                    Manager.ReturnBook(Books, (uint)Int32.Parse(args[1]), reader);
                    Manager.SetBooks(Books, filePath);
                    break;

                case "-l":
                    if (Enum.TryParse(args[1], out currentFilter))
                    {
                        Books = Manager.GetBooks(filePath);
                        if (args.Length == 2)
                        {
                            Console.WriteLine(Manager.ListBooks(Books, currentFilter, null));
                        }
                        else
                        {
                            Console.WriteLine(Manager.ListBooks(Books, currentFilter, args[2]));
                        }
                    }
                    break;

                case "-d":
                    Books = Manager.GetBooks(filePath);
                    Manager.DeleteBook(Books, (uint)Int32.Parse(args[1]));
                    Manager.SetBooks(Books, filePath);
                    break;

                default:
                    Console.WriteLine("Invalid arguments.\n");
                    break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }