public ActionResult Pics(PollViewModel model) { if (model.Poll != null) { bool providerFound = false; AuthenticationClientData provider = null; switch (model.Poll.ImageProvider) { case ImageProviderTypes.Flickr: providerFound = OAuthWebSecurity.TryGetOAuthClientData("flickr", out provider); break; case ImageProviderTypes.Imgur: break; case ImageProviderTypes.None: break; } if (providerFound && provider != null) { RouteValueDictionary param = new RouteValueDictionary() { {"id", model.Poll.PollNumber}, {"_provider_", provider.AuthenticationClient.ProviderName} }; Uri returnUrl = new Uri(Url.Action("Options", "Polls", param, "http", Url.RequestContext.HttpContext.Request.Url.Host)); provider.AuthenticationClient.RequestAuthentication(this.HttpContext, returnUrl); } else { return RedirectToAction("Options", new { id = model.Poll.PollNumber }); } } return View(model); }
public ActionResult Pics(string id) { PollViewModel model = new PollViewModel(); model.Poll = repository.GetPoll(id); return View(model); }
public ActionResult Index(ExtraData user) { PollViewModel model = new PollViewModel(); if (user != null) { model.Polls = repository.GetUserPolls(user.Id); } return View(model); }
public ActionResult Options(string id) { PollViewModel model = new PollViewModel(); if (Request.QueryString.Get("oauth_verifier") != string.Empty) { string providerName = Request.QueryString.Get("_provider_"); bool providerFound = false; AuthenticationClientData provider = null; providerFound = OAuthWebSecurity.TryGetOAuthClientData(providerName, out provider); //verify the oauth request var result = provider.AuthenticationClient.VerifyAuthentication(ControllerContext.HttpContext); if (!result.IsSuccessful) { //TODO: figure out where to take the user } } model.Poll = repository.GetPoll(id); return View(model); }
public ActionResult Create(PollViewModel model, ExtraData user) { if (ModelState.IsValid) { Poll poll = new Poll(); poll.CreatedBy = user.Id; poll.PollNumber = KeyGenerator.GetUniqueKey(); poll.CreatedDate = DateTime.Today; poll.HashTag = model.Poll.HashTag; poll.StartDate = model.Poll.StartDate; poll.EndDate = model.Poll.EndDate; poll.Description = model.Poll.Description; poll.IsActive = model.Poll.IsActive; repository.Save(poll); if (model.PollHasOptions) { return RedirectToAction("Pics", new { id = poll.PollNumber }); } else { return RedirectToAction("finish", new { id = poll.PollNumber }); } } return View(model); }