Esempio n. 1
0
        public IEnumerable <UserProfile> GetUserProfilePaged(int page, int count, UserProfileFilter filter = null,
                                                             OrderExpression orderExpression = null)
        {
            var expression = new UserProfileQueryObject(filter).Expression;

            return(UserProfilePaged(page, count, expression, orderExpression));
        }
        public IEnumerable <UserProfileModel> Query(int page, int count, UserProfileFilter filter, string orderByExpression = null)
        {
            var orderExpression = OrderExpression.Deserilizer(orderByExpression);

            var entities = _repository.GetUserProfilePaged(page, count, filter, orderExpression).ToList();

            return(ProcessItemQuery(entities));
        }
Esempio n. 3
0
        public UserProfileQueryObject(UserProfileFilter filter)
        {
            if (filter != null)
            {
                if (filter.Id > 0)
                {
                    And(c => c.Id == filter.Id);
                }
                if (filter.RoleId > 0)
                {
                    And(c => c.RoleId == filter.RoleId);
                }

                if (filter.InRoles != null)
                {
                    And(x => filter.InRoles.Contains(x.RoleId));
                }
                if (filter.StateId != 0)
                {
                    And(x => x.StateId == filter.StateId);
                }

                if (!string.IsNullOrWhiteSpace(filter.Name))
                {
                    And(c => c.FirstName.Contains(filter.Name) || c.LastName.Contains(filter.Name));
                }

                if (!string.IsNullOrWhiteSpace(filter.EmailAddress))
                {
                    And(c => c.EmailAddress.Contains(filter.EmailAddress));
                }

                if (!string.IsNullOrWhiteSpace(filter.PhoneNumber))
                {
                    And(c => c.PhoneNumber.Contains(filter.PhoneNumber));
                }

                if (filter.DateCreatedFrom.HasValue)
                {
                    And(c => c.DateCreated >= filter.DateCreatedFrom.Value);
                }

                if (filter.DateCreatedTo.HasValue)
                {
                    And(c => c.DateCreated <= filter.DateCreatedTo.Value);
                }

                if (filter.UserProfileIds != null)
                {
                    And(c => filter.UserProfileIds.Contains(c.Id));
                }
            }
        }
        public object GetUserProfiles(UserProfileFilter filter)
        {
            var users = _repository.Table.Where(x => filter.UserProfileIds.Contains(x.Id)).Select(x => new
            {
                x.ProfileImageUrl,
                x.Id,
                Birthday = x.Birthday ?? new DateTime(),
                x.FirstName,
                x.LastName
            });

            return(users);
        }
        public CountModel <UserProfileModel> GetCount(int page, int count, UserProfileFilter filter, string orderByExpression = null)
        {
            int totalCount;
            var orderExpression = OrderExpression.Deserilizer(orderByExpression);

            var entities = _repository.GetUserProfilePaged(page, count, out totalCount, filter, orderExpression).ToList();

            return(new CountModel <UserProfileModel>()
            {
                Total = totalCount,
                Items = ProcessItemQuery(entities)
            });
        }
Esempio n. 6
0
        public IPagedList <UserProfile> Search(UserProfileFilter filter)
        {
            var query = this.DbContext.UserProfiles.Include(j => j.Institution);

            if (!string.IsNullOrWhiteSpace(filter.Name))
            {
                query = query.Where(u => u.DisplayName.ToLower().Contains(filter.Name.ToLower()));
            }

            if (filter.InstitutionId.HasValue)
            {
                query = query.Where(u => u.InstitutionId == filter.InstitutionId);
            }

            return(ApplyOrdering(query, filter).ToPagedList(filter.PageNumber, filter.PageSize));
        }
Esempio n. 7
0
        public async Task Sms_ClientGetUserByFilterTest()
        {
            var filter = new UserProfileFilter(new List <int> {
                1, 2, 3
            });

            var accountRepository     = container.Resolve <IAccountRepository>();
            var accountRepositoryMock = Mock.Get(accountRepository);

            accountRepositoryMock
            .Setup(s => s.FindByUserIds(It.IsAny <IEnumerable <int> >()))
            .Returns <IEnumerable <int> >(x => Task.FromResult(
                                              x.Select(id =>
                                                       new Account
            {
                Id    = id,
                Phone = id
            })
                                              .ToArray()));

            using (var http = new HttpClient())
            {
                var client = new Domain0Client(TEST_URL, http);
                http.DefaultRequestHeaders.Authorization =
                    new AuthenticationHeaderValue("Bearer",
                                                  TestContainerBuilder.BuildToken(container, 1, TokenClaims.CLAIM_PERMISSIONS_VIEW_PROFILE));

                var profiles = await client.GetUserByFilterAsync(filter);

                Assert.True(profiles.Select(p => p.Id).SequenceEqual(filter.UserIds));

                accountRepositoryMock.Verify(ar =>
                                             ar.FindByUserIds(It.Is <IEnumerable <int> >(ids => ids.SequenceEqual(filter.UserIds))),
                                             Times.Once());
            }
        }
Esempio n. 8
0
        public IEnumerable <UserProfileModel> Get(int page, int count, string orderByExpression = null, string whereCondition = null)
        {
            var filter = UserProfileFilter.Deserilize(whereCondition);

            return(_userProfileService.Query(page, count, filter, orderByExpression));
        }
Esempio n. 9
0
        public object GetCount(int page, int count, string orderByExpression = null, string whereCondition = null)
        {
            var filter = UserProfileFilter.Deserilize(whereCondition);

            return(_userProfileService.GetCount(page, count, filter, orderByExpression));
        }
Esempio n. 10
0
        private static IOrderedQueryable <UserProfile> ApplyOrdering(IQueryable <UserProfile> query, UserProfileFilter filter)
        {
            switch (filter.SortMode)
            {
            case UserProfileSortMode.Name:
                return(filter.SortDirection == SortDirection.Ascending ? query.OrderBy(u => u.DisplayName) : query.OrderByDescending(u => u.DisplayName));

            case UserProfileSortMode.DateRegistered:
                return(filter.SortDirection == SortDirection.Ascending ? query.OrderBy(u => u.DateRegistered) : query.OrderByDescending(u => u.DateRegistered));

            case UserProfileSortMode.NumberOfBaseJournalScoreCards:
                return(filter.SortDirection == SortDirection.Ascending ?
                       query.OrderBy(u => u.NumberOfBaseScoreCards).ThenBy(u => u.DisplayName) :
                       query.OrderByDescending(u => u.NumberOfBaseScoreCards).ThenBy(u => u.DisplayName));

            case UserProfileSortMode.NumberOfValuationJournalScoreCards:
                return(filter.SortDirection == SortDirection.Ascending ?
                       query.OrderBy(u => u.NumberOfValuationScoreCards).ThenBy(u => u.DisplayName) :
                       query.OrderByDescending(u => u.NumberOfValuationScoreCards).ThenBy(u => u.DisplayName));

            case UserProfileSortMode.Institution:
                return(filter.SortDirection == SortDirection.Ascending ?
                       query.OrderBy(u => u.Institution.Name).ThenBy(u => u.DisplayName) :
                       query.OrderByDescending(u => u.Institution.Name).ThenBy(u => u.DisplayName));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 11
0
        public IEnumerable <UserProfile> GetUserProfileFilteredQueryable(UserProfileFilter filter = null)
        {
            var expression = new UserProfileQueryObject(filter).Expression;

            return(Fetch(expression));
        }
 public IList <UserProfileItem> DownloadReport(UserProfileFilter filter)
 {
     return(ProcessItemQuery(_repository.GetUserProfileFilteredQueryable(filter).ToList()).ToList());
 }