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()); }
public ResponseResource Post(RemoveVoteOnSuggestionsRequest request) { return(_service.RemoveVote(User, request)); }
public HttpResponseMessage Post(RemoveVoteOnSuggestionsRequest request) { return(Request.CreateResponse(HttpStatusCode.OK, _service.RemoveVote(User, request))); }