Пример #1
0
        public async Task <ApiResult> GetInstallationsAsync(InstallationFilter installationFilter)
        {
            var installationsPagedResult = await installationRepository.GetInstallationsAsync(installationFilter);

            var installationsDtoPagedResult = new PagedResult <InstallationDto>();

            Mapper.Map(installationsPagedResult, installationsDtoPagedResult);
            return(new ApiResult(MessageType.Success, installationsDtoPagedResult));
        }
        private Expression <Func <Installation, bool> > GetInstallationExpression(InstallationFilter filter)
        {
            Expression <Func <Installation, bool> > expression = null;

            if (filter.Id > 0)
            {
                expression = x => x.Id == filter.Id;
            }
            return(expression);
        }
        public async Task <PagedResult <Installation> > GetInstallationsAsync(InstallationFilter filter)
        {
            filter = filter ?? new InstallationFilter();

            var result = unitOfWork.Query(GetInstallationExpression(filter), filter.PropertiesToInclude);

            List <Installation> list = await result.OrderBy(filter.OrderBy)
                                       .Skip((filter.Page - 1) * filter.Skip).Take(filter.Take)
                                       .ToListAsync();

            var pagedResult = new PagedResult <Installation>
            {
                Data     = list,
                PageInfo = await GetPageInfo(x => x.Id, filter, GetInstallationExpression(filter))
            };

            return(pagedResult);
        }
        public async Task <IHttpActionResult> GetInstallations(InstallationFilter filter)
        {
            var users = await installationManager.GetInstallationsAsync(filter);

            return(Ok(users));
        }