// hiểm thị danh sách trò chơi đã mua của user
        public void LibraryGame(User user)
        {
            try {
                orderBL.GetAllOrderByUserID(user.user_id);
            } catch (System.Exception) {
                Console.WriteLine("Mất kết nối dữ liệu!\nNhấn phím bất kì để quay lại trang chủ ");
                Console.ReadKey();
                m.MainMenu();
            }

            Console.Clear();
            Console.WriteLine("|==================================================================================|");
            Console.WriteLine("|-----------------------------| TRÒ CHƠI CỦA BẠN |---------------------------------|");
            Console.WriteLine("|==================================================================================|\n");

            int i = 0;

            // kiểm tra order in user_id
            if (orderBL.GetAllOrderByUserID(user.user_id).Count == 0)
            {
                Console.WriteLine("Bạn chưa có trò chơi nào, vào cửa hàng để mua trò chơi !");
            }
            foreach (Order order in orderBL.LibGame(user.user_id))
            {
                i++;
                Console.WriteLine(" {0}. {1}", i, itemBL.GetItemByID(order.OrderItem.item_id).item_name);
            }
            Console.WriteLine("\n|==================================================================================|");
            Console.WriteLine("Ấn phím bất kì để quay trở lại");
            Console.ReadLine();
            ms.menuShop(user);
        }
Example #2
0
 public Item GetItemByID(Guid id)
 {
     try
     {
         var itemBL = new ItemBL();
         return(itemBL.GetItemByID(id));
     }
     catch (Exception)
     {
         return(null);
     }
 }
Example #3
0
        public void OrderDetail(User user)
        {
            int order_id;

            Console.Write("Nhập mã đơn hàng: ");
            while (true)
            {
                bool isINT = Int32.TryParse(Console.ReadLine(), out order_id);
                if (!isINT)
                {
                    Console.WriteLine("Nhập giá trị sai !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else if (orderBL.GetAllOrderByOrderID(order_id).Count == 0)
                {
                    Console.WriteLine("Mã đơn hàng không tồn tại !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else
                {
                    break;
                }
            }
            List <Item> Listitem = new List <Item> ();
            double      price    = 0;

            Console.Clear();
            foreach (var order in orderBL.GetAllOrderByOrderID(order_id))
            {
                Listitem.Add(itemBL.GetItemByID(order.OrderItem.item_id));
            }
            Console.WriteLine("|===============================================================================|");
            Console.WriteLine("- MÃ ĐƠN HÀNG [{0}]", order_id);
            Console.WriteLine("|===============================================================================|");
            Console.WriteLine("|{0,-15}|{1,-25}|{2,-25}\t\t|", "Mã sản phẩm", "Tên sản phẩm", "Giá sản phẩm");
            foreach (var item in Listitem)
            {
                string format = string.Format($"|{item.item_id,-15}|{item.item_name,-25}|{FormatAndValid.FormatCurrency(item.item_price),-25}\t\t|");
                Console.WriteLine("|-------------------------------------------------------------------------------|");
                Console.WriteLine(format);

                price = price + item.item_price;
            }
            Console.WriteLine("|-------------------------------------------------------------------------------|");
            Console.WriteLine(" Tổng giá tiền đơn hàng : {0}", FormatAndValid.FormatCurrency(price));
            Console.WriteLine("|===============================================================================|");
            Console.Write("Bấm phím bất kì để quay lại");
            Console.ReadKey();
            GetAllOrdersByUserID(user);
        }
Example #4
0
        public void CreateOrderTestFalse() // check crt order user id vs item id true
        {
            UserBL userbl = new UserBL();
            Order  order  = new Order();

            order.user      = new User();
            order.OrderItem = new Item();
            ItemBL id = new ItemBL();

            order.ListItem     = new List <Item>();
            order.user.user_id = -1;

            order.ListItem.Add(id.GetItemByID(-101));
            Assert.False(orderBL.CreateOrder(order));
        }
        public void CreateShoppingCartTest1()
        {
            UserBL userBL = new UserBL();
            ItemBL itemBL = new ItemBL();
            Order  order  = new Order();

            order.OrderUser = new User();
            order.OrderItem = new Item();

            order.CartStatus = 0;
            order.OrderItem  = itemBL.GetItemByID(0);
            order.OrderUser  = userBL.GetUserById(0);

            Assert.False(orderBL.CreateShoppingCart(order));
        }
        public void CreateShoppingCartTest()
        {
            UserBL userBL = new UserBL();
            ItemBL itemBL = new ItemBL();
            Order  order  = new Order();

            order.OrderUser = new User();
            order.OrderItem = new Item();

            order.CartStatus = 0;
            order.OrderItem  = itemBL.GetItemByID(2);
            order.OrderUser  = userBL.GetUserById(1);


            Assert.True(orderBL.CreateShoppingCart(order));
            orderBL.DeleteAllItemInShoppingCartByUserID(1);
            // userDAL.UpdateStatusShoppingCartById(false, order.OrderUser.UserID); // set userShopping cart to 1
        }
        public void ShowAnItem(int?ItemID)
        {
            while (true)
            {
                // Console.Clear();
                Item   item   = new Item();
                ItemBL itemBL = new ItemBL();
                item = itemBL.GetItemByID(ItemID);
                // item = itemBL.GetItemBySize(itemSize);

                var table = new ConsoleTable("Tên Đồ Uống", Convert.ToString(item.ItemName));
                table.AddRow("Tên Tiếng Anh: ", item.ItemNameEnglish);
                table.AddRow("Size: ", item.ItemSize);
                table.AddRow("Giá: ", FormatCurrency(item.ItemPrice));
                table.AddRow("Nguyên liệu: ", item.ItemResources);
                // table.AddRow("Quantity: ", item.ItemQuantity);
                table.Write();
                Console.WriteLine("Mô tả: ");
                Console.WriteLine(item.ItemPreview);
                OrderBL  orderBL = new OrderBL();
                string[] choice  = { "Thêm vào giỏ hàng", "Thoát" };
                short    choose  = Extend.MenuDetails("Menu", choice);
                switch (choose)
                {
                case 1:
                    // AddToCart(item);
                    Console.WriteLine("Chức năng này cần đăng nhập trước khi sử dụng");
                    Console.ReadKey();
                    continue;

                case 2:

                    break;
                }
                break;
            }
        }
Example #8
0
        public void AddToCart(User user)
        {
            // check xem sản phẩm có trong giỏ hàng chưa
            try {
                foreach (var order in orderBL.LibGame(user.user_id))
                {
                    if (MenuShop.itemid == order.OrderItem.item_id)
                    {
                        Console.WriteLine("Bạn đã sở hữu trò chơi này rồi! ");
                        Console.Write("Ấn phím bất kì để quay trở lại. ");
                        Console.ReadKey();
                        ms.ShowItems(user);
                    }
                }
            } catch (System.Exception) {
                Console.WriteLine("Mất kết nối dữ liệu !");
                Console.WriteLine("Ấn phím bất kì để quay trở lại Trang chủ !");
                Console.ReadKey();
                m.MainMenu();
            }

            // thêm sản phẩm vào giỏ hàng
            if (!File.Exists("order" + user.user_id + ".json"))
            {
                Order order = new Order();
                order.ListItem   = new List <Item> ();
                order.order_date = DateTime.Now;
                order.user       = user;
                order.ListItem.Add(itemBL.GetItemByID(MenuShop.itemid));
                File.WriteAllText("order" + user.user_id + ".json", JsonConvert.SerializeObject(order));
                using (StreamWriter file = File.CreateText("order" + user.user_id + ".json")) {
                    JsonSerializer serializer = new JsonSerializer();
                    serializer.Serialize(file, order);
                    file.Close();
                }
                Console.WriteLine("Thêm vào giỏ hàng thành công !");
                Console.Write("Bạn có muốn tiếp tục không(C/K)?: ");
                string choose;
                while (true)
                {
                    choose = Console.ReadLine().ToUpper();
                    if (choose != "C" && choose != "K")
                    {
                        Console.WriteLine("Bạn đã nhập sai, hãy nhập lại!");
                        Console.Write("Bạn có muốn tiếp tục không(C/K)?: ");
                        continue;
                    }
                    else
                    {
                        break;
                    }
                }
                switch (choose)
                {
                case "C":
                    ms.ShowItems(user);
                    break;

                case "K":
                    ms.menuShop(user);
                    break;
                }
            }
            else
            {
                Order order = new Order();
                CheckItemInCart(user);
                order.order_date = DateTime.Now;
                order.ListItem   = new List <Item> ();
                order.user       = user;
                var list = JsonConvert.DeserializeObject <Order> (File.ReadAllText("order" + user.user_id + ".json"));
                list.ListItem.Add(itemBL.GetItemByID(MenuShop.itemid));
                var convertedJson = JsonConvert.SerializeObject(list, Formatting.Indented);
                File.WriteAllText("order" + user.user_id + ".json", convertedJson);
                Console.WriteLine("Thêm vào giỏ hàng thành công !");
                Console.Write("Bạn có muốn tiếp tục không(C/K)?: ");
                string choose;
                while (true)
                {
                    choose = Console.ReadLine().ToUpper();
                    if (choose != "C" && choose != "K")
                    {
                        Console.WriteLine("Bạn đã nhập sai, hãy nhập lại!");
                        Console.Write("Bạn có muốn tiếp tục không(C/K)?: ");
                        continue;
                    }
                    else
                    {
                        break;
                    }
                }
                switch (choose)
                {
                case "C":
                    ms.ShowItems(user);
                    break;

                case "K":
                    ms.menuShop(user);
                    break;
                }
            }
        }
        public void GetItemByIdTest(int Id)
        {
            Items item = iBl.GetItemByID(Id);

            Assert.NotNull(item);
        }
Example #10
0
 public void GetAnItemByIdTest(int?itemId)
 {
     Assert.NotNull(itemBL.GetItemByID(itemId));
 }
Example #11
0
        public void showItemDetail(int itID)
        {
            while (true)
            {
                Console.Clear();
                string row  = ("==================================================================");
                ItemBL itBL = new ItemBL();
                Items  it   = new Items();
                // List<Items> li = null;
                Customer   custom  = new Customer();
                CustomerBL cutomBL = new CustomerBL();

                try
                {
                    it = itBL.GetItemByID(itID);
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    throw;
                }
                if (it == null)
                {
                    Console.WriteLine("The item does not exist !");
                }
                else
                {
                    Console.WriteLine(row);
                    Console.WriteLine("DETAIL OF ITEM");
                    Console.WriteLine(row);
                    var table = new ConsoleTable("ID", "ITEM NAME", "PRICE OF SIZE M", "PRICE OF SIZE X", "PRICE OF SIZE XL");

                    table.AddRow(it.ItemID, it.ItemName, FomatMoney(it.ItemPrice), FomatMoney(it.ItemPrice + 5), FomatMoney(it.ItemPrice + 10));

                    table.Write();
                    Console.WriteLine("DESCRIPTION : ");
                    WriteLineWordWrap(it.ItemDescription);
                }
                string select;
                Console.WriteLine("\n" + row + "\n");
                Console.WriteLine("1. Add to cart");
                Console.WriteLine("2. Back to Menu");
                Console.Write("Enter your selection: ");
                select = Console.ReadLine();

                switch (select)
                {
                case "1":

                    while (true)
                    {
                        Console.Write("Enter size of item: ");
                        it.Size = Console.ReadLine().ToUpper();
                        if (it.Size != "M" && it.Size != "X" && it.Size != "XL")
                        {
                            Console.WriteLine("Size of item must be M,X,XL");
                            Console.ReadKey();
                            continue;
                        }
                        List <Items> litems = null;
                        if (File.Exists(("shoppingcart" + customer.UserName + ".dat")))
                        {
                            FileStream   f  = new FileStream("shoppingcart" + customer.UserName + ".dat", FileMode.OpenOrCreate, FileAccess.ReadWrite);
                            BinaryReader br = new BinaryReader(f);
                            string       a  = br.ReadString();
                            litems = JsonConvert.DeserializeObject <List <Items> >(a);
                            br.Close();
                            f.Close();
                        }
                        while (true)
                        {
                            string selection;
                            int    temp  = 0;
                            int    index = 0;
                            if (litems != null)
                            {
                                for (int i = 0; i < litems.Count; i++)
                                {
                                    if (it.Size == litems[i].Size)
                                    {
                                        temp += 1;
                                        index = i;
                                        break;
                                    }
                                    else
                                    {
                                    }
                                }
                            }
                            if (temp == 1)
                            {
                                Console.Write("This item already exists in the shopping cart, do you want increase  quantity ?(Y/N):");
                                selection = Console.ReadLine().ToUpper();
                                int add;
                                switch (selection)
                                {
                                case "Y":
                                    while (true)
                                    {
                                        Console.Write("Enter the quantity you want to add: ");
                                        try
                                        {
                                            add = int.Parse(Console.ReadLine());
                                            litems[index].ItemCount += add;

                                            string fileName = "shoppingcart" + customer.UserName + ".dat";
                                            File.Delete(fileName);
                                            string       sJSONResponse = JsonConvert.SerializeObject(litems);
                                            BinaryWriter bw;
                                            try
                                            {
                                                FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                                                bw = new BinaryWriter(fs);
                                                bw.Write((string)(object)sJSONResponse);
                                                fs.Close();
                                            }
                                            catch (System.Exception)
                                            {
                                                Console.WriteLine("Disconnect from database !");
                                            }
                                            Console.WriteLine("\nAdd quantity success !\n");

                                            break;
                                        }
                                        catch (System.Exception)
                                        {
                                            Console.WriteLine("Item id must be integer and greater 0 !");
                                            continue;
                                        }
                                    }

                                    MenuAfterLogin();
                                    break;

                                case "N":
                                    MenuAfterLogin();
                                    break;

                                default:
                                    Console.Write("You must enter Y/N \n");
                                    continue;
                                }
                            }
                            if (it.Size != "M" && it.Size != "X" && it.Size != "XL")
                            {
                                Console.WriteLine("Size of item must be M,X,XL");
                                Console.ReadKey();
                                continue;
                            }
                            else
                            {
                                if (it.Size == "X")
                                {
                                    it.ItemPrice += 5;
                                }
                                if (it.Size == "XL")
                                {
                                    it.ItemPrice += 10;
                                }
                                break;
                            }
                        }
                        while (true)
                        {
                            int Count = 0;
                            Console.Write("Enter quantity of item:");
                            bool a = Int32.TryParse(Console.ReadLine(), out Count);
                            if (Count > 0 && Count < 50)
                            {
                                it.ItemCount = Count;

                                break;
                            }
                            else if (!a)
                            {
                                Console.WriteLine("\nYou must enter integer and greater than 0 and less than 50 !\n");
                                continue;
                            }
                            else
                            {
                                Console.WriteLine("\nYou must enter integer and greater than 0 and less than 50 !\n");
                                continue;
                            }
                        }
                        AddToCart(it);
                        break;
                    }


                    break;

                case "2":
                    MenuAfterLogin();
                    break;

                default:
                    Console.WriteLine("You are only entered in the number existing !");
                    continue;
                }

                string conti;
                Console.Write("Do you continue ? (Y/N): ");
                conti = checkYN().ToUpper();
                if (conti == "Y")
                {
                    itBL = new ItemBL();
                    it   = new Items();
                    // li = null;
                    custom  = new Customer();
                    cutomBL = new CustomerBL();
                    showItems();
                }
                else if (conti == "N")
                {
                    MenuAfterLogin();
                }
            }
        }
Example #12
0
        public void GetItemInfoByID(User user)  // hiển thị chi tiết trò chơi
        {
            Console.WriteLine("-----------------");
            Console.Write("Nhập mã trò chơi: ");
            while (true)
            {
                bool isINT = Int32.TryParse(Console.ReadLine(), out itemid);
                try {
                    item = itemBL.GetItemByID(itemid);
                } catch (System.Exception) {
                    Console.WriteLine("Mất Kết nối!\nẤn phím bất kì để trở về trang chủ !");
                    Console.ReadKey();
                    m.MainMenu();
                }
                if (!isINT)
                {
                    Console.WriteLine("Nhập giá trị sai !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else if (itemBL.GetItemByID(itemid) == null)
                {
                    Console.WriteLine("Mã game sai hoặc không tồn tại !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else
                {
                    break;
                }
            }
            Console.Clear();
            Console.WriteLine("|===============================================================|");
            Console.WriteLine("|---------------------| THÔNG TIN TRÒ CHƠI |--------------------|");
            Console.WriteLine("|===============================================================|");
            Console.WriteLine($"- Mã trò chơi      : {item.item_id}");
            Console.WriteLine("----------------------------------------------------------------|");
            Console.WriteLine($"- Tên trò chơi     : {item.item_name}");
            Console.WriteLine("|---------------------------------------------------------------|");
            Console.WriteLine($"- Giá trò chơi     : {FormatAndValid.FormatCurrency(item.item_price)}");
            Console.WriteLine("|---------------------------------------------------------------|");
            Console.WriteLine($"- Nhà phát triển   : {item.item_developer}");
            Console.WriteLine("|---------------------------------------------------------------|");
            Console.WriteLine($"- Nhà phát hành    : {item.item_publisher}");
            Console.WriteLine("|---------------------------------------------------------------|");
            Console.WriteLine($"- Thể loại         : {item.item_tag}");
            Console.WriteLine("|---------------------------------------------------------------|");
            Console.WriteLine($"- Nền tảng         : {item.item_platform}");
            Console.WriteLine("|===============================================================|\n");
            Console.WriteLine($"- Mô tả trò chơi   : {item.item_description}");

            fbc.ShowFeedBacks(user);  // hiển thị phản hồi

            Console.WriteLine("\n1. Thêm vào giỏ hàng      ");
            Console.WriteLine("2. Đánh giá trò chơi      ");
            Console.WriteLine("3. Quay trở lại cửa hàng  ");
            Console.Write("Chọn: ");
            int chooseAction;

            while (true)
            {
                bool isINT = Int32.TryParse(Console.ReadLine(), out chooseAction);
                if (!isINT)
                {
                    Console.WriteLine("Nhập giá trị sai !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else if (chooseAction < 1 || chooseAction > 3)
                {
                    Console.WriteLine("Nhập giá trị sai !");
                    Console.Write("Mời bạn nhập lại: ");
                }
                else
                {
                    break;
                }
            }
            switch (chooseAction)
            {
            case 1:
                orderConsole.Order(user);
                break;

            case 2:
                fbc.CreateFeedBack(user);
                break;

            case 3:
                ShowItems(user);
                break;
            }
        }
Example #13
0
        // Tạo phản hồi từ khách hàng
        public void CreateFeedBack(User user)
        {
            Console.OutputEncoding = Encoding.Unicode;
            Console.InputEncoding  = Encoding.Unicode;
            CheckFeedBackUser(user);
            Console.Clear();
            Console.WriteLine("|===================================================|");
            Console.WriteLine("|---------| CẢM NHẬN VÀ ĐÁNH GIÁ TRÒ CHƠI |---------|");
            Console.WriteLine("|===================================================|");

            Console.Write(" \nCảm nhận của bạn !\n- ");
            string Comment;

            while (true)
            {
                Comment = Console.ReadLine();
                if (Comment.Length <= 0)
                {
                    Console.Write("Bạn phải ghi ít nhất 1 kí tự !\n- ");
                }
                else
                {
                    break;
                }
            }

            Console.WriteLine("Đánh giá của bạn từ 1 đến 5 !");
            Console.Write("Số điểm đánh giá của bạn: ");

            int Rate;

            while (true)
            {
                bool isInt = Int32.TryParse(Console.ReadLine(), out Rate);
                if (!isInt)
                {
                    Console.WriteLine("Bạn đã nhập sai! hãy nhập lại!");
                    Console.Write("Số điểm đánh giá của bạn: ");
                }
                else if (Rate < 1 || Rate > 5)
                {
                    Console.WriteLine("Giới hạn từ 1 đến 5 điểm ");
                    Console.Write("Số điểm đánh giá của bạn: ");
                }
                else
                {
                    break;
                }
            }
            // Gán comment rate user_id và item_id
            FB.Comment = Comment;
            FB.Rate    = Rate;
            FB.user    = user;
            FB.item    = itemBL.GetItemByID(MenuShop.itemid);

            if (FeedbackBL.CreateFeedBack(FB) == true)
            {
                Console.WriteLine("\nPhản hồi của bạn đã đăng tải thành công !");
                Console.WriteLine("Bấm phím bất kì để tiếp tục ");
                Console.ReadKey();
                ms.ShowItems(user);
            }
            else
            {
                Console.WriteLine("Mất kết nối dữ liệu !");
                Console.WriteLine("Bấm phím bất kì để quay về trang chủ");
                Console.ReadKey();
                m.MainMenu();
            }
        }