public virtual ResponseResource Vote(IPrincipal principal, VoteOnSuggestionsRequest request) { var suggestion = GetGuaranteedSuggestion(request.SuggestionId); var member = _dependencies.OrganisationService.GetGuaranteedMember(principal, suggestion.AuthorMember.OrganisationId); //if (member.Organisation.CountingInProgress) //{ // return new ResponseResource {Error = "Vote counting is in progress - please try again later",HasError = true}; //} var vote = suggestion.Votes.SingleOrDefault(v => v.VoterMemberId == member.Id); if (vote == null) { vote = new SuggestionVote(); vote.SuggestionId = request.SuggestionId; vote.Suggestion = suggestion; vote.VoterMemberId = member.Id; vote.VotingLeaderMemberId = null; vote.VoterMember = member; _dependencies.StorageService.SetOf <SuggestionVote>().Add(vote); } vote.MemberIsSupportingSuggestion = request.VotingInSupport; vote.LastUpdateDateTimeUtc = DateTime.UtcNow; VoteForFollowers(request.VotingInSupport, suggestion, member, member); _dependencies.StorageService.SaveChanges(); return(new ResponseResource()); }
public ResponseResource Post(VoteOnSuggestionsRequest request) { return(_service.Vote(User, request)); }
public HttpResponseMessage Post(VoteOnSuggestionsRequest request) { return(Request.CreateResponse(HttpStatusCode.OK, _service.Vote(User, request))); }