Пример #1
0
        public async Task <Boolean> GetStatus()
        {
            var result       = false;
            var currentState = _cacheOperation.Get(cacheKey);

            if (currentState == null)
            {
                result = false;
                _cacheOperation.Save(result, cacheKey, 10, Services.Cache.Models.TimeUnit.Hours);
            }
            else
            {
                result = Convert.ToBoolean(currentState);
            }
            return(result);
        }
Пример #2
0
        public async Task <List <Models.Database.VoteCandidate> > GetCandidates()
        {
            var cacheKey      = "VoteCandidates";
            var voteCandidate = JsonConvert.DeserializeObject <List <Models.Database.VoteCandidate> >((_cacheOperation.Get(cacheKey) ?? "").ToString()) ?? new List <Models.Database.VoteCandidate>();

            if (voteCandidate.Count == 0)
            {
                voteCandidate = await voteCandidateDB.GetCandidates();

                _cacheOperation.Save(JsonConvert.SerializeObject(voteCandidate), cacheKey, 12, Services.Cache.Models.TimeUnit.Hours);
            }
            return(voteCandidate);
        }
Пример #3
0
        public async Task <List <Models.Database.VoteSelfRegistration> > GetVoterRegistrations()
        {
            var voterRegistration = JsonConvert.DeserializeObject <List <Models.Database.VoteSelfRegistration> >((_cacheOperation.Get(cacheKey) ?? "").ToString()) ?? new List <Models.Database.VoteSelfRegistration>();

            if (voterRegistration.Count == 0)
            {
                voterRegistration = await voteRegistrationDB.GetRegistredVoters();

                _cacheOperation.Save(JsonConvert.SerializeObject(voterRegistration), cacheKey, 12, Services.Cache.Models.TimeUnit.Hours);
            }

            return(voterRegistration);
        }
Пример #4
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);
        }