public Result List(ContactUsInquiryAdminFilterDto dto)
        {
            var result = _actionFactory.Action(dto.Action)?.Apply(dto.Ids) ?? new Result();

            if (!result.Success)
            {
                return(result);
            }

            var query = _contactUsInquiryRepository.AsNoTracking;

            query = new ContactUsInquiryAdminFilter(query, dto).FilteredQuery();
            query = new ContactUsInquiryAdminListOrder(query, dto).OrderByQuery();
            result.SetPaging(dto?.Page ?? 1, dto?.Size ?? 10, query.Count());

            result.Data = query
                          .Select(s => new
            {
                s.Id,
                s.Name,
                s.Email,
                s.Phone,
                s.Details,
                s.CreatedAt,
            })
                          .Skip((result.Paging.Page - 1) * result.Paging.Size)
                          .Take(result.Paging.Size);

            return(result);
        }
Exemplo n.º 2
0
 public IHttpActionResult Get([FromUri] ContactUsInquiryAdminFilterDto dto)
 {
     return(Result(_contactUsInquiryAdminService.List(dto)));
 }