public void Update(OpinionVote opinionVote)
        {
            Boolean check = false;

            try
            {
                using (var context = new dezbateriEntities())
                {
                    var opinionVoteUpdated = context.OpinionVotes.FirstOrDefault(opinionVoteObj => opinionVoteObj.Id == opinionVote.Id);
                    if (opinionVoteUpdated == null)
                    {
                        check = true;
                    }
                    opinionVoteUpdated.Vote_pro = opinionVote.Vote_pro;

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw new Exception("815", ex);
            }
            finally
            {
                if (check)
                {
                    throw new Exception("813");
                }
            }
        }
 public OpinionVote Add(OpinionVote opinionVote)
 {
     try
     {
         using (var context = new dezbateriEntities())
         {
             OpinionVote op = context.OpinionVotes.Add(opinionVote);
             context.SaveChanges();
             return(op);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("810", ex);
     }
 }
        public OpinionVote GetVoteOfUserOnOpinion(int opinionId, string user_email)
        {
            try
            {
                using (var context = new dezbateriEntities())
                {
                    var         query     = context.OpinionVotes.Where(vote => vote.Opinion_id == opinionId);
                    OpinionVote voteFound = query.FirstOrDefault(vote => vote.User_email == user_email);

                    if (voteFound == null)
                    {
                        throw new VoteException("333");
                    }
                    return(voteFound);
                }
            }
            catch (Exception ex)
            {
                throw new VoteException(ex.Message);
            }
        }
Exemplo n.º 4
0
        internal void CastVote(String OpinionId, String User_email, String Side)
        {
            OpinionVote vote = new OpinionVote();

            vote.Opinion_id = int.Parse(OpinionId);
            vote.User_email = User_email;
            if (Side == "pro")
            {
                vote.Vote_pro = true;
            }
            else
            {
                vote.Vote_pro = false;
            }

            try
            {
                OpinionVote opinionVote = _voteOpinionRepository.GetVoteOfUserOnOpinion(int.Parse(OpinionId), User_email);
                if (opinionVote.Vote_pro == vote.Vote_pro)
                {
                    _voteOpinionRepository.Delete(opinionVote.Id);
                }
                else
                {
                    opinionVote.Vote_pro = vote.Vote_pro;
                    _voteOpinionRepository.Update(opinionVote);
                }
            }
            catch (VoteException vex)
            {
                if (vex.Message == "333")
                {
                    _voteOpinionRepository.Add(vote);
                }
            }
        }