public override async Task <ActionResult> IndexAsync(AuthorizationCodeResponseUrl authorizationCode, CancellationToken taskCancellationToken)
        {
            if (string.IsNullOrEmpty(authorizationCode.Code))
            {
                var errorResponse = new TokenErrorResponse(authorizationCode);

                return(OnTokenError(errorResponse));
            }

            var returnUrl = Request.Url.ToString();

            returnUrl = returnUrl.Substring(0, returnUrl.IndexOf("?"));

            await Flow.ExchangeCodeForTokenAsync(UserId, authorizationCode.Code, returnUrl,
                                                 taskCancellationToken);

            var success = GoogleCalendarSyncer.SyncToGoogleCalendar(this);

            if (!success)
            {
                return(Json("Token was revoked. Try again."));
            }

            return(Redirect(Url.Content("~/")));
        }
        public ActionResult GetEvents()
        {
            var events = GoogleCalendarSyncer.GetEvents(this);

            //return Json(events, JsonRequestBehavior.AllowGet);
            return(View(events));
        }
        public JsonResult GetNextEvent()
        {
            var events    = GoogleCalendarSyncer.GetEvents(this);
            var nextEvent = events.Where(x => x.Start.DateTime.HasValue)
                            .Select(x => new { start = x.Start.DateTimeRaw, title = x.Summary })
                            .OrderBy(x => x.start).FirstOrDefault();

            return(Json(nextEvent, JsonRequestBehavior.AllowGet));
        }
 public ActionResult SyncToGoogleCalendar()
 {
     if (string.IsNullOrWhiteSpace(GoogleOauthTokenService.OauthToken))
     {
         var redirectUri = GoogleCalendarSyncer.GetOauthTokenUri(this);
         return(Redirect(redirectUri));
     }
     else
     {
         var success = GoogleCalendarSyncer.SyncToGoogleCalendar(this);
         if (!success)
         {
             return(Json("Token was revoked. Try again."));
         }
     }
     return(Redirect("~/"));
 }
 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"));
 }
Ejemplo n.º 6
0
        public ActionResult SyncToGoogleCalendar()
        {
            GoogleOauthTokenService.OauthToken = "";
            if (string.IsNullOrWhiteSpace(GoogleOauthTokenService.OauthToken))
            {
                var redirectUri = GoogleCalendarSyncer.GetOauthTokenUri(this);
                return(Redirect(redirectUri));
            }

            /*else
             * {
             *  var success = GoogleCalendarSyncer.SyncToGoogleCalendar(this);
             *  if (!success)
             *  {
             *      return Json("Token was revoked. Try again.",JsonRequestBehavior.AllowGet);
             *  }
             * }*/
            return(new RedirectResult("~/Home/Login"));
        }