コード例 #1
0
        public async Task <IActionResult> Put(MenuItemCategory menuItemCategory)
        {
            _context.Entry(menuItemCategory).State = EntityState.Modified;
            await _context.SaveChangesAsync();

            return(NoContent());
        }
コード例 #2
0
        public async Task <IActionResult> Post(MenuItemCategory menuItemCategory)
        {
            _context.Add(menuItemCategory);
            await _context.SaveChangesAsync();

            return(Ok(menuItemCategory.Id));
        }
コード例 #3
0
 public MoqMenuItem(int id, string name, string description, MenuItemCategory category, Money price)
 {
     Id          = id;
     Name        = name;
     Description = description;
     Category    = category;
     Price       = price;
 }
コード例 #4
0
        private void InitializeMenu()
        {
            MenuItems = new List<MenuItem>();

            _allCategoryItem = new MenuItemCategory {Name = "All", Description = "All"};
            Categories = new List<MenuItemCategory> {_allCategoryItem};

            foreach (var category in _orderDataModel.GetAllCategories())
                Categories.Add(category);

            SelectedCategory = _allCategoryItem;
        }
コード例 #5
0
        public void AddNewCategoryTest()
        {
            ManagerLogInTest();

            category1 = managerDataAccess.AddMenuItemCategory(managerContext1.Id, categoryName1, categoryDescription1);

            Assert.IsNotNull(category1);
            Assert.AreNotEqual(category1.Id, 0);
            Assert.AreEqual(category1.Name, categoryName1);
            Assert.AreEqual(category1.Description, categoryDescription1);

            ManagerLogOutTest();
        }
コード例 #6
0
        public MenuItemCategory AddCategoryItem(string categoryName, string categoryDescription)
        {
            MenuItemCategory addingCategory = null;

            try
            {
                addingCategory = _managerDataAccess.AddMenuItemCategory(categoryName, categoryDescription);
            }
            catch
            {
                throw new Exception("Exception from DB");
            }
            return(addingCategory);
        }
コード例 #7
0
        public void List_show_menu_item_list_with_less_number_than_page_size()
        {
            //Arrange
            var testCategory = new MenuItemCategory()
            {
                Description = "MenuITemCategoryDescription1",
                Name        = "MenuItemCategoryName1",
                Id          = 1
            };

            var menuItemsCount = MenuController.PageSize / 2;

            _menuItemList = new List <MenuItem>();
            for (var i = 0; i < menuItemsCount; i++)
            {
                _menuItemList.Add(new MenuItem()
                {
                    Category    = testCategory,
                    Description = "MenuItemDescription" + (i + 1),
                    Id          = i + 1,
                    Name        = "MenuItemName" + (i + 1),
                    Price       = new Money()
                    {
                        Amount = 10 * (i + 1), Currency = "PLN"
                    }
                });
            }

            InitilizeBaseDataAccessWithList(_menuItemList);
            _controller = GetMenuControllerInstance();

            //Act
            var result = _controller.List(null);
            var model  = (MenuListViewModel)result.Model;

            //Assert
            Assert.IsNotNull(model);
            Assert.AreEqual(null, model.CurrentCategory);
            Assert.AreEqual(1, model.PagingInfo.CurrentPage);
            Assert.AreEqual(menuItemsCount, model.PagingInfo.TotalItems);
            Assert.IsNotNull(model.MenuItems);
            Assert.AreEqual(_menuItemList.Count, model.MenuItems.Count());
            foreach (var menuItem in model.MenuItems)
            {
                Assert.IsTrue(_menuItemList.Contains(menuItem));
            }
        }
コード例 #8
0
        public bool EditMenuItem(MenuItem menuItem, string newName, double newPrice, MenuItemCategory newCategory, string newMenuItemDescription)
        {
            bool result;

            var oldName        = menuItem.Name;
            var oldPrice       = menuItem.Price;
            var oldCategory    = menuItem.Category;
            var oldDescription = menuItem.Description;

            menuItem.Name  = newName;
            menuItem.Price = new Money()
            {
                Amount = (float)newPrice, Currency = ApplicationResources.DefaultCurrency
            };
            menuItem.Category    = newCategory;
            menuItem.Description = newMenuItemDescription;

            try
            {
                result = _managerDataAccess.EditMenuItem(menuItem);
            }
            catch
            {
                menuItem.Name        = oldName;
                menuItem.Price       = oldPrice;
                menuItem.Category    = oldCategory;
                menuItem.Description = oldDescription;

                throw new Exception("Exception from DB");
            }

            if (!result)
            {
                menuItem.Name        = oldName;
                menuItem.Price       = oldPrice;
                menuItem.Category    = oldCategory;
                menuItem.Description = oldDescription;
            }
            else
            {
                menuItem.Category = newCategory;
            }

            return(result);
        }
コード例 #9
0
        private void InitializeMenu()
        {
            MenuItems = new List <MenuItem>();

            _allCategoryItem = new MenuItemCategory {
                Name = "All", Description = "All"
            };
            Categories = new List <MenuItemCategory> {
                _allCategoryItem
            };

            foreach (var category in _orderDataModel.GetAllCategories())
            {
                Categories.Add(category);
            }

            SelectedCategory = _allCategoryItem;
        }
コード例 #10
0
        public void AddCategoryItem_FailedAddinToDataBase()
        {
            //Arrange ManagerDataAccess
            MenuItemCategory category = null;

            var mock = new Mock <IManagerDataAccess>();

            mock.Setup(m => m.AddMenuItemCategory(It.IsAny <string>(), It.IsAny <string>())).Returns(category);

            //Arrange Bar Data Model
            var BarDataModel = new BarDataModel(mock.Object);

            //Act
            var result = BarDataModel.AddCategoryItem("Żarcie", "Różne");

            //Assert
            Assert.IsNull(result);
        }
コード例 #11
0
        private void CheckCurrentPageCurrentCategory(MenuItemCategory testCategory, int menuItemsCount, int currentPageItemsCount, int currentPageNumber)
        {
            //Act
            var resultCategory = _controller.List(testCategory.Name, currentPageNumber);
            var modelCategory  = (MenuListViewModel)resultCategory.Model;

            //Assert
            Assert.IsNotNull(modelCategory);
            Assert.AreEqual(testCategory.Name, modelCategory.CurrentCategory);
            Assert.AreEqual(currentPageNumber, modelCategory.PagingInfo.CurrentPage);
            Assert.AreEqual(menuItemsCount, modelCategory.PagingInfo.TotalItems);
            Assert.IsNotNull(modelCategory.MenuItems);
            Assert.AreEqual(currentPageItemsCount, modelCategory.MenuItems.Count());
            foreach (var menuItem in modelCategory.MenuItems)
            {
                Assert.IsTrue(_menuItemList.Contains(menuItem));
            }
        }
コード例 #12
0
        public MenuItem AddMenuItem(string menuItemName, MenuItemCategory category, double price, string menuItemDescription)
        {
            MenuItem addingMenuItem;
            try
            {
                addingMenuItem = _managerDataAccess.AddMenuItem( menuItemName, menuItemDescription, category.Id, new Money() { Amount = (float)price, Currency = ApplicationResources.DefaultCurrency });
            }
            catch
            {
                throw new Exception("Exception from DB");
            }

            //if (addingMenuItem != null)
            //{
            //    addingMenuItem.Category = category;
            //}

            return addingMenuItem;
        }
コード例 #13
0
        public void ShowCurrentCategory(MenuItemCategory category)
        {
            MenuItems.Clear();

            if (category == AllItemsFlag)
            {
                foreach (var menuItem in AllMenuItems)
                {
                    MenuItems.Add(menuItem);
                }
            }

            foreach (var menuItem in AllMenuItems)
            {
                if (menuItem.Category.Id == category.Id)
                {
                    MenuItems.Add(menuItem);
                }
            }
        }
コード例 #14
0
        public bool EditMenuItem(MenuItem menuItem, string newName, double newPrice, MenuItemCategory newCategory, string newMenuItemDescription)
        {
            bool result;

            var oldName = menuItem.Name;
            var oldPrice = menuItem.Price;
            var oldCategory = menuItem.Category;
            var oldDescription = menuItem.Description;

            menuItem.Name = newName;
            menuItem.Price = new Money() { Amount = (float)newPrice, Currency = ApplicationResources.DefaultCurrency };
            menuItem.Category = newCategory;
            menuItem.Description = newMenuItemDescription;

            try
            {
                result = _managerDataAccess.EditMenuItem( menuItem);
            }
            catch
            {
                menuItem.Name = oldName;
                menuItem.Price = oldPrice;
                menuItem.Category = oldCategory;
                menuItem.Description = oldDescription;

                throw new Exception("Exception from DB");
            }

            if (!result)
            {
                menuItem.Name = oldName;
                menuItem.Price = oldPrice;
                menuItem.Category = oldCategory;
                menuItem.Description = oldDescription;
            }
            else
                menuItem.Category = newCategory;

            return result;
        }
コード例 #15
0
        private void InitializeData()
        {
            Categories = new ObservableCollection <MenuItemCategory>(_menuDataModel.GetAllCategories());
            foreach (var category in Categories)
            {
                AvailableCategories.Add(category);
            }

            AllItemsFlag = new MenuItemCategory {
                Name = "All", Description = "All"
            };
            Categories.Add(AllItemsFlag);

            SelectedCategory = AllItemsFlag;

            AllMenuItems = new ObservableCollection <MenuItem>(_menuDataModel.GetAllMenuItems());

            foreach (var menuItem in AllMenuItems)
            {
                MenuItems.Add(menuItem);
            }
        }
コード例 #16
0
        public MenuItem AddMenuItem(string menuItemName, MenuItemCategory category, double price, string menuItemDescription)
        {
            MenuItem addingMenuItem;

            try
            {
                addingMenuItem = _managerDataAccess.AddMenuItem(menuItemName, menuItemDescription, category.Id, new Money()
                {
                    Amount = (float)price, Currency = ApplicationResources.DefaultCurrency
                });
            }
            catch
            {
                throw new Exception("Exception from DB");
            }

            //if (addingMenuItem != null)
            //{
            //    addingMenuItem.Category = category;
            //}

            return(addingMenuItem);
        }
コード例 #17
0
 public bool EditMenuItemCategory(int managerId, MenuItemCategory menuItemCategoryToEdit)
 {
     return(EditMenuItemCategoryWeb(managerId, menuItemCategoryToEdit));
 }
コード例 #18
0
 public void CopyData(MenuItemCategory menuItemCategoryTransferObject)
 {
     this.Name        = menuItemCategoryTransferObject.Name;
     this.Description = menuItemCategoryTransferObject.Description;
 }
コード例 #19
0
        public void RefreshItem(MenuItem menuItem)
        {
            _menuItem = menuItem;

            MenuItemName = menuItem.Name;
            Price = menuItem.Price.Amount.ToString();
            SelectedCategory = Categories.First(c => c.Id == menuItem.Category.Id);
            MenuItemDescription = menuItem.Description;
        }
コード例 #20
0
        public void TestCleanup()
        {
            if (order1 != null)
            {
                dataWipe.WipeOrder(order1.Id);
            }

            if (managerContext1 != null)
            {
                dataWipe.WipeUser(managerContext1.Id);
            }

            if (clientContext1 != null)
            {
                dataWipe.WipeUser(clientContext1.Id);
            }

            if (waiterContext1 != null)
            {
                dataWipe.WipeUser(waiterContext1.Id);
            }

            if (waiterContext2 != null)
            {
                dataWipe.WipeUser(waiterContext2.Id);
            }

            if (menuItem1 != null)
            {
                dataWipe.WipeMenuItem(menuItem1.Id);
            }

            if (menuItem2 != null)
            {
                dataWipe.WipeMenuItem(menuItem2.Id);
            }

            if (menuItem3 != null)
            {
                dataWipe.WipeMenuItem(menuItem3.Id);
            }

            if (category1 != null)
            {
                dataWipe.WipeMenuItemCategory(category1.Id);
            }

            if (table1 != null)
            {
                dataWipe.WipeTable(table1.Id);
            }

            order1          = null;
            managerContext1 = null;
            waiterContext1  = null;
            waiterContext2  = null;
            clientContext1  = null;
            category1       = null;
            menuItem1       = null;
            menuItem2       = null;
            menuItem3       = null;
            table1          = null;
        }
コード例 #21
0
        private static void DatabaseDataFill(IDataWipe dataWipe, IManagerDataAccess managerDataAccess)
        {
            try
            {
                string catName1        = "Napoje wysokoprocentowe";
                string catDescription1 = "Kiedy piwo po prostu nie wystarcza.";
                Console.Write("=> Adding MenuItemCategory Name = {0}, Description = {1}...", catName1, catDescription1);
                MenuItemCategory cat1 = managerDataAccess.AddMenuItemCategory(catName1, catDescription1);
                Console.WriteLine("Done.");

                string catName2        = "Napoje niskoprocentowe";
                string catDescription2 = "Każda okazja jest dobra.";
                Console.Write("=> Adding MenuItemCategory Name = {0}, Description = {1}...", catName2, catDescription2);
                MenuItemCategory cat2 = managerDataAccess.AddMenuItemCategory(catName2, catDescription2);
                Console.WriteLine("Done.");

                string catName3        = "Napoje bezalkoholowe";
                string catDescription3 = "Przegrałeś zakład albo musisz prowadzić.";
                Console.Write("=> Adding MenuItemCategory Name = {0}, Description = {1}...", catName3, catDescription3);
                MenuItemCategory cat3 = managerDataAccess.AddMenuItemCategory(catName3, catDescription3);
                Console.WriteLine("Done.");

                string menuItemName1        = "DeLuxe 55%";
                string menuItemDescription1 = "Wykwintny destylat ziem wschodnich.";
                Money  menuItemPrice1       = new Money()
                {
                    Amount = 25f, Currency = "PLN"
                };
                Console.Write("=> Adding MenuItem Name = {0}, Description = {1}, Category = {2}, Price = {3} {4}...", menuItemName1, menuItemDescription1, catName1, menuItemPrice1.Amount, menuItemPrice1.Currency);
                MenuItem menuItem1 = managerDataAccess.AddMenuItem(menuItemName1, menuItemDescription1, cat1.Id, menuItemPrice1);
                Console.WriteLine("Done.");

                string menuItemName2        = "Ciociosan";
                string menuItemDescription2 = "Ni to piwo, ni to wino...";
                Money  menuItemPrice2       = new Money()
                {
                    Amount = 8f, Currency = "PLN"
                };
                Console.Write("=> Adding MenuItem Name = {0}, Description = {1}, Category = {2}, Price = {3} {4}...", menuItemName2, menuItemDescription2, catName2, menuItemPrice2.Amount, menuItemPrice2.Currency);
                MenuItem menuItem2 = managerDataAccess.AddMenuItem(menuItemName2, menuItemDescription2, cat2.Id, menuItemPrice2);
                Console.WriteLine("Done.");

                string menuItemName3        = "Napój o smaku pomarańczowopodobnym";
                string menuItemDescription3 = "Szczerze, nie polecamy ...";
                Money  menuItemPrice3       = new Money()
                {
                    Amount = 2f, Currency = "PLN"
                };
                Console.Write("=> Adding MenuItem Name = {0}, Description = {1}, Category = {2}, Price = {3} {4}...", menuItemName3, menuItemDescription3, catName3, menuItemPrice3.Amount, menuItemPrice3.Currency);
                MenuItem menuItem3 = managerDataAccess.AddMenuItem(menuItemName3, menuItemDescription3, cat3.Id, menuItemPrice3);
                Console.WriteLine("Done.");

                int    tableNumber1      = 1;
                string tableDescription1 = "Ten ładny od razu przy wyjściu";
                Console.Write("=> Adding Table Number {0}, Description = {1}...", tableNumber1, tableDescription1);
                Table table1 = managerDataAccess.AddTable(tableNumber1, tableDescription1);
                Console.WriteLine("Done.");

                int    tableNumber2      = 2;
                string tableDescription2 = "Ten mniej ładny stojący na środku pomieszczenia";
                Console.Write("=> Adding Table Number {0}, Description = {1}...", tableNumber2, tableDescription2);
                Table table2 = managerDataAccess.AddTable(tableNumber2, tableDescription2);
                Console.WriteLine("Done.");

                int    tableNumber3      = 3;
                string tableDescription3 = "Ta ledwo trzymająca się kupy sterta desek stojąca przy toaletach.";
                Console.Write("=> Adding Table Number {0}, Description = {1}...", tableNumber3, tableDescription3);
                Table table3 = managerDataAccess.AddTable(tableNumber3, tableDescription3);
                Console.WriteLine("Done.");

                string waiter1FirstName = "Iron";
                string waiter1LastName  = "Man";
                string waiter1Login     = "******";
                string waiter1Password  = "******";
                Console.Write("=> Adding Waiter First name = {0}, Last name = {1}, Login = {2}, Password = {3}...", waiter1FirstName, waiter1LastName, waiter1Login, waiter1Password);
                WaiterContext waiter1 = managerDataAccess.AddWaiter(waiter1FirstName, waiter1LastName, waiter1Login, waiter1Password);
                Console.WriteLine("Done.");

                string waiter2FirstName = "Captain";
                string waiter2LastName  = "America";
                string waiter2Login     = "******";
                string waiter2Password  = "******";
                Console.Write("=> Adding Waiter First name = {0}, Last name = {1}, Login = {2}, Password = {3}...", waiter2FirstName, waiter2LastName, waiter2Login, waiter2Password);
                WaiterContext waiter2 = managerDataAccess.AddWaiter(waiter2FirstName, waiter2LastName, waiter2Login, waiter2Password);
                Console.WriteLine("Done.");

                string waiter3FirstName = "Jan";
                string waiter3LastName  = "Zagłoba";
                string waiter3Login     = "******";
                string waiter3Password  = "******";
                Console.Write("=> Adding Waiter First name = {0}, Last name = {1}, Login = {2}, Password = {3}...", waiter3FirstName, waiter3LastName, waiter3Login, waiter3Password);
                WaiterContext waiter3 = managerDataAccess.AddWaiter(waiter3FirstName, waiter3LastName, waiter3Login, waiter3Password);
                Console.WriteLine("Done.");
            }
            catch (Exception e)
            {
                Console.Write(" *** An error Occured. Wiping database...");
                Console.WriteLine(e.Message);
                Console.WriteLine(e.InnerException != null ? e.InnerException.Message : String.Empty);
                WipeAllDatabaseData(dataWipe, managerDataAccess);
                Console.WriteLine("Done.");
            }
        }
コード例 #22
0
 public MoqMenuItem(int id, string name, string description, MenuItemCategory category, Money price)
 {
     Id = id;
     Name = name;
     Description = description;
     Category = category;
     Price = price;
 }
コード例 #23
0
        public void Clear()
        {
            MenuItemName = "";
            MenuItemDescription = "";
            Price = "";

            SelectedCategory = null;

            if (null != PropertyChanged)
            {
                PropertyChanged(this, new PropertyChangedEventArgs("MenuItemName"));
                PropertyChanged(this, new PropertyChangedEventArgs("MenuItemDescription"));
                PropertyChanged(this, new PropertyChangedEventArgs("PriceString"));
                PropertyChanged(this, new PropertyChangedEventArgs("SelectedCategory"));
            }
        }
コード例 #24
0
 public void AddCategoryToViewModel(MenuItemCategory addingCategory)
 {
     Categories.Add(addingCategory);
     AvailableCategories.Add(addingCategory);
 }
コード例 #25
0
        public void List_show_menu_items_from_current_category()
        {
            //Arrange
            var testCategory1 = new MenuItemCategory()
            {
                Description = "MenuITemCategoryDescription1",
                Name        = "MenuItemCategoryName1",
                Id          = 1
            };

            var testCategory2 = new MenuItemCategory()
            {
                Description = "MenuITemCategoryDescription2",
                Name        = "MenuItemCategoryName2",
                Id          = 2
            };

            _menuItemList = new List <MenuItem>();

            var menuItemsFirstCategoryCount = MenuController.PageSize + 1;

            for (var i = 0; i < menuItemsFirstCategoryCount; i++)
            {
                _menuItemList.Add(new MenuItem()
                {
                    Category    = testCategory1,
                    Description = "MenuItemDescription" + (i + 1),
                    Id          = i + 1,
                    Name        = "MenuItemName" + (i + 1),
                    Price       = new Money()
                    {
                        Amount = 10 * (i + 1), Currency = "PLN"
                    }
                });
            }
            var firstPageCount  = MenuController.PageSize;
            var secondPageCount = 1;

            var menuItemsSecondCategoryCount = MenuController.PageSize + 2;

            for (var i = 0; i < menuItemsSecondCategoryCount; i++)
            {
                _menuItemList.Add(new MenuItem()
                {
                    Category    = testCategory2,
                    Description = "MenuItemDescription" + (menuItemsFirstCategoryCount + i + 1),
                    Id          = menuItemsFirstCategoryCount + i + 1,
                    Name        = "MenuItemName" + (menuItemsFirstCategoryCount + i + 1),
                    Price       = new Money()
                    {
                        Amount = 10 * (i + 1), Currency = "PLN"
                    }
                });
            }

            InitilizeBaseDataAccessWithList(_menuItemList);
            _controller = GetMenuControllerInstance();

            var secondCategoryFirstPageCount  = MenuController.PageSize;
            var secondCategorySecondPageCount = 2;

            //Act && Assert
            CheckCurrentPageCurrentCategory(testCategory1, menuItemsFirstCategoryCount, firstPageCount, 1);
            CheckCurrentPageCurrentCategory(testCategory1, menuItemsFirstCategoryCount, secondPageCount, 2);
            CheckCurrentPageCurrentCategory(testCategory2, menuItemsSecondCategoryCount, secondCategoryFirstPageCount, 1);
            CheckCurrentPageCurrentCategory(testCategory2, menuItemsSecondCategoryCount, secondCategorySecondPageCount, 2);
        }