public async Task <IHttpActionResult> SearchProjectSkills([FromBody] SearchProjectSkillViewModel model) { model = model ?? new SearchProjectSkillViewModel(); Validate(model); var projectSkills = await _projectSkillDomain.SearchProjectSkillsAsync(model); return(Ok(projectSkills)); }
public async Task <IHttpActionResult> Search([FromBody] SearchProjectSkillViewModel condition) { //Check null for condition model if (condition == null) { condition = new SearchProjectSkillViewModel(); Validate(condition); } //Validate model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //Get project skills list var projectSkills = _unitOfWork.ProjectSkills.Search(); if (condition.ProjectIds != null) { var projectIds = condition.ProjectIds.Where(x => x > 0).ToList(); if (projectIds.Count > 0) { projectSkills = projectSkills.Where(x => projectIds.Contains(x.ProjectId)); } } if (condition.SkillIds != null) { var skillIds = condition.SkillIds.Where(x => x > 0).ToList(); if (skillIds.Count > 0) { projectSkills = projectSkills.Where(x => skillIds.Contains(x.SkillId)); } } //Result search var result = new SearchResultViewModel <IList <ProjectSkill> >(); result.Total = await projectSkills.CountAsync(); //Do sort projectSkills = _dbService.Sort(projectSkills, SortDirection.Ascending, ProjectSkillSortProperty.ProjectId); //Do pagination projectSkills = _dbService.Paginate(projectSkills, condition.Pagination); result.Records = await projectSkills.ToListAsync(); return(Ok(result)); }
public async Task <IHttpActionResult> Search([FromBody] SearchProjectSkillViewModel condition) { //Check null for condition model if (condition == null) { condition = new SearchProjectSkillViewModel(); Validate(condition); } //Validate model if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var loadProjectSkillsResult = await _projectSkillService.SearchProjectSkillsAsync(condition); return(Ok(loadProjectSkillsResult)); }
/// <summary> /// Get project skill using specific conditions. /// </summary> /// <returns></returns> protected virtual IQueryable <ProjectSkill> GetProjectSkills(SearchProjectSkillViewModel condition) { var projectSkills = _unitOfWork.ProjectSkills.Search(); if (condition.ProjectIds != null) { var projectIds = condition.ProjectIds.Where(x => x > 0).ToList(); if (projectIds.Count > 0) { projectSkills = projectSkills.Where(x => projectIds.Contains(x.ProjectId)); } } if (condition.SkillIds != null) { var skillIds = condition.SkillIds.Where(x => x > 0).ToList(); if (skillIds.Count > 0) { projectSkills = projectSkills.Where(x => skillIds.Contains(x.SkillId)); } } return(projectSkills); }
/// <summary> /// <inheritdoc /> /// </summary> /// <param name="condition"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public virtual async Task <SearchResultViewModel <IList <ProjectSkill> > > SearchProjectSkillsAsync(SearchProjectSkillViewModel condition, CancellationToken cancellationToken = default(CancellationToken)) { var projectSkills = GetProjectSkills(condition); var result = new SearchResultViewModel <IList <ProjectSkill> >(); result.Total = await projectSkills.CountAsync(cancellationToken); //Do sort projectSkills = _dbService.Sort(projectSkills, SortDirection.Ascending, ProjectSortProperty.Id); //Do Pagination result.Records = await _dbService.Paginate(projectSkills, condition.Pagination).ToListAsync(cancellationToken); return(result); }
public async Task <SearchResultViewModel <IList <ProjectSkill> > > SearchProjectSkillsAsync(SearchProjectSkillViewModel model, CancellationToken cancellationToken = default(CancellationToken)) { //Get project skills list var projectSkills = _dbContext.ProjectSkills.AsQueryable(); if (model.ProjectIds != null) { var projectIds = model.ProjectIds.Where(x => x > 0).ToList(); if (projectIds.Count > 0) { projectSkills = projectSkills.Where(x => projectIds.Contains(x.ProjectId)); } } if (model.SkillIds != null) { var skillIds = model.SkillIds.Where(x => x > 0).ToList(); if (skillIds.Count > 0) { projectSkills = projectSkills.Where(x => skillIds.Contains(x.SkillId)); } } //Result search var result = new SearchResultViewModel <IList <ProjectSkill> >(); result.Total = await projectSkills.CountAsync(cancellationToken); //Do sort projectSkills = _dbService.Sort(projectSkills, SortDirection.Ascending, ProjectSkillSortProperty.Id); //Do pagination projectSkills = _dbService.Paginate(projectSkills, model.Pagination); result.Records = await projectSkills.ToListAsync(cancellationToken); return(result); }