public async Task <IHttpActionResult> Search([FromBody] SearchUserDescriptionViewModel condition) { if (condition == null) { condition = new SearchUserDescriptionViewModel(); Validate(condition); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (condition.Ids != null && condition.Ids.Count > 0) { condition.Ids = condition.Ids.Where(x => x > 0).ToHashSet(); } if (condition.UserIds != null && condition.UserIds.Count > 0) { condition.UserIds = condition.UserIds.Where(x => x > 0).ToHashSet(); } var loadUserDescriptionResult = await _userDescriptionService.SearchUserDescriptionsAsync(condition, CancellationToken.None); return(Ok(loadUserDescriptionResult)); }
/// <summary> /// Search for user descriptions using specific condition. /// </summary> /// <param name="condition"></param> /// <returns></returns> protected virtual IQueryable <UserDescription> GetUserDescriptions(SearchUserDescriptionViewModel condition) { var userDescriptions = _unitOfWork.UserDescriptions.Search(); // Ids list is defined. if (condition.Ids != null && condition.Ids.Count > 0) { var ids = condition.Ids.Where(x => x > 0).ToList(); if (ids.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => ids.Contains(userDescription.Id)); } } // User ids list is defined. if (condition.UserIds != null && condition.UserIds.Count > 0) { var userIds = condition.UserIds.Where(x => x > 0).ToList(); if (userIds.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => userIds.Contains(userDescription.UserId)); } } return(userDescriptions); }
public async Task <IHttpActionResult> SearchUserDescriptions([FromBody] SearchUserDescriptionViewModel condition) { condition = condition ?? new SearchUserDescriptionViewModel(); Validate(condition); var userDescriptions = await _userDesciptionDomain.SearchUserDescriptionsAsync(condition); return(Ok(userDescriptions)); }
public async Task <IHttpActionResult> Search([FromBody] SearchUserDescriptionViewModel condition) { if (condition == null) { condition = new SearchUserDescriptionViewModel(); Validate(condition); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userDescriptions = _unitOfWork.UserDescriptions.Search(); if (condition.Ids != null && condition.Ids.Count > 0) { var ids = condition.Ids.Where(x => x > 0).ToList(); if (ids.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => ids.Contains(userDescription.Id)); } } if (condition.UserIds != null && condition.UserIds.Count > 0) { var userIds = condition.UserIds.Where(x => x > 0).ToList(); if (userIds.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => userIds.Contains(userDescription.UserId)); } } var loadUserDescriptionResult = new SearchResultViewModel <IList <UserDescription> >(); loadUserDescriptionResult.Total = await userDescriptions.CountAsync(); // Do sorting. userDescriptions = _dbService.Sort(userDescriptions, SortDirection.Ascending, UserDescriptionSortProperty.Id); // Do pagination. userDescriptions = _dbService.Paginate(userDescriptions, condition.Pagination); loadUserDescriptionResult.Records = await userDescriptions.ToListAsync(); return(Ok(loadUserDescriptionResult)); }
/// <summary> /// Find and delete user description. /// </summary> /// <param name="id"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task DeleteUserDescriptionAsync(int id, CancellationToken cancellationToken = default(CancellationToken)) { // Find user description. var loadUserDescriptionCondition = new SearchUserDescriptionViewModel(); loadUserDescriptionCondition.Ids = new HashSet <int>(); loadUserDescriptionCondition.Ids.Add(id); // Get user description. var userDescription = await GetUserDescriptions(loadUserDescriptionCondition).FirstOrDefaultAsync(cancellationToken); if (userDescription == null) { throw new HttpException((int)HttpStatusCode.NotFound, HttpMessages.UserDescriptionNotFoud); } _unitOfWork.UserDescriptions.Remove(userDescription); await _unitOfWork.CommitAsync(); }
public async Task <SearchResultViewModel <IList <UserDescription> > > SearchUserDescriptionsAsync(SearchUserDescriptionViewModel condition, CancellationToken cancellationToken = default(CancellationToken)) { var userDescriptions = _dbContext.UserDescriptions.AsQueryable(); if (condition.Ids != null && condition.Ids.Count > 0) { var ids = condition.Ids.Where(x => x > 0).ToList(); if (ids.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => ids.Contains(userDescription.Id)); } } if (condition.UserIds != null && condition.UserIds.Count > 0) { var userIds = condition.UserIds.Where(x => x > 0).ToList(); if (userIds.Count > 0) { userDescriptions = userDescriptions.Where(userDescription => userIds.Contains(userDescription.UserId)); } } var loadUserDescriptionResult = new SearchResultViewModel <IList <UserDescription> >(); loadUserDescriptionResult.Total = await userDescriptions.CountAsync(cancellationToken); // Do sorting. userDescriptions = _dbService.Sort(userDescriptions, SortDirection.Ascending, UserDescriptionSortProperty.Id); // Do pagination. userDescriptions = _dbService.Paginate(userDescriptions, condition.Pagination); loadUserDescriptionResult.Records = await userDescriptions.ToListAsync(cancellationToken); return(loadUserDescriptionResult); }
/// <summary> /// <inheritdoc /> /// </summary> /// <param name="condition"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task <UserDescription> SearchUserDescription(SearchUserDescriptionViewModel condition, CancellationToken cancellationToken = default(CancellationToken)) { return(await GetUserDescriptions(condition).FirstOrDefaultAsync(cancellationToken)); }
/// <summary> /// <inheritdoc /> /// </summary> /// <param name="condition"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task <SearchResultViewModel <IList <UserDescription> > > SearchUserDescriptionsAsync(SearchUserDescriptionViewModel condition, CancellationToken cancellationToken = default(CancellationToken)) { var userDescriptions = GetUserDescriptions(condition); var loadUserDescriptionResult = new SearchResultViewModel <IList <UserDescription> >(); loadUserDescriptionResult.Total = await userDescriptions.CountAsync(cancellationToken); // Do sorting. userDescriptions = _dbService.Sort(userDescriptions, SortDirection.Ascending, UserDescriptionSortProperty.Id); // Do pagination. userDescriptions = _dbService.Paginate(userDescriptions, condition.Pagination); loadUserDescriptionResult.Records = await userDescriptions.ToListAsync(cancellationToken); return(loadUserDescriptionResult); }