Ejemplo n.º 1
0
        public PostResponseData CreateEvent(GoogleCalendarPostContentData contentData)
        {
            var client  = new RestClient(CalendarUrl);
            var request = new RestRequest($"/v3/calendars/{contentData.CalendarId}/events", Method.POST);

            request.AddHeader("Authorization", $"Bearer {contentData.AccessToken}");
            request.AddJsonBody(
                new
            {
                start       = new { dateTime = contentData.Start },
                end         = new { dateTime = contentData.End },
                summary     = contentData.Summary,
                description = contentData.Description,
                location    = contentData.Location,
                organizer   = contentData.Organizer
            });
            var response    = client.Execute(request);
            var queryString = JObject.Parse(response.Content);

            if (response.IsSuccessful)
            {
                // TODO Popular com as informações para salvar no banco
                // (string)JObject.Parse(response.Content)["id"]
                return(new PostResponseData());
            }

            throw new CouldNotConnectException(
                      $"Error while connecting to Google Api when creating new event. Google Calendar EndPoint: {AuthUrl}/v3/calendars/{contentData.CalendarId}/events.\n {response.Content}", response.StatusCode);
        }
Ejemplo n.º 2
0
 public ActionResult <PostResponseData> Post([FromBody] GoogleCalendarPostContentData content)
 {
     return(Calendar.CreateEvent(content));
 }