/// <summary> /// Place the order with data collected in the provided <see cref="Atomia.Store.Core.OrderContext"/>. /// </summary> /// <param name="orderContext">Context with cart, contact and other relevant data.</param> /// <returns>The results of placing the order</returns> public OrderResult PlaceOrder(OrderContext orderContext) { var publicOrderContext = new PublicOrderContext(orderContext); // Add some extra data that might be needed by order handlers. foreach (var cartItem in orderContext.Cart.CartItems) { var product = productProvider.GetProduct(cartItem.ArticleNumber); var renewalPeriodId = renewalPeriodProvider.GetRenewalPeriodId(cartItem); publicOrderContext.AddItemData(new ItemData(cartItem, product, renewalPeriodId)); } var paymentHandler = paymentDataHandlers.FirstOrDefault(h => h.Id == orderContext.PaymentData.Id); if (paymentHandler == null) { throw new InvalidOperationException(String.Format("Payment data handler is not available for {0}.", orderContext.PaymentData.Id)); } var createdOrder = orderCreator.CreateOrder(publicOrderContext, paymentHandler); var redirectUrl = urlProvider.SuccessUrl; if (paymentHandler.PaymentMethodType == PaymentMethodEnum.PayByCard && createdOrder.Total > Decimal.Zero) { redirectUrl = paymentTransactionCreator.CreatePaymentTransaction(publicOrderContext, createdOrder, paymentHandler); } return(new OrderResult { RedirectUrl = redirectUrl }); }
private void CreateOrder(Vector2 position) { var order = _orderCreator.CreateOrder(_foodSpawner.FoodSpawns); order.Connect("SpawnOrder", this, nameof(SpawnOrder)); order.Position = position; _orderContainer.AddChild(order); }
public void VerifyHospitalOneOrder() { HospitalState state = new HospitalState(); state.AddItem(new InventoryLevel("DOSE0001", "AcuDose", "Acetaminophen", 2, 20, 4, 6)); state.AddItem(new InventoryLevel("MEDCAR01", "MedCarousel", "Bismuth Subsalicylate", 4, 40, 10, 10)); OrderCreator creator = new OrderCreator(); HospitalOrder order = creator.CreateOrder(state); Assert.Contains(new HospitalOrderItem("DOSE0001", "Acetaminophen", 3), order.Items); Assert.Contains(new HospitalOrderItem("MEDCAR01", "Bismuth Subsalicylate", 4), order.Items); }
public static Ship[] CreateRandomShips(int shipsAmaunt, int indexStarsystem) { Ship[] shipsArr = new Ship[shipsAmaunt]; for (int i = 0; i < shipsAmaunt; i++) { Vector3 position = getRNDPosition(); Vector3 destination = getRNDPosition(); Ship ship = new Ship { id = Galaxy.GetNextId(), name = Rnd.Next(0, 100).ToString(), param = Data.shipsParamArr[0], state = EShipState.inSpace, location = new Location { indexStarSystem = indexStarsystem, dock = null } }; ship.order = OrderCreator.CreateOrder(AI.EOrders.JumpToSystem, ship); shipsArr[i] = ship; } return(shipsArr); }
public void CreateOrder(string dish, string client) { orderCreator.CreateOrder(GetDish(dish), GetClient(client)); }
public override EStateNode Tick(Ship ship) { ship.order = OrderCreator.CreateOrder(eOrder, ship); return(EStateNode.SUCCESS); }
private static void Main() { Console.OutputEncoding = Encoding.UTF8; #region Считывание Ширины Количества Имён и проверка var desired = new List <int>(150); using (var reader = new StreamReader("widthes.txt")) { string strNum; while ((strNum = reader.ReadLine()) != null) { desired.Add(Convert.ToInt32(strNum)); } } var names = new List <string>(desired.Count); using (var reader = new StreamReader("names.txt")) { string name; while ((name = reader.ReadLine()) != null) { names.Add(name); } } var counts = new List <decimal>(desired.Count); using (var reader = new StreamReader("counts.txt")) { string strNum; while ((strNum = reader.ReadLine()) != null) { counts.Add(Convert.ToDecimal(strNum)); } } if (counts.Count != desired.Count || desired.Count != names.Count) { throw new Exception("Не равное количество параметров"); } #endregion var commonInfoList = desired.Select((t, i) => new CommonInfo(names[i], t, counts[i])).ToList(); #region Агрегация материалов с одинаковым Width var elementsCount = commonInfoList.Select(x => x.Width).Distinct(); var resultList = new List <CommonInfo>(); foreach (var item in elementsCount) { var tmp = commonInfoList.Where(x => x.Width == item); resultList.Add(tmp.Aggregate((prev, next) => { prev.Name += ", " + next.Name; prev.Count += next.Count; return(prev); })); } #endregion OrderCreator orderCreator = new OrderCreator(); var result = orderCreator.CreateOrder(resultList); var exporter = new Exporter(@"result.xlxs"); exporter.WriteFile(result); //Console.ReadKey(true); }