//[Authorize(Roles = "Admin, User")] public RedirectToRouteResult Submit() { if (!userProvider.GetUser(this).Identity.IsAuthenticated) { return(RedirectToAction("Register", "Account", new { returnUrl = Url.Action("Submit") })); } if (WeeklyVoted(userProvider.GetUser(this).Identity.GetUserId())) { return(RedirectToAction("List")); } var userId = userProvider.GetUser(this).Identity.GetUserId(); ApplicationUser user = usersRepository.Items.First(x => x.Id == userId); foreach (var characterId in cartProvider.GetCart(this).Votes) { var vote = new Vote { User = user, Week = Week }; votesRepository.Add(vote); votesRepository.SaveChanges(); var character = charactersRepository.Items.First(x => x.Id == characterId); var voteItem = new VoteItem { Position = 1, Vote = vote, Hero = character }; voteItemsRepository.Add(voteItem); } cartProvider.SetCart(this, new Cart(new HashSet <int>(), cartProvider.GetCart(this).Points)); return(RedirectToAction("List")); }
public RedirectResult SubmitVotes(string returnUrl) { var weekId = weekProvider.GetWeek(); var userId = userProvider.GetId(this); var vote = new Vote() { UserID = userId, WeekId = weekId }; if (voteRepository.Contains(weekId, userId)) { return(new RedirectResult(returnUrl)); } var cart = GetCart(); voteRepository.Add(vote, cart.CharactersIds); cartProvider.SetCart(this, new Cart()); return(new RedirectResult(returnUrl)); }