public async Task <IActionResult> InsertCalendar([FromBody] AddCalendarBindingModel model)
        {
            var userId = User.Identity.Name;

            var response = await _gCalendarService.InsertCalendar(model, userId);

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

            return(Ok(response));
        }
Esempio n. 2
0
        public async Task <ResponseDto <BaseModelDto> > InsertCalendar(AddCalendarBindingModel model, string username)
        {
            var response = new ResponseDto <BaseModelDto>();
            var service  = await _googleCalendarService.GetCalendarService();

            if (service == null)
            {
                response.Errors.Add(ServiceErrors.SERVICE_ERROR);
                return(response);
            }

            var calendar = new Calendar
            {
                Summary     = model.Summary,
                Description = model.Description,
                TimeZone    = timezone
            };

            var createdCalendar = await service.Calendars.Insert(calendar).ExecuteAsync();

            var calendarId = createdCalendar.Id;

            CalendarListEntry calendarListEntry = new CalendarListEntry
            {
                Id = calendarId,
            };

            var insertRequest = service.CalendarList.Insert(calendarListEntry);

            insertRequest.ColorRgbFormat = true;
            insertRequest.Execute();

            var user = await _userManager.FindByNameAsync(username);

            var dbCalendar = new GCalendar
            {
                Id          = calendarListEntry.Id,
                Description = model.Description,
                Summary     = model.Summary,
                Events      = new List <GEvent>(),
                User        = user
            };
            await _calendarRepository.Insert(dbCalendar);

            return(response);
        }