public OrderServiceImpl(OrderMaker orderMaker, OrderRepository orderRepository, IHostingEnvironment hostingEnvironment, OrderDetailService orderDetailService) { _orderMaker = orderMaker; _hostingEnvironment = hostingEnvironment; _orderRepository = orderRepository; _orderDetailService = orderDetailService; }
public void TestOrderData() { string jsonString = File.ReadAllText("Data/TestData.json"); var options = new JsonSerializerOptions(); options.Converters.Add(new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)); var menuItems = JsonSerializer.Deserialize <Item[]>(jsonString, options); var count = new Dictionary <Item, int>( menuItems.Select(x => new KeyValuePair <Item, int>(x, 0))); Kitchen testKitchen = new Kitchen(); double lambda = 10000; OrderMaker testOrderer = new OrderMaker(menuItems, lambda); testOrderer.OrderPlacedEvent += (sender, args) => { Assert.IsTrue(Array.Exists(menuItems, x => x == args.Order.Item)); count[args.Order.Item] += 1; }; testOrderer.Start(); int wait = 1000; Task.Delay(wait).Wait(); double total = count.Values.ToArray().Sum(); foreach (Item item in menuItems) { Assert.IsTrue(count[item] / total < 0.35, "Percent wrong: " + count[item] / total); } }
public ViewResult AddOrder(OrderMaker model, int ProductID = 0) { if (model.Menu == null) { model.Menu = productRepository.Entities; } model.IdToChange = ProductID; return(View(model)); }
/* * public RedirectToRouteResult AddPosition(OrderMaker model, int ProductID) { * * model.AddPosition(ProductID); * * return RedirectToAction("AddOrder"); * } * * public RedirectToRouteResult RemovePosition(OrderMaker model, int ProductID) { * * model.RemovePosition(ProductID); * return RedirectToAction("AddOrder"); * }*/ public PartialViewResult UpdatePositionList(OrderMaker model, int ProductID) { if (ProductID < 0) { model.RemovePosition(-ProductID); } else if (ProductID > 0) { model.AddPosition(ProductID); } return(PartialView(model)); }
public IActionResult Index(CompleteOrderViewModel model) { var oh = HttpContext.Session.Get <OrderHandler>("OrderHandler"); //Make order OrderMaker om = new OrderMaker(oh); om.MakeOrder(); //Subtract Inventory OrderInventoryHandler oih = new OrderInventoryHandler(oh); oih.SubtractInventory(); return(RedirectToAction("Index", "ReviewOrder")); }
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { OrderMaker model = null; if (controllerContext.HttpContext.Session != null) { model = (OrderMaker)controllerContext.HttpContext.Session[sessionKey]; } if (model == null) { model = new OrderMaker(); if (controllerContext.HttpContext.Session != null) { controllerContext.HttpContext.Session[sessionKey] = model; } } return(model); }
public void TestExp() { Random Rng = new Random(); int iterations = 1000000, count = 0; double lambda = 3.250, nintieth = .7084, sum = 0; for (int i = 0; i < iterations; i++) { double k = OrderMaker.ExpCdfInv(Rng.NextDouble(), lambda); if (k > nintieth) { count += 1; } sum += k; } Assert.IsTrue(count > 99000 && count < 101000, string.Format("Ninetieth percentile test failed: {0} ", count)); double average = sum / iterations; Assert.IsTrue(average > 0.257 && average < .357, "failed average test: " + average); }
public ActionResult SaveOrder(OrderMaker model) { if (model.Positions.Any()) { Order newOrder = new Order() { ClientID = clientRepository.Entities.Where(x => x.Email == ControllerContext.HttpContext.User.Identity.Name).FirstOrDefault().ID, WaiterID = 1, OrderValue = model.CalculateTotalCost(), OrderDateTime = DateTime.Now }; orderRepository.SaveEntity(newOrder); int newid; newid = orderRepository.Entities.LastOrDefault().OrderNr; foreach (var x in model.Positions) { x.OrderNr = newid; positionRepository.SaveEntity(x); } model.PositionNr = 1; model.Positions.Clear(); return(RedirectToAction("List")); } else { ModelState.AddModelError("", "Zamówienie nie może być puste"); return(View("AddOrder", model)); } }