public string GenerateMealOrder(MealOrder mealOrder) { if (mealOrder == null || (mealOrder.Breakfasts == null && mealOrder.Lunch == null && mealOrder.Dinner == null) || string.IsNullOrEmpty(mealOrder.BedNumber) || mealOrder.PatientAreaId < 1) { throw new Exception("订餐信息不全,订单生成失败"); } mealOrder.OrderAffectDay = DateTime.Now.AddDays(1).Date.ToString("yyy-MM-dd"); mealOrder.OrderOperatorId = _cache.Get <long>(SessionConstant.USER_ID); mealOrder.ReceiptNumber = DateTime.Now.ToFileTime().ToString().Substring(12, 6); var orderId = _GenerateOrder(mealOrder); foreach (var item in mealOrder.Breakfasts) { _GenerateMealOrder(item, orderId); } if (mealOrder.Lunch != null) { _GenerateMealOrder(mealOrder.Lunch, orderId); } if (mealOrder.Dinner != null) { _GenerateMealOrder(mealOrder.Dinner, orderId); } return(mealOrder.ReceiptNumber); }
private long _GenerateOrder(MealOrder mealOrder) { var sql = "INSERT INTO `order` VALUES(NULL,@bed_number,@patient_area_id,@order_operator_id,@device_type_id,now(),@payment_method_id,@order_affect_day,@receipt_number);SELECT LAST_INSERT_ID();"; var parameters = new Parameter[] { new Parameter("@bed_number", mealOrder.BedNumber), new Parameter("@patient_area_id", mealOrder.PatientAreaId), new Parameter("@order_operator_id", mealOrder.OrderOperatorId), new Parameter("@device_type_id", mealOrder.DeviceTypeId), new Parameter("@payment_method_id", mealOrder.PaymentMethodId), new Parameter("@order_affect_day", mealOrder.OrderAffectDay), new Parameter("@receipt_number", mealOrder.ReceiptNumber) }; return(DBHelper.ExecuteDataReader <long>(sql, parameters, (reader) => { long id = -1; if (reader.Read()) { id = reader.GetInt32("LAST_INSERT_ID()"); } return id; })); }
protected void DisplayReceipt() { //the stringbuilder is an object that //allows you to build complex strings //It is easier than concatinating StringBuilder sb = new StringBuilder(); //get the MealOrder class from the session //it has to be cast from type "object" MealOrder meal = (MealOrder)Session["Meal"]; //copy the lists from the object List <string> entrees = meal.Entrees; List <string> drinks = meal.Drinks; //loop through to get the values foreach (string entree in entrees) { sb.Append(entree); sb.Append("<br/>"); } foreach (string drink in drinks) { sb.Append(drink); sb.Append("<br/>"); } //get the total sb.Append(meal.CalculateTotal().ToString()); //display the string Label1.Text = sb.ToString(); }
public void FromFullKitchenAndFullFridgePlaceZeroOrders() { Fridge currentFridge = new Fridge(); currentFridge.AddIngredientToFridge("VeggieSausage", 5); currentFridge.AddIngredientToFridge("Cream", 2.5); currentFridge.AddIngredientToFridge("Tomato puree", 22); Kitchen currentKitchen = new Kitchen(currentFridge); Recipe newRecipe = new Recipe(); newRecipe.Name = "SausageStroganoffVeggie"; newRecipe.Available = true; newRecipe.IngredientsAndQuantity.Add(new KeyValuePair <string, double>("VeggieSausage", 1)); newRecipe.IngredientsAndQuantity.Add(new KeyValuePair <string, double>("Cream", 2.5)); newRecipe.IngredientsAndQuantity.Add(new KeyValuePair <string, double>("Tomato puree", 2)); currentKitchen.AddRecipe(newRecipe); Order currentOrder = new Order(currentKitchen); List <MealOrder> mealOrders = new List <MealOrder>(); MealOrder mealOrder = new MealOrder(); mealOrder.MealName = "SausageStroganoffVeggie"; mealOrder.NoOfMeals = 0; mealOrders.Add(mealOrder); List <OrderInfo> result = currentOrder.PlaceOrder(mealOrders); Assert.AreEqual(1, result.Count); Assert.AreEqual(0, result[0].NoOfMeals); Assert.AreEqual(false, result[0].OkFromKitchen); }
public async Task <IActionResult> Edit(int id, [Bind("Id,MealId,OrderId,MealCount")] MealOrder mealOrder) { if (id != mealOrder.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(mealOrder); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MealOrderExists(mealOrder.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["MealId"] = new SelectList(_context.Meal, "Id", "MealName", mealOrder.MealId); ViewData["OrderId"] = new SelectList(_context.Orders, "Id", "Id", mealOrder.OrderId); return(View(mealOrder)); }
public void GivenCustomerHasArrivedToRestaurant() { _scenarioOrder = new MealOrder { Status = Status.CustomerArrived, Version = RestaurantOrderWorkflowDefault.VersionKeyString }; }
public IRestaurantOrderWorkflow GetWorkflow(MealOrder order, IRules rules) { // Refactor away from "locator" pattern // http://docs.autofac.org/en/latest/best-practices/ return(_scope .ResolveNamed <IRestaurantOrderWorkflow>(order.Version, new[] { new NamedParameter(orderParamName, order.ToStateObject <Status>()), new NamedParameter(rulesParamName, rules) })); }
private Booking MapBookingExtToBooking(BookingExt bookingExt, List <int> productIds) { try { var contacts = AddContactsToBooking(bookingExt); if (contacts == null) { return(null); } var room = AddRoomToBooking(bookingExt); if (room == null) { return(null); } var bookingFinal = new Booking() { Title = bookingExt.Title, Description = bookingExt.Description, StartDate = bookingExt.StartDate, EndDate = bookingExt.EndDate, StartTime = bookingExt.StartTime, EndTime = bookingExt.EndTime, Host = "Jimmie Rindal", Contacts = contacts, Room = room }; if (bookingExt.MealOrderWanted) { var refreshments = AddRefreshmentsToMealOrder(productIds); var mealOrder = new MealOrder() { Booking = bookingFinal, NumberOfDiningGuests = bookingFinal.Contacts.Count(), DepartmentCharged = "Department", DepartmentCreditNumber = "000000", DishWishServedAt = DateTime.Now, Refreshments = refreshments, TotalPrice = refreshments.Sum(r => r.Product.Price), //TODO check Contact = db.Contacts.FirstOrDefault() //TODO get profile from session }; bookingFinal.MealOrder = mealOrder; } } catch (Exception) { throw; } return(null); }
public IActionResult Select(int id) { // Uses LINQ and a Lambda Expression Dish dish = menu.GetDishes().FirstOrDefault(d => d.ID == id); MealOrder meal = new MealOrder(); meal.Starter = dish; return(RedirectToAction("Index")); }
public async Task <IActionResult> Create([Bind("Id,MealId,OrderId,MealCount")] MealOrder mealOrder) { if (ModelState.IsValid) { _context.Add(mealOrder); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["MealId"] = new SelectList(_context.Meal, "Id", "MealName", mealOrder.MealId); ViewData["OrderId"] = new SelectList(_context.Orders, "Id", "Id", mealOrder.OrderId); return(View(mealOrder)); }
public async Task <IActionResult> AddMealToOrder([FromBody] AddMealOrderModel model) { var order = await _context.Orders.FirstOrDefaultAsync(o => o.Id == model.OrderId); if (order == null) { return(NotFound(new { status = "error", message = "Заказ не был найден" })); } if (GetUserId() != order.UserId) { return(BadRequest(new { staus = "error", message = "Вы можете добавлять блюда только в свои заказы" })); } foreach (var item in model.MealOrders) { if (MealIsNull(item.MealId)) { return(NotFound(new { status = "error", message = "Блюдо не было найдено в базе данных" })); } var mealOrder = _context.MealOrders.FirstOrDefault(mo => mo.OrderId == order.Id && mo.MealId == item.MealId); if (mealOrder == null) { var mo = new MealOrder { OrderId = order.Id, MealId = item.MealId, OrderedQuantity = item.AddQuantity, FinishedQuantity = 0, MealOrderStatus = MealOrderStatus.NotReady }; _context.MealOrders.Add(mo); } else { mealOrder.OrderedQuantity += item.AddQuantity; mealOrder.MealOrderStatus = MealOrderStatus.NotReady; } } order.DateTimeOrdered = DateTime.Now; order.OrderStatus = OrderStatus.Active; _context.Entry(order).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok(new { status = "success", message = "Блюда были добавлены в заказ" })); }
public static void CreateOrder(GameObject ui, int countative = 1, GameObject _meal = null, string adress = "ananin amina", float time = 50, float Distance = 200, Segmentation.CustomerSegmentation segmentasyon = Segmentation.CustomerSegmentation.families) { MealOrder mealOrder = new MealOrder() { meal = _meal, price = _meal.GetComponent <Meal>().price, adress = adress, totalTime = time, uiPrefab = ui, Count = countative, DistanceTime = Distance, CustomerSegmentation = segmentasyon }; orders.Add(mealOrder); mealOrder.Initialize(); Instantiate(orderAlarm, GameObject.Find("Canvas").transform); }
public void PlaceOrder(DayOfWeek DayOfTheWeek, string userId, ICollection <int> mealIds) { Order order = new Order(); order.DayOfWeek = DayOfTheWeek; order.UserId = userId; this.databaseCtx.Add(order); this.databaseCtx.SaveChanges(); int orderId = this.databaseCtx.Orders.Max(i => i.Id); foreach (var mealId in mealIds) { MealOrder mealOrder = new MealOrder(); mealOrder.MealId = mealId; mealOrder.OrderId = orderId; this.databaseCtx.Add(mealOrder); this.databaseCtx.SaveChanges(); } }
protected void DisplayReceipt() { StringBuilder sb = new StringBuilder(); MealOrder meal = (MealOrder)Session["Meal"]; List <string> entrees = meal.Entrees; List <string> drinks = meal.Drinks; foreach (string entree in entrees) { sb.Append(entree); sb.Append("<br/>"); } foreach (string drink in drinks) { sb.Append(drink); sb.Append("<br/>"); } sb.Append(meal.CalculateTotal().ToString()); Label1.Text = sb.ToString(); }
protected void Button1_Click(object sender, EventArgs e) { MealOrder meal = new MealOrder(); foreach (ListItem item in CBLSizes.Items) { if (item.Selected) { meal.AddSizes(item.Text); } }//end of entree foreach foreach (ListItem item in CBLToppings.Items) { if (item.Selected) { meal.AddToppings(item.Text); } }//end of drink foreach Session["Meal"] = meal; Response.Redirect("Receipt.aspx"); }//end of button
protected void Button1_Click(object sender, EventArgs e) { MealOrder meal = new MealOrder(); foreach (ListItem item in CBLEntree.Items) { if (item.Selected) { meal.AddEntree(item.Text); } }//end of foreach foreach (ListItem item in CBLDrinks.Items) { if (item.Selected) { meal.AddDrink(item.Text); } }//end of foreach Session["Meal"] = meal; Response.Redirect("Receipt.aspx"); }//end of button
public ActionResult COnfirmOrder() { var UserName = User.Identity.GetUserName(); ViewBag.Total = cart_Service.GetCartTotal(cart_Service.GetCartID()); ViewBag.TotalQTY = cart_Service.GetCartItems().FindAll(x => x.cart_id == cart_Service.GetCartID()).Sum(q => q.quantity); var confirm = db.FoodOrders.ToList(); var cart = db.Cart_Items.ToList(); MealOrder mealOrder = new MealOrder(); mealOrder.OrderNumber = mealOrder.GenVoucher(); mealOrder.Total = ViewBag.Total; mealOrder.UserOrder = UserName; mealOrder.Status = "Paid"; mealOrder.OrderDate = DateTime.Now.Date.ToLongDateString(); db.MealOrders.Add(mealOrder); db.SaveChanges(); FoodOrder foodOrder = new FoodOrder(); foreach (var item in confirm) { foreach (var i in cart) { if (UserName == item.UserEmail && item.cart_id == i.cart_id) { var statusUpdate = db.FoodOrders.Find(item.cart_item_id); statusUpdate.OrderStatus = "Checked Out"; statusUpdate.OrderId = mealOrder.OrderId; db.Entry(statusUpdate).State = EntityState.Modified; db.SaveChanges(); cart_Service.EmptyCart(); } } } return(RedirectToAction("OnceOff", new { tot = mealOrder.Total })); }
protected void Button1_Click(object sender, EventArgs e) { //declare an instance of the mealorder MealOrder meal = new MealOrder(); //add the checked meaks to the meal list in the class foreach (ListItem item in CBLEntree.Items) { if (item.Selected) { meal.AddEntree(item.Text); } }//end of foreach //add the drinks foreach (ListItem item in CBLDrinks.Items) { if (item.Selected) { meal.AddDrink(item.Text); } }//end of foreach Session["Meal"] = meal; Response.Redirect("Receipt.aspx"); }//end of the button
protected void DisplayReceipt() { StringBuilder sb = new StringBuilder(); MealOrder meal = (MealOrder)Session["Meal"]; List <string> sizes = meal.Sizes; List <string> toppings = meal.Toppings; sb.Append("<br/>Pies<br/>"); foreach (string size in sizes) { sb.Append(size); sb.Append("<br/>"); } sb.Append("<br/>Toppings<br/>"); foreach (string topping in toppings) { sb.Append(topping); sb.Append("<br/>"); } sb.Append("<br/>Total"); sb.Append("<br/>"); sb.Append(meal.Calculatetotal().ToString()); Label1.Text = sb.ToString(); }
public MealReturnControllerTest() { _mealOrderTest = new MealOrder(); }
public MealApplicationTests() { _mealOrderTest = new MealOrder(); }
public async Task AddMealOrder(AddMealOrderDto input) //add meal order { var mealOrder = MealOrder.Create(input.Quantity, input.MealId, input.OrderId); await _mealOrderRepo.AddAsync(mealOrder); }
public ActionResult GenerateMealOrder(MealOrder mealOrder) { var receiptNumber = _orderLogic.GenerateMealOrder(mealOrder); return(Json(new { ReceiptNumber = receiptNumber })); }
public void Remove(MealOrder mealOrder) { context.Remove(mealOrder); }
public void Add(MealOrder mealOrder) { context.MealOrder.Add(mealOrder); }