public EditOrder(EditOrderViewModel edit) { List <Order> order = db.Orders.Where(m => m.TableNo == edit.EditTableId).ToList(); Mappings map = new Mappings(); //Delete Order if (edit.OrderDeletion == true) { ManageRestaurant manage = new ManageRestaurant(); foreach (Order index in order) { db.Orders.Remove(index); db.SaveChanges(); } manage.TableStatus((int)edit.EditTableId, false); } //Update Order else { for (int index = 0; index < edit.EditedQuantity.Count(); index++) { order[index].Quantity = edit.EditedQuantity[index]; db.Entry(order[index]).State = EntityState.Modified; db.SaveChanges(); } } }
/// <summary> /// OrderData storing adds order into database checks for duplicate orders and combine them into single order and also change the status of the table. /// </summary> public OrderDataStoring(List <OrderViewModel> orderData) { Mappings map = new Mappings(); int count = orderData.Count; //For Loop to combine Duplicate orders for (int index = 0; index < count - 1; index++) { //loop to check for duplicate values. for (int innerIndex = index + 1; innerIndex < count; innerIndex++) { if (orderData[index].OrderId == orderData[innerIndex].OrderId) { orderData[index].Quantity = orderData[index].Quantity + orderData[innerIndex].Quantity; count--; orderData.RemoveAt(innerIndex); } } } //store the order in database foreach (OrderViewModel index in orderData) { selectedTable = index.TableNo; orderModel.TableNo = index.TableNo; orderModel.OrderId = index.OrderId; orderModel.Quantity = index.Quantity; orderModel.OrderTime = index.OrderTime; db.Orders.Add(orderModel); db.SaveChanges(); } //To toggle the status of table ManageRestaurant manage = new ManageRestaurant(); bool check = manage.TableStatus(selectedTable, true); }
/// <summary> ///Bill Information such as Customer Name, Mob No, Bill Id, amount Paid etc is getting stored on database and Clearing Order Data from Database ///and Changing the table status to available /// </summary> /// <param name="bill"></param> public BillStoring(CustomerBillStoringViewModel bill) { Mappings map = new Mappings(); map.BillStoring(bill.Bill); map.CustomerStoring(bill.Customer); int tableNo = (bill.Bill.TableNo); List <Order> orderList = db.Orders.Where(a => a.TableNo == tableNo).ToList(); foreach (Order index in orderList) { db.Orders.Remove(index); db.SaveChanges(); } ManageRestaurant manage = new ManageRestaurant(); bool check = manage.TableStatus(bill.Bill.TableNo, false); }