Example #1
0
        public IActionResult PostNewVote(NewVoteDto vote, [FromRoute] string orgId)
        {
            try
            {
                Vote newVote = null;

                if (vote.IdeaId != null)
                {
                    newVote = _coiCtrl.AddVoteToIdea(vote.Value, vote.UserId, vote.Email, vote.IdeaId.Value);
                }
                else if (vote.IdeationId != null)
                {
                    newVote = _coiCtrl.AddVoteToIdeation(vote.Value, vote.UserId, vote.Email, vote.IdeationId.Value);
                }
                else if (vote.CommentId != null)
                {
                    newVote = _coiCtrl.AddVoteToComment(vote.Value, vote.UserId, vote.Email, vote.CommentId.Value);
                }

                if (newVote != null)
                {
                    return(CreatedAtAction("GetVote", new { orgId, id = newVote.VoteId }, _mapper.Map <VoteDto>(newVote)));
                }

                return(BadRequest("No idea, ideation or comment specified."));
            }
            catch (ArgumentException e)
            {
                return(UnprocessableEntity(e.Message));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }