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 async Task <GetLifeEventsResponseDto> GetItemsByPersonIdAsync(GetLifeEventsByPersonIdRequest request) { if (request == null) { throw new ArgumentNullException("GetLifeEventListRequest is invalid"); } var resp = new GetLifeEventsResponseDto(); try { var lifeEvents = await lifeEventDao.GetItemsByPersonIdAsync(request.personId).ConfigureAwait(false); resp.LifeEvents = lifeEvents.Select(mapper.Map <LifeEventDto>).ToList(); } catch (Exception e) { resp.Messages.Add(new Message(e.Message)); } return(resp); }