Exemple #1
0
        public ResponseResource RemoveVote(IPrincipal principal, RemoveVoteOnSuggestionsRequest request)
        {
            var user = _dependencies.UserService.GetGuaranteedAuthenticatedUser(principal);
            var vote =
                user.MemberAuth0Users.SelectMany(m => m.Member.SuggestionVotes)
                .SingleOrDefault(x => x.Id == request.VoteId);

            if (vote != null)
            {
                var member = _dependencies.OrganisationService.GetGuaranteedMember(principal,
                                                                                   vote.Suggestion.AuthorMember.OrganisationId);
                var followerVotes =
                    member.SuggestionFollowerVotes.Where(v => v.SuggestionId == vote.SuggestionId).ToList();
                _dependencies.StorageService.SetOf <SuggestionVote>().Remove(vote);
                followerVotes.ForEach(v => _dependencies.StorageService.SetOf <SuggestionVote>().Remove(v));
                _dependencies.StorageService.SaveChanges();
            }
            else
            {
                return(new ResponseResource {
                    HasError = true, Error = "vote not found"
                });
            }
            return(new ResponseResource());
        }
Exemple #2
0
 public ResponseResource Post(RemoveVoteOnSuggestionsRequest request)
 {
     return(_service.RemoveVote(User, request));
 }
 public HttpResponseMessage Post(RemoveVoteOnSuggestionsRequest request)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, _service.RemoveVote(User, request)));
 }