protected override IQuery <Corporation> ApplyWhereClause(IQuery <Corporation> query, CorporationFilterDTO filter)
        {
            var predicates = new List <IPredicate>();

            if (!string.IsNullOrEmpty(filter.SearchedLocation))
            {
                predicates.Add(new SimplePredicate(nameof(Corporation.Address), ValueComparingOperator.Equal, filter.SearchedLocation));
            }

            if (filter.CorporationNames != null && filter.CorporationNames.Length != 0)
            {
                var predicate = new List <IPredicate>(filter.CorporationNames
                                                      .Select(name => new SimplePredicate(
                                                                  nameof(Corporation.Name),
                                                                  ValueComparingOperator.Equal,
                                                                  name)));

                predicates.Add(new CompositePredicate(predicate));
            }

            return(query.Where(new CompositePredicate(predicates)));
        }
 public async Task <QueryResultDTO <CorporationDTO, CorporationFilterDTO> > GetCorporationsAsync(CorporationFilterDTO filter)
 {
     using (UnitOfWorkProvider.Create())
     {
         return(await corporationService.ListCorporationsAsync(filter));
     }
 }
 private IQuery <Corporation> GetAll(IQuery <Corporation> query, CorporationFilterDTO filter)
 {
     return(query.Where(new SimplePredicate(nameof(Corporation.UserRole), ValueComparingOperator.Equal, filter.UserRole)));
 }