public async Task <IHttpActionResult> AllFoodServed(int order_id) { //add to order if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var results = from foodordered in db.food_ordered where (order_id == foodordered.order_id) select new MenuBindingModels.Foodserved { fdId = foodordered.food_ordered_id, served = foodordered.served }; var OrderedFoodList = await results.ToListAsync(); foreach (var i in OrderedFoodList) { if (i.served == false) { FoodOrdered food = db.food_ordered.Find(i.fdId); food.served = true; db.SaveChanges(); } } Orders ordercomplete = db.Orders.Find(order_id); ordercomplete.completed = true; db.SaveChanges(); return(Ok("Order completed")); }
public async Task <IHttpActionResult> PostAddOneExtraFoodOrder(FoodOrdered food) { //add to order if (!ModelState.IsValid) { return(BadRequest(ModelState)); } food.newly_added = true; db.food_ordered.Add(food); db.SaveChanges(); var order_id = food.order_id; Orders or = db.Orders.Find(order_id); or.recently_changed = true; db.SaveChanges(); //get current food and prices var results = from o in db.Orders join fo in db.food_ordered on o.order_id equals fo.order_id join op in db.outlet_product on fo.outlet_product_id equals op.outlet_product_id join mp in db.merchant_product on op.merchant_product_id equals mp.merchant_product_id join m in db.Merchants on mp.merchant_id equals m.merchant_id join outlet in db.Outlets on op.outlet_id equals outlet.outlet_id where o.order_id == order_id select new MenuBindingModels.CalculateBill { order_id = o.order_id, order_bill = o.total_bill, outlet_sc = outlet.servicecharge, outlet_gst = outlet.gst, mp_price = mp.price, food_quantity = fo.quantity } into t1 group t1 by t1.order_id into g select g.ToList(); var OrderedFoodList = await results.ToListAsync(); var foodList = OrderedFoodList.First(); decimal foodsum = 0; //calculate bill foreach (var fooditem in foodList) { foodsum += fooditem.mp_price * fooditem.food_quantity; } foodsum += foodsum * foodList.First().outlet_sc / 100; foodsum += foodsum * foodList.First().outlet_gst / 100; //get order Orders order = db.Orders.Find(order_id); //save bill order.total_bill = Math.Round(foodsum, 2); await db.SaveChangesAsync(); return(Ok()); }
public string Order(IEnumerable <FoodItems> fdList) { OrdersContext o1 = new OrdersContext(); FoodOrdered f1 = new FoodOrdered(); List <FoodOrdered> FLIst = new List <FoodOrdered>(); o1.PlaceOrder(f1); return("Order Placed"); }
public void Handle(FoodOrdered e) { AddItems(e.Id, e.Items.Select(drink => new TabItem { MenuNumber = drink.MenuNumber, Description = drink.Description, Price = drink.Price }), t => t.InPreparation); }
public void Handle(FoodOrdered @event) { var tab = _database.Set <Tab>().GetById(@event.TabId); var foodInPreparation = @event.Items.Select(item => new TabItem { MenuNumber = item.MenuNumber, Description = item.Description, Price = item.Price }); tab.InPreparation.AddRange(foodInPreparation); }
private IList <FoodOrdered> ConvertToFoodOrderedModel(string value) { var rows = value.Split(','); List <FoodOrdered> menuList = new List <FoodOrdered>(); foreach (var val in rows) { FoodOrdered menu = new FoodOrdered(); var arr = val.Split('_'); menu.id = arr[0]; menu.Item = arr[1]; menuList.Add(menu); } return(menuList); }
public void Handle(FoodOrdered @event) { var todoListByTab = _database.Set <TodoList>().FirstOrDefault(@group => @group.TabId == @event.TabId); var todoItems = @event.Items.Select(item => (TodoItem)item); if (todoListByTab != null) { todoListByTab.Items.AddRange(todoItems); return; } _database.Set <TodoList>() .Add(new TodoList { Id = Guid.NewGuid(), TabId = @event.TabId, Items = todoItems.ToList() }); }
public async Task <IHttpActionResult> FoodServed(MenuBindingModels.FoodServed fo) { //add to order if (!ModelState.IsValid) { return(BadRequest(ModelState)); } FoodOrdered getfood = db.food_ordered.Find(fo.food_ordered_id); getfood.served = true; db.SaveChanges(); var results = from foodordered in db.food_ordered where (fo.order_id == foodordered.order_id) select new MenuBindingModels.Foodserved { served = foodordered.served }; var OrderedFoodList = await results.ToListAsync(); var checker = false; foreach (var i in OrderedFoodList) { if (i.served == false) { checker = true; } } if (checker == false) { var ordercomplete = db.Orders.Find(fo.order_id); ordercomplete.completed = true; db.SaveChanges(); } return(Ok(fo)); }
public async Task <IHttpActionResult> PostCancelOrder(int orderId) { var results = from foodordered in db.food_ordered where (orderId == foodordered.order_id) select new { foodId = foodordered.food_ordered_id }; var OrderedFoodList = await results.ToListAsync(); foreach (var i in OrderedFoodList) { FoodOrdered food = db.food_ordered.Find(i.foodId); if (food != null) { //remove food in order db.food_ordered.Remove(food); db.SaveChanges(); } } //remove order Orders getorder = db.Orders.Find(orderId); if (getorder != null) { db.Orders.Remove(getorder); await db.SaveChangesAsync(); return(Ok("Removed")); } else { return(Ok("Orders not found")); } }
private void Ordered(FoodOrdered ordered) { new ScheduledFoodDelivery(Rng.Int(10, 21), ordered.Food); }
public void Apply(FoodOrdered e) { outstandingFood.AddRange(e.Items); }
public async Task <IHttpActionResult> PostRemoveOrderFood(int foodOrderedID) { //add to order if (!ModelState.IsValid) { return(BadRequest(ModelState)); } FoodOrdered getfood = db.food_ordered.Find(foodOrderedID); if (getfood != null) { var orderid = getfood.order_id; db.food_ordered.Remove(getfood); //recalculate order price db.SaveChanges(); var checklast = from fo in db.food_ordered join o in db.Orders on fo.order_id equals o.order_id where o.order_id == orderid select new { fo_order = fo.food_ordered_id }; var foodl = checklast.ToArray(); Orders order = db.Orders.Find(orderid); if (foodl.Length == 0) { db.Orders.Remove(order); } else { var results = from o in db.Orders join fo in db.food_ordered on o.order_id equals fo.order_id join op in db.outlet_product on fo.outlet_product_id equals op.outlet_product_id join mp in db.merchant_product on op.merchant_product_id equals mp.merchant_product_id join m in db.Merchants on mp.merchant_id equals m.merchant_id join outlet in db.Outlets on op.outlet_id equals outlet.outlet_id where o.order_id == orderid select new MenuBindingModels.CalculateBill { order_id = o.order_id, order_bill = o.total_bill, outlet_sc = outlet.servicecharge, outlet_gst = outlet.gst, mp_price = mp.price, food_quantity = fo.quantity } into t1 group t1 by t1.order_id into g select g.ToList(); var OrderedFoodList = await results.ToListAsync(); var foodList = OrderedFoodList.First(); decimal foodsum = 0; foreach (var food in foodList) { foodsum += food.mp_price * food.food_quantity; } foodsum += foodsum * foodList.First().outlet_sc / 100; foodsum += foodsum * foodList.First().outlet_gst / 100; order.total_bill = foodsum; } await db.SaveChangesAsync(); return(Ok()); } else { return(Ok("404 food not found")); } }
public async Task <IHttpActionResult> GetNewlyAddedFoodOrder(int outlet_id) { var results = from o in db.Orders join p in db.Promocodes on o.promocode_id equals p.promocodes_id into joined from p in joined.DefaultIfEmpty() join fo in db.food_ordered on o.order_id equals fo.order_id join op in db.outlet_product on fo.outlet_product_id equals op.outlet_product_id join outlet in db.Outlets on op.outlet_id equals outlet.outlet_id join mp in db.merchant_product on op.merchant_product_id equals mp.merchant_product_id join m in db.Merchants on mp.merchant_id equals m.merchant_id where outlet.outlet_id == outlet_id where o.recently_changed == true where fo.newly_added == true select new MenuBindingModels.OpenCloseOrder { name = mp.name, merchant_product_id = mp.merchant_product_id, product_image = mp.product_image, dish_completed = fo.served, price = mp.price, merchant_id = mp.merchant_id, quantity = fo.quantity, order_id = o.order_id, order_bill = o.total_bill, order_time = o.order_time, table_id = o.table_id, order_status = o.completed, food_order_id = fo.food_ordered_id, order_comment = o.comments, food_comments = fo.comments, merchant_name = m.biz_name, discount = p.discount, promocode_name = p.promocode_name, promo_start_date = p.start_date, promo_expire_date = p.expire_date, gst = outlet.gst, svscharge = outlet.servicecharge } into t1 group t1 by t1.order_id into g select g.ToList(); var OrderedFoodList = await results.ToListAsync(); if (results == null) { return(NotFound()); } // change order updated & recently add boolean to false //change json to array //var ofa = OrderedFoodList.ToArray(); int order_idd = OrderedFoodList[0][0].order_id; Orders ord = db.Orders.Find(order_idd); ord.recently_changed = false; var dishes = from dis in db.food_ordered where dis.order_id == order_idd select new MenuBindingModels.NewlyAdded { dish_id = dis.food_ordered_id, newly_added = dis.newly_added }; var dishCList = dishes.ToArray(); await db.SaveChangesAsync(); for (int yt = 0; yt < dishCList.Length; yt++) { if (dishCList[yt].newly_added == true) { int food_ord_id = dishCList[yt].dish_id; FoodOrdered fds = db.food_ordered.Find(food_ord_id); fds.newly_added = false; db.SaveChanges(); } } return(Ok(OrderedFoodList)); }
private void When(FoodOrdered @event) { _outstandingFood.AddRange(@event.Items); }
public void Apply(FoodOrdered @event) { _foodAwaitingServing.AddRange(@event.Items); }