public OrderItemVM(order_item oi, menu_item mi, side si) { id = oi.id; this.order_item = oi; this.menu_item = mi; order_item_status = (int)oi.order_item_status; this.side = si; }
/// <summary> /// Is responsible for handling any modifications to side items /// </summary> /// <param name="side">Edited side</param> /// <returns>Boolean indicating whether the modification took effect</returns> /// <exception cref="ArgumentNullException"></exception> /// <exception cref="InvalidOperationException"></exception> public Boolean Edit(side side) { side dbVersion = db.sides.Find(side.id); if (dbVersion.version == side.version) { ((IObjectContextAdapter)db).ObjectContext.Detach(dbVersion); db.Entry(side).State = EntityState.Modified; side.version = side.version + 1; db.SaveChanges(); return true; } return false; }
public void AddMenuItem(menu_item mi, side si, OrderStatusHelper.OrderItemStatusEnum orderItemStatus) { order_item oi = new order_item(); oi.menu_item_id = mi.id; if (si.id == -1) { oi.sides_id = null; } else { oi.sides_id = si.id; } oi.id = uniqueId--; oi.order_id = this.id; oi.order_item_status = (int)orderItemStatus; this.order_item.Add(oi); if (this.total == null) this.total = (decimal)0.0; this.total += mi.price; }
public void AddSide(side side) { sides.Add(side); }
public int SetActive(side side, bool isActive) { side dbVersion = db.sides.Find(side.id); int result = 0; if (dbVersion.version == side.version && side.is_active == dbVersion.is_active) { ((IObjectContextAdapter)db).ObjectContext.Detach(dbVersion); db.Entry(side).State = EntityState.Modified; side.is_active = isActive; side.version = side.version + 1; result = db.SaveChanges(); } return result; }
/// <summary> /// Write a side object to the database /// </summary> /// <param name="side"></param> /// <returns>true if successful, false otherwise.</returns> /// <exception cref="InvalidOperationException"></exception> public bool Create(side side) { db.sides.Add(side); return (db.SaveChanges() == 1); }
public ActionResult Edit(side side) { if (ModelState.IsValid) { try { if (om.Edit(side)) { return RedirectToAction("Index"); } else { ViewBag.Error = Global.VersioningError; } } catch (InvalidOperationException) { ViewBag.Error = Global.VersioningError; } } ViewBag.menu_category_id = new SelectList(db.menu_category, "id", "id", side.menu_category_id); return View(side); }
public int AddMenuItem(int id, int side_id) { user authUser = Util.User.UserUtil.getAuthenticatedUser(Request); if (authUser == null) return -1; order currentOrder = (order)Session["ORDER"]; if (currentOrder == null) { currentOrder = Util.Session.SessionUtil.getOpenOrder(authUser); if (currentOrder == null) { currentOrder = new order(); currentOrder.order_status = (int)OrderStatusHelper.OrderStatusEnum.OPEN; currentOrder.user_id = authUser.id; currentOrder.table_id = authUser.current_table_id; } else { if (currentOrder.order_status == (int)OrderStatusHelper.OrderStatusEnum.PLACED || currentOrder.order_status == (int)OrderStatusHelper.OrderStatusEnum.OPEN) { currentOrder.order_status = (int)OrderStatusHelper.OrderStatusEnum.EDITING; db.orders.Find(currentOrder.id).order_status = currentOrder.order_status; om.edit(currentOrder); } else { ViewBag.error = "Your order cannot be editied because it is already being processed"; return -1; } } Session["ORDER"] = currentOrder; } menu_item mi = db.menu_item.Find(id); if (mi == null) { return -1; // failure; } side si; if (side_id == -1) { si = new side(); si.id = side_id; } else { si = db.sides.Find(side_id); if (si == null) { return -1; } } const OrderStatusHelper.OrderItemStatusEnum status = OrderStatusHelper.OrderItemStatusEnum.PENDING; currentOrder.AddMenuItem(mi, si, status); Session["ORDER"] = currentOrder; return currentOrder.id; }
public ActionResult Create(side side) { if (ModelState.IsValid) { try { if (om.Create(side)) { return RedirectToAction("Index"); } } catch (Exception) { } } ViewBag.Error = Global.ServerError; ViewBag.menu_category_id = new SelectList(db.menu_category, "id", "id", side.menu_category_id); return View(side); }
public void MyTestInitialize() { //Add test data (order specific) db = new touch_for_foodEntities(); side1 = testDatabase.AddSide(menuCategory1); orderItem1 = testDatabase.AddOrderItem(order1, menuItem1); //set parameters for menuItem2 side2 = new side(); //side2.menu_category = menuCategory1; // This breaks CreateTest side2.menu_category_id = menuCategory1.id; side2.name = "TestingSide"; side2.is_active = false; side2.is_deleted = false; }
public void DeleteConfirmedTestItemActiveException() { // Arrange db = new touch_for_foodEntities(); SideController target = new SideController(); int expectedSides = db.sides.ToList<side>().Count(); side1 = db.sides.Find(side1.id); side1.is_active = true; db.Entry(side1).State = EntityState.Modified; db.SaveChanges(); // Act var actualResult = target.DeleteConfirmed(side1.id) as RedirectToRouteResult; // Assertions db = new touch_for_foodEntities(); var actualResultURI = actualResult.RouteValues["action"]; int actualSides = db.sides.ToList<side>().Count(); Assert.AreEqual(expectedSides, actualSides); Assert.IsFalse(db.sides.Find(side1.id).is_deleted); Assert.AreEqual("Index", actualResultURI); }
/// <summary> /// Removes a side item from the database. /// </summary> /// <param name="testSide">The side to be removed.</param> public void RemoveSide(side testSide) { db = new touch_for_foodEntities(); if (db.sides.Find(testSide.id) != null) { db.sides.Remove(db.sides.Find(testSide.id)); db.SaveChanges(); } db.Dispose(); }
/// <summary> /// Creates an entry of type side in the database. /// </summary> /// <param name="menuCategory">The menu category associated to the side</param> /// <returns>The created side entity.</returns> public side AddSide(menu_category menuCategory) { //Initialise db = new touch_for_foodEntities(); side testSide = new side(); //Set Attributes testSide.name = "UnitTest"; testSide.price = new decimal(2.99); testSide.version = 1; testSide.menu_category_id = menuCategory.id; testSide.is_active = false; testSide.is_deleted = false; //Save db.sides.Add(testSide); db.SaveChanges(); db.Dispose(); return testSide; }
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); side1 = testDatabase.AddSide(menuCategory1); }