public async Task <GetLifeEventsResponseDto> GetItemsAsync(GetLifeEventsRequestDto request) { if (request == null) { throw new ArgumentNullException("LifeEventModel model GetLifeEventListRequest is invalid"); } var cacheKey = GetCacheKey(request); var cacheValue = cacheStore.GetValue(cacheKey); if (cacheValue != null) { var cachedResponse = JsonConvert.DeserializeObject <GetLifeEventsResponseDto>(cacheValue); return(cachedResponse); } var response = new GetLifeEventsResponseDto(); try { var lifeEvents = await lifeEventDao.GetItemsAsync(request.PageNo, request.PageSize).ConfigureAwait(false); response.LifeEvents = lifeEvents.Select(mapper.Map <LifeEventDto>).ToList(); } catch (Exception e) { response.Messages.Add(new Message(e.Message)); } var serializedResponse = JsonConvert.SerializeObject(response); cacheStore.SetValue(cacheKey, serializedResponse); return(response); }
public Task <GetLifeEventsResponseDto> Get([FromQuery] GetLifeEventsRequestDto request) { return(lifeEventApiClient.GetLifeEvents(request)); }
public async Task <GetLifeEventsResponseDto> Get([FromQuery] GetLifeEventsRequestDto request) { var resp = await lifeEventService.GetItemsAsync(request); return(resp); }
public Task <GetLifeEventsResponseDto> GetLifeEvents(GetLifeEventsRequestDto request) { return(GetAsync <GetLifeEventsResponseDto>($"/api/LifeEvent/", request)); }
private static string GetCacheKey(GetLifeEventsRequestDto request) { return($"pageNo_{request.PageNo}_pageSize_{request.PageSize}"); }