コード例 #1
0
        public async Task <List <Models.VoterTalley> > GetVoterTallies()
        {
            var voterTallies = JsonConvert.DeserializeObject <List <Models.VoterTalley> >((_cacheOperation.Get(cacheKey) ?? "").ToString()) ?? new List <Models.VoterTalley>();

            if (voterTallies.Count == 0)
            {
                var dbVoterTallies = await voterTallyDB.GetVoterTally();

                if (dbVoterTallies.Count > 0)
                {
                    var selfRegisteredVoters = await selfRegistration.GetVoterRegistrations();

                    var candidates = await voteCandidate.GetCandidates();

                    voterTallies = new List <Models.VoterTalley>();
                    foreach (var tempDbTally in dbVoterTallies)
                    {
                        var tempVoterTally = new Models.VoterTalley()
                        {
                            Id                   = tempDbTally.Id,
                            IsDeleted            = tempDbTally.IsDeleted,
                            Createdon            = tempDbTally.Createdon,
                            VoteCandidate        = candidates.Where(x => x.Id == tempDbTally.VoteCandidateId).FirstOrDefault(),
                            VoteSelfRegistration = selfRegisteredVoters.Where(x => x.Id == tempDbTally.VoteSelfRegistrationId).FirstOrDefault()
                        };
                        voterTallies.Add(tempVoterTally);
                    }
                    _cacheOperation.Save(JsonConvert.SerializeObject(voterTallies), cacheKey, 10, Services.Cache.Models.TimeUnit.Minutes);
                }
            }
            return(voterTallies);
        }
コード例 #2
0
 public async Task <IActionResult> InsertVoterTalley([FromBody] Models.VoterTalley voter)
 {
     try
     {
         return(Json(await voterTally.InsertVoterTally(voter)));
     }
     catch (Exception e)
     {
         return(StatusCode(500, e));
     }
 }
コード例 #3
0
        public async Task <Models.VoterTalley> InsertVoterTally(Models.VoterTalley voterTalley)
        {
            Exceptions.TestForNull(voterTalley, nameof(voterTalley));

            var dbVoterTally = new Models.Database.VoterTally()
            {
                IsDeleted              = voterTalley.IsDeleted,
                Createdon              = DateTime.Now,
                VoteCandidateId        = voterTalley.VoteCandidate.Id,
                VoteSelfRegistrationId = voterTalley.VoteSelfRegistration.Id
            };

            dbVoterTally = await voterTallyDB.InsertTally(dbVoterTally);

            _cacheOperation.Delete(cacheKey);
            voterTalley.Id = dbVoterTally.Id;
            return(voterTalley);
        }