Exemplo n.º 1
0
        public DTO.SearchResult Search(Guid storeCode, string name, int?skip = null, int?take = null)
        {
            if (storeCode.IsEmpty() && name.IsNullOrWhiteSpace())
            {
                throw new ArgumentException("É necessário informar a loja ou nome do grupo");
            }

            DTO.SearchFilterRole searchFilter = new DTO.SearchFilterRole();

            if (!name.IsNullOrWhiteSpace())
            {
                searchFilter.Name = name;
            }

            if (!storeCode.IsEmpty())
            {
                searchFilter.StoreCode = storeCode;
            }

            if (skip.HasValue)
            {
                searchFilter.Skip = skip;
            }

            if (take.HasValue)
            {
                searchFilter.Take = take;
            }

            var result = roleRepository.Search(searchFilter);

            var roles = result.Results.Select(p => new DTO.Role(p));

            return(new DTO.SearchResult(roles).SetResult <Role>(result));
        }
Exemplo n.º 2
0
        public VO.SearchResult <Role> Search(DTO.SearchFilterRole filter)
        {
            IQueryable <Role> result = Collection.Include(x => x.Store).AsQueryable();

            if (!filter.StoreCode.IsEmpty())
            {
                result = result.Where(r => r.StoreCode == filter.StoreCode);
            }

            if (!filter.Name.IsNullOrWhiteSpace())
            {
                result = result.Where(n => n.Name.ToLower().Contains(filter.Name.ToLower()));
            }

            result = result.OrderBy(i => i.SaveDate);

            var count = result.Count();

            result = result.Skip((filter.Skip.Value) * filter.Take.Value);

            result = result.Take(filter.Take.Value);

            return(new VO.SearchResult <Role>(result.ToList(), filter, count));
        }