public EventHistoryWrapper Get(EventHistory eventHistory, bool canEdit, bool canNotify, BusinessObjects.Calendar cal, bool fullHistory = true)
        {
            var eventHistoryWrapper = new EventHistoryWrapper();

            eventHistoryWrapper.CalendarId = eventHistory.CalendarId;
            eventHistoryWrapper.EventUid   = eventHistory.EventUid;
            eventHistoryWrapper.EventId    = eventHistory.EventId;

            if (fullHistory)
            {
                eventHistoryWrapper.Ics = eventHistory.Ics;
            }
            else
            {
                var mergedCalendar = EventHistoryHelper.GetMerged(EventHistoryHelper.Get(eventHistory.CalendarId, eventHistory.EventId.ToString(), eventHistory.EventId, eventHistory.Ics));
                eventHistoryWrapper.MergedIcs = mergedCalendar == null ? string.Empty : DDayICalParser.SerializeCalendar(mergedCalendar);
            }

            eventHistoryWrapper.CanEdit   = canEdit;
            eventHistoryWrapper.CanNotify = canNotify;

            eventHistoryWrapper.CalendarName = cal.Name;

            eventHistoryWrapper.TimeZoneInfo = TimeZoneWrapperHelper.Get(cal.ViewSettings.Any() && cal.ViewSettings.First().TimeZone != null
                                                   ? cal.ViewSettings.First().TimeZone
                                                   : cal.TimeZone);

            return(eventHistoryWrapper);
        }
 public EventHistoryWrapperHelper(
     EventHistoryHelper eventHistoryHelper,
     DDayICalParser dDayICalParser,
     TimeZoneWrapperHelper timeZoneWrapperHelper)
 {
     EventHistoryHelper    = eventHistoryHelper;
     DDayICalParser        = dDayICalParser;
     TimeZoneWrapperHelper = timeZoneWrapperHelper;
 }