Ejemplo n.º 1
0
        /// <summary>
        /// Gets all categories in form of a string from the database.
        /// Also checks if the user's session is active. Then also returns out bool if user is inactve, and string error message
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="userIsInactive"></param>
        /// <param name="errorMsgOut"></param>
        /// <returns>String with the results</returns>
        internal string GetCategories(int userId, out bool userIsInactive, out string errorMsgOut)
        {
            userIsInactive = false;
            errorMsgOut    = "";

            if (!IsSessionActive(userId, out string errorMsgIn))
            {
                userIsInactive = true;
                errorMsgOut    = errorMsgIn;
                return("");
            }
            else
            {
                string categories = "ID CATEGORY\n";
                var    list       = webAPI.GetCategories();
                if (list != null)
                {
                    foreach (BookCategory s in list)
                    {
                        categories += s.Id + ". " + s.Category + "\n";
                    }
                    return(categories);
                }
                else
                {
                    errorMsgOut = "Error loading categories";
                    Debug.WriteLine("Getcategories list was null");
                    return("");
                }
            }
        }
Ejemplo n.º 2
0
        public static void ShowCategories()
        {
            var categories = WebbShopAPI.GetCategories();

            foreach (var cat in categories)
            {
                Console.WriteLine($"{cat.Id}. {cat.Name}");
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Allows you to view all book categories
        /// </summary>
        public void ViewAllCategories()
        {
            WebbShopAPI api = new WebbShopAPI();
            var         listOfCategories = api.GetCategories().ToList();

            if (listOfCategories != null)
            {
                var sortCategoryList = listOfCategories.OrderBy(c => c.ID).ToList();
                BookViews.DisplayCategoryList(sortCategoryList);
                return;
            }

            MessageViews.DisplayErrorMessage();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Uses all book categories to fetch all books in each category
        /// </summary>
        /// <returns></returns>
        public List <Books> GetAllBooks()
        {
            var listOfBooks = new List <Books>();

            WebbShopAPI api = new WebbShopAPI();
            var         listOfCategories = api.GetCategories().ToList();

            if (listOfCategories != null)
            {
                foreach (var category in listOfCategories)
                {
                    listOfBooks.AddRange(api.GetAvailableBooks(category.ID).ToList());
                }
                return(listOfBooks);
            }

            return(new List <Books>());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Allows you to search for a specific category
        /// </summary>
        public void SearchFunctionCategories()
        {
            BookViews.SearchPage();
            var keyword = Console.ReadLine();

            if (keyword != "")
            {
                WebbShopAPI api = new WebbShopAPI();
                var         listOfCategories = api.GetCategories(keyword).ToList();
                if (listOfCategories != null)
                {
                    BookViews.DisplayCategoryList(listOfCategories);
                    return;
                }
            }

            MessageViews.DisplayErrorMessage();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Runs a test-scenario
        /// </summary>
        public static void Run()
        {
            var api = new WebbShopAPI();

            Console.Write("Logged in as: ");
            int userId = api.Login("TestCustomer", "Codic2021");

            Console.WriteLine(userId);

            //---------------------------------------------------

            Console.WriteLine("Searching all categories: ");
            var listOfCategories = api.GetCategories();

            if (listOfCategories.Count > 0)
            {
                foreach (var category in listOfCategories)
                {
                    Console.WriteLine(category.Genere);
                }
            }

            //---------------------------------------------------

            Console.WriteLine("Searching all categories with \"or\"-keyword: ");
            listOfCategories = api.GetCategories("or");
            if (listOfCategories.Count > 0)
            {
                foreach (var category in listOfCategories)
                {
                    Console.WriteLine(category.Genere);
                }
            }

            //---------------------------------------------------

            Console.WriteLine("Searching for all books with category \"Horror\": ");
            var listOfBooks = api.GetCategories(2);

            if (listOfBooks.Count > 0)
            {
                foreach (var book in listOfBooks)
                {
                    Console.WriteLine(book.Title);
                }
            }

            var respons = api.Ping(userId);

            if (respons.Length > 0)
            {
                Console.WriteLine(respons);
            }

            //---------------------------------------------------

            Console.WriteLine("Searching for all available books with category \"Horror\": ");
            var listOfAvailableBooks = api.GetAvailableBooks(2);

            foreach (var book in listOfAvailableBooks)
            {
                Console.WriteLine($"{book.Title}, Amount: {book.Amount}");
            }

            //---------------------------------------------------

            Console.WriteLine("Information around all books with genere \"Horror\"");
            var description = api.GetBook(4);

            Console.WriteLine(description);

            //---------------------------------------------------

            Console.WriteLine("Searching for books matching search word \"shi\"");
            listOfBooks = api.GetBooks("shi");
            foreach (var book in listOfBooks)
            {
                Console.WriteLine(book.Title);
            }

            respons = api.Ping(userId);
            if (respons.Length > 0)
            {
                Console.WriteLine(respons);
            }

            //---------------------------------------------------

            Console.WriteLine("Searching for books matching Author \"Stephen King\"");
            listOfBooks = api.GetAuthor("Stephen King");
            foreach (var book in listOfBooks)
            {
                Console.WriteLine(book.Title);
            }

            //---------------------------------------------------

            Console.WriteLine("Selected book to purchase: \"Doctor Sleep\"");
            var succeed = api.BuyBook(userId, 2);

            if (succeed)
            {
                Console.WriteLine("Purchase made");
            }

            //---------------------------------------------------

            api.Logout(userId);
        }
Ejemplo n.º 7
0
        public static void ShowUserMenu()
        {
            switch (Program.choise)
            {
            case "1":
            {
                var cat = WebbShopAPI.GetCategories();
                foreach (var c in cat)
                {
                    Console.WriteLine($"{c.Id}. {c.Name}");
                }
                break;
            }

            case "2":
            {
                Console.Write("Search: ");
                string keyword = Console.ReadLine();
                var    cat     = WebbShopAPI.SearchCategory(keyword);
                foreach (var c in cat)
                {
                    Console.WriteLine($"{c.Id}. {c.Name}");
                }
                break;
            }

            case "3":
            {
                var cat = WebbShopAPI.GetCategories();
                foreach (var c in cat)
                {
                    Console.WriteLine($"{c.Id}. {c.Name}");
                }
                Console.Write("Choise a category (id): ");
                int catId = Convert.ToInt32(Console.ReadLine());
                var books = WebbShopAPI.ShowBooksByCategory(catId);
                foreach (var book in books)
                {
                    Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price: {book.Price} sek");
                }
                break;
            }

            case "4":
            {
                var cat = WebbShopAPI.GetCategories();
                foreach (var c in cat)
                {
                    Console.WriteLine($"{c.Id}. {c.Name}");
                }
                Console.Write("Choise a category (id): ");
                int catId = Convert.ToInt32(Console.ReadLine());
                var books = WebbShopAPI.ShowAvailableBooksByCategory(catId);
                foreach (var book in books)
                {
                    Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price: {book.Price} sek");
                }
                break;
            }

            case "5":
            {
                var books = WebbShopAPI.GetAllBooks();
                foreach (var b in books)
                {
                    Console.WriteLine($"{b.Id}.{b.Title}");
                }
                Console.Write("Choise a book (id): ");
                int bookId = Convert.ToInt32(Console.ReadLine());
                var book   = WebbShopAPI.GetBookById(bookId);
                Console.WriteLine($"{book.Id}. {book.Title} by {book.Author}. Price {book.Price} sek. Available amount: {book.Amount}");
                break;
            }

            case "6":
            {
                Console.Write("Search: ");
                string keyword = Console.ReadLine();
                var    books   = WebbShopAPI.FindBookByName(keyword);
                foreach (var b in books)
                {
                    Console.WriteLine($"{b.Id}.{b.Title}");
                }
                break;
            }

            case "7":
            {
                Console.Write("Search by author: ");
                string keyword = Console.ReadLine();
                var    books   = WebbShopAPI.GetAuthors(keyword);
                foreach (var b in books)
                {
                    Console.WriteLine($"{b.Id}.{b.Title}");
                }
                break;
            }

            case "8":
            {
                var books = WebbShopAPI.GetAllBooks();
                foreach (var b in books)
                {
                    Console.WriteLine($"{b.Id}.{b.Title}");
                }
                Console.Write("Choise a book (id): ");
                int bookId = Convert.ToInt32(Console.ReadLine());
                WebbShopAPI.BuyABook(Program.userId, bookId);
                break;
            }

            case "q":
            {
                break;
            }
            }
        }