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)); }
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) }); }
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)); }
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()); } }
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)); }
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)); }
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(); } }
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()); }