//private string _calendarResponseAsString;

        public iCalFormatResult(string contentType, object calendar)
           // : base(contentType)
        {
            _contentType = contentType;
            _calendarView = calendar as CalendarViewModel;
            if (_calendarView == null)
            {
                _eventIcs = calendar as EventIcs;
                if (_eventIcs == null)
                {
                    throw new InvalidOperationException("Cannot serialize type");
                }
            }

        }
 public CalendarViewModel CreateCalendarViewModel(string calendarId)
 {
     var calendar = Get(calendarId, VersionOptions.Published)
         .As<CalendarPart>();
     var ics = new CalendarViewModel
     {
         Title = calendar.Title,
         Summary = calendar.ShortDescription,
         CreatedDateTime = Convert.ToDateTime(calendar.CreateUtc),
         UpdatedDateTime = Convert.ToDateTime(calendar.ModifiedUtc),
         CategoriesCsv = string.Join(",", _categoryService
                         .GetEventCategoriesByCalendar(calendar.ContentItem)
                         .Select(y=>y.CategoryName)),
         Events = _eventService
             .GetEventsForCalendar(calendar, VersionOptions.Published)
             .Select(_eventService.GetEventIcs)
             .ToList(),
     };
     return ics;
 }