예제 #1
0
        public Order GenerateOrder()
        {
            // Randomly choose amount of lines
            int numberOfLines = Rand.Next(minAmountOfLines, maxAmountOfLines);
            // Choose amount of unique articles
            List <Article> chosenArticles = ArticleList.OrderBy(x => Rand.Next()).Take(numberOfLines).ToList();
            //List<Article> chosenArticles = ArticleList.Where(a => a.AreaCode == AreaCode.Area21 || a.AreaCode == AreaCode.Area25).OrderBy(x => Rand.Next()).Take(numberOfLines).ToList();
            // Generate lines based on chosen articles
            var generatedLines = chosenArticles.Select(GenerateLine).ToList();

            // Construct AreasVisited for areas.
            Order order = new Order(Rand.Next(minOrderNumberId, maxOrderNumberId), TimeKeeper.CurrentDateTime, generatedLines);

            order.Areas = ConstructAreasVisited(order);

            return(order);
        }