Beispiel #1
0
        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);
        }
Beispiel #2
0
        public ActionResult Pics(string id)
        {
            PollViewModel model = new PollViewModel();

            model.Poll = repository.GetPoll(id);

            return View(model);
        }
Beispiel #3
0
        public ActionResult Index(ExtraData user)
        {
            PollViewModel model = new PollViewModel();

            if (user != null)
            {
                model.Polls = repository.GetUserPolls(user.Id);
            }

            return View(model);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }