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); } }
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); } } }