public G2RosterModel GetEmployeeData() { try { G2RosterModel parsedResponse = null; G2RosterModel cacheResult = null; if (_cache._cacheObject.Get("g2Roster") != null) { cacheResult = (G2RosterModel)_cache._cacheObject.Get("g2Roster"); } var result = _httpClient.GetAsync(new Uri(_url)).Result; result.EnsureSuccessStatusCode(); var response = result.Content.ReadAsStringAsync().Result; parsedResponse = new G2RosterModel { G2CrowdRoster = JsonConvert.DeserializeObject <List <G2CrowdPersonalData> >(response) }; if (cacheResult != null) { var NotInCacheList = parsedResponse.G2CrowdRoster.Where(x => !cacheResult.G2CrowdRoster.Any(y => y.Name == x.Name)).ToList(); cacheResult.G2CrowdRoster.AddRange(NotInCacheList); } else { cacheResult = parsedResponse; } _cache._cacheObject.Set("g2Roster", cacheResult, new CacheItemPolicy()); return(cacheResult); } catch (Exception e) { return(null); } }
public void UpdateVotingInfo(G2CrowdPersonalData personalData, G2RosterModel g2Roster) { foreach (var data in g2Roster.G2CrowdRoster) { if (data.Name == personalData.Name) { data.Number_Of_Votes++; } } _cache._cacheObject.Set("g2Roster", g2Roster, new CacheItemPolicy()); }
public ActionResult Vote(G2CrowdPersonalData personalData) { G2RosterModel g2Roster = null; Session[personalData.Name] = "Voted"; if (_cache._cacheObject.Get("g2Roster") != null) { g2Roster = (G2RosterModel)_cache._cacheObject.Get("g2Roster"); } _g2CrowdDataService.UpdateVotingInfo(personalData, g2Roster); return(RedirectToAction("Index")); }