public async Task <PagedResult <CertificateUser> > GetCertificateUsersAsync(CertificateUserFilter filter)
        {
            filter = filter ?? new CertificateUserFilter();

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

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

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

            return(pagedResult);
        }
        private Expression <Func <CertificateUser, bool> > GetCertificateUserExpression(CertificateUserFilter filter)
        {
            Expression <Func <CertificateUser, bool> > expression = null;

            if (filter.Id > 0)
            {
                expression = x => x.Id == filter.Id;
            }
            return(expression);
        }
        public async Task <IHttpActionResult> GetCertificateUsers(CertificateUserFilter filter)
        {
            var certificateUsers = await certificateUserManager.GetCertificateUsersAsync(filter);

            return(Ok(certificateUsers));
        }
        public async Task <PagedResult <CertificateUserDto> > GetCertificateUsersAsync(CertificateUserFilter certificateCertificateUserFilter)
        {
            var certificateUsersPagedResult = await certificateUserRepository.GetCertificateUsersAsync(certificateCertificateUserFilter);

            var certificateCertificateUsersDtoPagedResult = new PagedResult <CertificateUserDto>();

            Mapper.Map(certificateUsersPagedResult, certificateCertificateUsersDtoPagedResult);
            return(certificateCertificateUsersDtoPagedResult);
        }