public Boolean edit(menu menu) { MenuIM im = new MenuIM(db); menu dbVersion = im.find(menu.id); if (dbVersion.version == menu.version) { //Activate / Deactivate the menu means changing the active feild to all menu categories inside it //if (dbVersion.is_active != menu.is_active) //{ MenuCategoryOM om = new MenuCategoryOM(db); IList<menu_category> menu_category_list = menu.menu_category.ToList(); for (int i = 0; i < menu_category_list.Count; i++) { menu_category mc = menu_category_list.ElementAt(i); mc.is_active = menu.is_active; om.edit(mc); } // } ((IObjectContextAdapter)db).ObjectContext.Detach(dbVersion); db.Entry(menu).State = EntityState.Modified; menu.version = menu.version + 1; db.SaveChanges(); return true; } return false; }
public static void MyClassInitialize(TestContext testContext) { testDatabase = new TestDatabaseHelper(); //Add test data (order specific) restaurant1 = testDatabase.AddRestaurant(); menu1 = testDatabase.AddMenu(restaurant1); }
public static void MyClassInitialize(TestContext testContext) { //Add test data (order specific) testDatabase = new TestDatabaseHelper(); restaurant1 = testDatabase.AddRestaurant(); menu1 = testDatabase.AddMenu(restaurant1); category1 = testDatabase.AddCategory(); item1 = testDatabase.AddItem(); }
public static void MyClassInitialize(TestContext testContext) { //Add test data (order specific) testDatabase = new TestDatabaseHelper(); restaurant1 = testDatabase.AddRestaurant(); table1 = testDatabase.AddTable(restaurant1); user1 = testDatabase.AddUser("*****@*****.**", table1, (int)SiteRoles.Customer); order1 = testDatabase.AddOrder(table1); item1 = testDatabase.AddItem(); category1 = testDatabase.AddCategory(); menu1 = testDatabase.AddMenu(restaurant1); menuCategory1 = testDatabase.AddMenuCategory(category1, menu1); menuItem1 = testDatabase.AddMenuItem(item1, menuCategory1); orderItem1 = testDatabase.AddOrderItem(order1, menuItem1); //Session db = new touch_for_foodEntities(); ReviewController target = new ReviewController(); Session session = new Session(db, target); session.simulateLogin(user1.username, user1.password); }
/** * Filters the categories and only returns those that are not already assigned to the menu * that is passed in. * */ public static IList<category> filterListByMenu(menu menu,touch_for_foodEntities db) { List<category> filteredList = new List<category>(); MenuCategoryIM im = new MenuCategoryIM(db); CategoryIM cim = new CategoryIM(db); int resto_id = menu.resto_id; bool reject = false; foreach (category cat in cim.find().ToList()) { reject = false; //First check that the category does belong to the restaurant //Find all usages of the category in question in the current restaurant List<menu_category> usages = db.menu_category.Where(mc => mc.category_id == cat.id && mc.menu.resto_id == resto_id).ToList(); //If it was never used by this restaurant, then the restaurant could not have created it // because create automatically adds the created item to the menu if (usages.Count == 0) { reject = true; } //Check if the category is being used buy the current menu foreach (menu_category menu_cat in im.find(false, menu.id)) { if (cat.id == menu_cat.category_id) { reject = true; break; } } if (!reject) { filteredList.Add(cat); } } return filteredList; }
public ActionResult Create(menu menu) { user authUser = Util.User.UserUtil.getAuthenticatedUser(Request); if (authUser.restaurant_user.Count() != 0) { menu.resto_id = (int)authUser.restaurant_user.First().restaurant_id; } if (ModelState.IsValid) { try { if (om.Create(menu)) { return RedirectToAction("Details", menu); } } catch (Exception) { } } ViewBag.Error = Global.ServerError; ViewBag.resto_id = new SelectList(db.restaurants, "id", "name", menu.resto_id); return View(menu); }
public void MyTestInitialize() { //Add test data (order specific) restaurant1 = testDatabase.AddRestaurant(); restaurant2 = new restaurant(); table1 = testDatabase.AddTable(restaurant1); user1 = testDatabase.AddUser("*****@*****.**", table1, (int)SiteRoles.Admin); restaurantUser1 = testDatabase.AddRestaurantUser(user1, restaurant1); menu1 = testDatabase.AddMenu(restaurant1); order1 = testDatabase.AddOrder(table1); review1 = testDatabase.AddReview(restaurant1, order1, user1); //Session db = new touch_for_foodEntities(); target = new RestaurantController(); Session session = new Session(db, target); session.simulateLogin(user1.username, user1.password); }
public ActionResult Edit(menu menu) { if (ModelState.IsValid) { try { if (om.edit(menu)) return RedirectToAction("Index"); else { ViewBag.Error =Global.VersioningError; } } catch (Exception) { ViewBag.Error = Global.ServerError; } } ViewBag.resto_id = new SelectList(db.restaurants, "id", "name", menu.resto_id); return View(menu); }
public static void MyClassInitialize(TestContext testContext) { testDatabase = new TestDatabaseHelper(); //Add test data (order specific) restaurant1 = testDatabase.AddRestaurant(); table1 = testDatabase.AddTable(restaurant1); order1 = testDatabase.AddOrder(table1); item1 = testDatabase.AddItem(); category1 = testDatabase.AddCategory(); menu1 = testDatabase.AddMenu(restaurant1); menuCategory1 = testDatabase.AddMenuCategory(category1, menu1); menuItem1 = testDatabase.AddMenuItem(item1, menuCategory1); }
/// <summary> /// Creates an entry of type menu category in the database. /// </summary> /// <param name="categoryEntity">The category the menu category is an extension of</param> /// <param name="menuEntity">The menu the category belongs to</param> /// <returns>The created menu category</returns> public menu_category AddMenuCategory(category categoryEntity, menu menuEntity) { //Initialise db = new touch_for_foodEntities(); menu_category testMenuCategory = new menu_category(); //Set Attributes testMenuCategory.category_id = categoryEntity.id; testMenuCategory.menu_id = menuEntity.id; testMenuCategory.is_active = false; //Save db.menu_category.Add(testMenuCategory); db.SaveChanges(); db.Dispose(); return testMenuCategory; }
/// <summary> /// Writes a menu object to the database /// </summary> /// <param name="menu">The menu object to write</param> /// <returns>True if successful, false otherwise</returns> public bool Create(menu menu) { db.menus.Add(menu); return (db.SaveChanges() == 1); }
/// <summary> /// Remove menu item from database. /// </summary> /// <param name="menuEntity">Menu item to be removed.</param> public void RemoveMenu(menu menuEntity) { db = new touch_for_foodEntities(); if (menuEntity != null) { db.menus.Remove(db.menus.Find(menuEntity.id)); db.SaveChanges(); } db.Dispose(); }
/// <summary> /// Creates an entry of type menu in the database. /// </summary> /// <param name="restaurantEntity">The restaurant the menu belongs to</param> /// <returns>The created menu entry.</returns> public menu AddMenu(restaurant restaurantEntity) { //Initialise db = new touch_for_foodEntities(); menu testMenu = new menu(); //Set Attributes testMenu.resto_id = restaurantEntity.id; testMenu.name = "UnitTest"; testMenu.is_active = false; testMenu.is_deleted = false; //Save db.menus.Add(testMenu); db.SaveChanges(); db.Dispose(); return testMenu; }
public void MyTestInitialize() { //Add test data (order specific) category1 = testDatabase.AddCategory(); restaurant1 = testDatabase.AddRestaurant(); menu1 = testDatabase.AddMenu(restaurant1); menuCategory1 = testDatabase.AddMenuCategory(category1, menu1); table1 = testDatabase.AddTable(restaurant1); order1 = testDatabase.AddOrder(table1); item1 = testDatabase.AddItem(category1); menuItem1 = testDatabase.AddMenuItem(item1, menuCategory1); orderItem1 = testDatabase.AddOrderItem(order1, menuItem1); }
public CategoryFilterVM(menu menu, IList<category> category) { m_category = category; m_menu = menu; }
public PartialViewResult FilterCategories(menu menu) { CategoryFilterVM catFilter = new CategoryFilterVM(menu, CategoryUtil.filterListByMenu(menu,db)); return PartialView("_CategoryTable", catFilter); }
public void CreateTest() { //Arrange db = new touch_for_foodEntities(); int numberOfMenusBefore = db.restaurants.Find(restaurant1.id).menus.ToList<menu>().Count(); //Menu object that will be added. menu menu2 = new menu(); menu2.resto_id = restaurant1.id; menu2.name = "UnitTest"; menu2.is_active = false; menu2.is_deleted = false; //Act var actual = (RedirectToRouteResult)target.Create(menu2); //Assert db = new touch_for_foodEntities(); int numberOfMenusAfter = db.restaurants.Find(restaurant1.id).menus.ToList<menu>().Count(); Assert.AreEqual((numberOfMenusBefore + 1), numberOfMenusAfter); }
public CategoryFilterVM() { m_category = new List<category>(); m_menu = new menu(); }
public void MyTestInitialize() { //Add test data (order specific) item1 = testDatabase.AddItem(category1); menu1 = testDatabase.AddMenu(restaurant1); menuCategory1 = testDatabase.AddMenuCategory(category1, menu1); //Session db = new touch_for_foodEntities(); target = new ItemController(db); Session session = new Session(db, target); session.simulateLogin(user1.username, user1.password); }
public static void MyClassInitialize(TestContext testContext) { testDatabase = new TestDatabaseHelper(); //Add test data (order specific) item1 = testDatabase.AddItem(); category1 = testDatabase.AddCategory(); restaurant1 = testDatabase.AddRestaurant(); menu1 = testDatabase.AddMenu(restaurant1); menuCategory1 = testDatabase.AddMenuCategory(category1, menu1); table1 = testDatabase.AddTable(restaurant1); order1 = testDatabase.AddOrder(table1); user1 = testDatabase.AddUser("*****@*****.**", table1, (int)SiteRoles.Admin); review1 = testDatabase.AddReview(restaurant1, order1, user1); }
public ViewResult PopularItemsByRating(menu menu) { UserIM uim = new UserIM(db); TableIM im = new TableIM(db); ReportsIM rim = new ReportsIM(db); MenuItemIM miIM = new MenuItemIM(db); user authUser = Util.User.UserUtil.getAuthenticatedUser(Request); if (authUser == null) { return View("LogOn", "User"); } user dbUser = uim.find(authUser.id); int t_id = (int)dbUser.current_table_id; restaurant r = db.tables.Find(t_id).restaurant; IEnumerable<MostPopularDishViewModel> mostPopular = rim.findMostPopularCustomer(r); List<KeyValuePair<TouchForFood.Models.menu_item, double>> list = new List<KeyValuePair<TouchForFood.Models.menu_item, double>>(); foreach(var dish in mostPopular){ menu_item mi = miIM.find(dish.menuItemId); list.Add(new KeyValuePair<menu_item,double>(mi,ItemUtil.getAverageRating(mi))); } list.Sort((firstPair, nextPair) => { return nextPair.Value.CompareTo(firstPair.Value); } ); ViewBag.Suggest = "Items are ranked according to rating."; return View("SuggestedByRating", list); }