Пример #1
0
        public void TestTriggerAdvanced()
        {
            // rows
            var schedule = new[] {
                new Schedule { StartDate = DateTime.Parse("6/1/2014"), Name = "Item 1", Triggers = TriggerCollectionEx.Parse("Monthly"), Span = NumberSpan.Parse("0 of 12") },
                new Schedule { StartDate = DateTime.Parse("6/1/2014"), Name = "Item 2", Triggers = TriggerCollectionEx.Parse("Monthly"), Span = NumberSpan.Parse("0 of 6") } ,
                new Schedule { StartDate = DateTime.Parse("6/1/2014"), Name = "Item 3", Triggers = TriggerCollectionEx.Parse("Daily"), Span = NumberSpan.Parse("0 of 6") } };

            // expand
            var r = schedule.SelectMany(x => x.Triggers.SelectDates(y => new
            {
                StartDate = x.StartDate.ToShortDateString(),
                Date = y.ToShortDateString(),
                Span = ++x.Span
            }).Take(20), (a, b) => new
            {
                a.StartDate,
                a.Name,
                b.Date,
                b.Span,
            }).ToList();
            // results
            var c = r.Count;
        }