private static Event GetCalendarEvent(GoogleEventInfo info)
        {
            var result = new Event();

            result.Summary     = info.Title;
            result.Description = info.Description;
            result.Sequence    = 1;
            var eventDateStart = new EventDateTime();

            eventDateStart.DateTime = info.StartDate + info.StartTime;
            result.Start            = eventDateStart;
            var eventDateEnd = new EventDateTime();

            eventDateEnd.DateTime = info.EndDate + info.EndTime;
            result.End            = eventDateEnd;
            return(result);
        }
 public ActionResult AddEvent(GoogleEventInfo info)
 {
     if (string.IsNullOrWhiteSpace(GoogleOauthTokenService.OauthToken))
     {
         var redirectUri = GoogleCalendarSyncer.GetOauthTokenUri(this);
         return(Redirect(redirectUri));
     }
     else
     {
         var success = GoogleCalendarSyncer.AddToGoogleCalendar(this, info);
         if (!success)
         {
             return(RedirectToAction("_SyncToGoogleCalendarError"));
             //return Json("Token was revoked. Try again.");
         }
     }
     return(RedirectToAction("GetEvents"));
 }
        public static bool AddToGoogleCalendar(Controller controller, GoogleEventInfo info)
        {
            try
            {
                var authResult = GetAuthResult(controller);

                var service = InitializeService(authResult);

                var calendarId = GetMainCalendarId(service);

                var calendarEvent = GetCalendarEvent(info);

                SyncCalendarEventToCalendar(service, calendarEvent, calendarId);
                return(true);
            }
            catch (Exception ex)
            {
                GoogleOauthTokenService.OauthToken = null;
                return(false);
            }
        }