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)); }
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); }