public async Task <IActionResult> FollowUpMeeting([FromQuery] string eventId, [FromQuery] string teamId) { var model = new FollowUpMeetingsViewModel(); var meetingEvent = await _calendarService.GetEvent(teamId, eventId); var channelId = meetingEvent.Extensions[0].AdditionalData["channelId"]?.ToString(); var meetingId = Convert.ToInt32(meetingEvent.Extensions[0].AdditionalData["meetingId"]); var bucketId = meetingEvent.Extensions[0].AdditionalData["bucketId"]; var meeting = await _meetingDBService.GetMeetingById(meetingId); var channelInfo = await _meetingService.CreateOrGetChannelInfo(channelId, teamId); model.MeetingTitle = meetingEvent.Subject; model.Attendees = meetingEvent.Attendees; model.Start = meetingEvent.Start.ToDateTimeOffset().ToUnixTimeMilliseconds().ToString(); model.End = meetingEvent.End.ToDateTimeOffset().ToUnixTimeMilliseconds().ToString(); model.Attachments = await _fileService.GetFiles(teamId, meeting.FolderId); model.TeamId = teamId; model.Agendas = meeting.Agendas?.Select(i => i.Title); model.BucketId = meeting.BucketId; model.PlannerId = channelInfo.PlanId; model.ChannelId = channelId; if (!string.IsNullOrEmpty(meeting.NoteId)) { var(meetingNotes, content) = await _notesService.GetMeetingNotes(teamId, meeting.NoteId); model.NoteContent = content; } return(View(model)); }