public async Task <IActionResult> GetCalendars()
        {
            var response = await _gCalendarService.GetListOfCalendars();

            if (response.ErrorOccurred)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
Пример #2
0
        public async Task <ResponseDto <GetEventListDto> > GetListOfEvents(string calendarId)
        {
            var response = new ResponseDto <GetEventListDto>
            {
                Object = new GetEventListDto()
            };

            var service = await _googleCalendarService.GetCalendarService();

            if (service == null)
            {
                response.Errors.Add(ServiceErrors.SERVICE_ERROR);
                return(response);
            }
            var calendars = await _gCalendarService.GetListOfCalendars();

            if (calendars.ErrorOccurred)
            {
                response.Errors.Add(ServiceErrors.STH_WENT_WRONG_ERROR);
                return(response);
            }

            var exist = calendars.Object.CalendarList.Exists(cal => cal.Id == calendarId);

            if (!exist)
            {
                response.Errors.Add(ServiceErrors.CALENDAR_DOES_NOT_EXIST_ERROR);
                return(response);
            }

            string       pageToken = null;
            List <Event> events    = new List <Event>();

            do
            {
                var eventList = service.Events.List(calendarId);
                eventList.PageToken = pageToken;
                var result = await eventList.ExecuteAsync();

                foreach (var ev in result.Items)
                {
                    events.Add(ev);
                }
                pageToken = result.NextPageToken;
            } while (pageToken != null);

            response.Object.EventsList = events;

            return(response);
        }