コード例 #1
0
        public ActionResult Unsubscribe(UnsubscribeModel model)
        {
            if (ModelState.IsValid)
            {
                bool unsubscribeSucceeded = false;
                try
                {
                    User currentUser = usersRepository.FindUser(model.UserKey);
                    if (CrumbsExtensions.HashResetParams(currentUser.UserName, currentUser.UserKey) == model.Reset)
                    {
                        currentUser.Subscriptions = 0;
                        usersRepository.InsertOrUpdateUser(currentUser);
                        usersRepository.Save();

                        unsubscribeSucceeded = true;
                    }
                }
                catch (Exception)
                {
                }

                if (unsubscribeSucceeded)
                {
                    return RedirectToAction("UnsubscribeSuccess");
                }
                else
                {
                    ModelState.AddModelError("", "Something is wrong.");
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
コード例 #2
0
        //
        // GET: /Account/Unsubscribe
        public ActionResult Unsubscribe(string username, string reset)
        {
            if ((reset != null) && (username != null))
            {
                IEnumerable<User> users = usersRepository.FindAllUsersByName(username);
                foreach (User currentUser in users)
                {
                    if (CrumbsExtensions.HashResetParams(currentUser.UserName, currentUser.UserKey) == reset)
                    {
                        UnsubscribeModel model = new UnsubscribeModel();
                        model.UserName = currentUser.UserName;
                        model.UserKey = currentUser.UserKey;
                        model.Reset = reset;

                        if (currentUser.Subscriptions == 0)
                        {
                            ViewBag.Unsubscribed = true;
                        }
                        ViewBag.PopularItems = (crumbsRepository as ICrumbsRepository).RatedCrumbs.Take(24);

                        return View("Unsubscribe", model);
                    }
                }
            }

            return View("NotFound");
        }