MySqlVoteData.cs 935 B

1234567891011121314151617181920212223242526272829303132333435
  1. using Microsoft.Extensions.Logging;
  2. using Worker.Entities;
  3. namespace Worker.Data
  4. {
  5. public class MySqlVoteData : IVoteData
  6. {
  7. private readonly VoteContext _context;
  8. private readonly ILogger _logger;
  9. public MySqlVoteData(VoteContext context, ILogger<MySqlVoteData> logger)
  10. {
  11. _context = context;
  12. _logger = logger;
  13. }
  14. public void Set(string voterId, string vote)
  15. {
  16. var currentVote = _context.Votes.Find(voterId);
  17. if (currentVote == null)
  18. {
  19. _context.Votes.Add(new Vote
  20. {
  21. VoterId = voterId,
  22. VoteOption = vote
  23. });
  24. }
  25. else if (currentVote.VoteOption != vote)
  26. {
  27. currentVote.VoteOption = vote;
  28. }
  29. _context.SaveChanges();
  30. }
  31. }
  32. }