Esempio n. 1
0
 public IActionResult Get([FromBody] OperationGetRequest query)
 => ReturnBadRequestIfThrowError(() =>
 {
     var resources = _operationsService.GetOperations(query, UserId);
     Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(resources.PagingData()));
     return(resources);
 });
Esempio n. 2
0
 public PagedList <OperationResponse> GetOperations(OperationGetRequest response, Guid userId)
 => PagedList <OperationResponse> .ToPagedList(_repository.GetAll()
                                               .Where(o => o.OperationCategory.UserId == userId)
                                               .Where(o => o.ResourceId == (response.ResourceId ?? o.ResourceId))
                                               .Where(o => o.OperationCategoryId == (response.OperationCategoryId ?? o.OperationCategoryId))
                                               .Where(o => o.IsIncome == (response.IsIncome ?? o.IsIncome))
                                               .Where(o => o.Name == (response.Name ?? o.Name))
                                               .Where(o => o.Value >= (response.MinValue ?? o.Value))
                                               .Where(o => o.Value <= (response.MaxValue ?? o.Value))
                                               .Where(o => o.OccuredAt >= (response.MinOccuredAt ?? o.OccuredAt))
                                               .Where(o => o.OccuredAt <= (response.MinOccuredAt ?? o.OccuredAt))
                                               .OrderByDescending(o => o.OccuredAt)
                                               .Select(r => _mapper.Map <OperationResponse>(r)),
                                               response.Page, response.Limit);