C # создать дочерние события из родительского события - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть список событий (например, Список), которые имеют дату начала и окончания, некоторые события могут быть еженедельными (IsWeekly). Мне нужно создать список еженедельных событий из одного события. Э.Г.

myEvent начинается 19.04.2011 и заканчивается 05.05.2011 (это единственное событие в моей базе данных)

Мне нужен вывод, как:

myEvent 19/04/2011

myEvent 26/04/2011

myEvent 03/05/2011

myEvent 10.05.2011

Указанные выше 4 события должны быть добавлены в мой список, а исходное родительское событие удалено.

Ответы [ 4 ]

2 голосов
/ 19 апреля 2011
var current = startDate;
do {
  list.Add(new MyEvent("My Event", current));
  current = current.AddDays(7);
} while (current < endDate);
0 голосов
/ 19 апреля 2011
List<DateTime> GetEvents(DateTime start, DateTime end)
{
    List<DateTime> events = new List<DateTime>();

    DateTime e = start;
    while(e <= end)
    {
         e = e.AddDays(7);
         events.Add(e);
    }

    return events;
}
0 голосов
/ 19 апреля 2011

Создайте таблицу поиска, которая имеет два столбца, которые являются ключами к событиям, и имеют макет ParentEvent | ChildEvent, поэтому, если у вашего «родителя» 3 дочерних элемента, его ключ указан в списке 3 раза, привязанный к различным дочерним ключам.

0 голосов
/ 19 апреля 2011

Я не уверен, что правильно понял ваш вопрос, но я думаю, что вам нужно определить тип вашего делегата, а затем определить событие:

delegate void YourDelegate(DateTime d);
event YourDelegate YourEvent = null;

, а затем вызвать его при необходимости

if (YourEvent != null) YourEvent(DateTime.Now);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...