private OrderAdded GetNext(OrderRuleTypeEnum rule) { var queue = GetRuleBasedQueue(rule); var order = queue.GetNext(); var orderAdded = new OrderAdded { AddedAtDate = DateTime.UtcNow, CountryType = order.CountryType, FulFilled = order.Items.All(i => i.FulFilled), Id = order.Id, Items = order.Items, LastTryDate = DateTime.UtcNow, OrderOriginationDate = order.OrderDate }; return(orderAdded); }
private IQueue <PendingOrder> GetRuleBasedQueue(OrderRuleTypeEnum orderOrderRuleType) { return(Factories[orderOrderRuleType]); }
public OrderAdded Process(OrderRuleTypeEnum rule) { return(GetNext(rule)); }