public IEnumerable <PositionResultModel> GetPositions(PositionQueryModel query) { var positions = _positionRepository.Get(p => true, p => p.Sort, query.Page, query.Size).ToArray(); return(_mapper.Map <Position[], IEnumerable <PositionResultModel> >(positions)); }
public async Task <IList <PositionEntity> > Query(PositionQueryModel model) { var paging = model.Paging(); var query = Db.Find(); query.WhereIf(model.DepartmentId.NotEmpty(), m => m.DepartmentId == model.DepartmentId); query.WhereIf(model.Name.NotNull(), m => m.Name.Contains(m.Name)); query.WhereIf(model.Code.NotNull(), m => m.Code == model.Code); if (!paging.OrderBy.Any()) { query.OrderByDescending(m => m.Id); } var result = await query.LeftJoin <AccountEntity>((x, y) => x.CreatedBy == y.Id) .LeftJoin <DepartmentEntity>((x, y, z) => x.DepartmentId == z.Id) .LeftJoin <CompanyEntity>((x, y, z, m) => z.CompanyId == m.Id) .Select((x, y, z, m) => new { x, DepartmentName = z.Name, CompanyName = m.Name, Creator = y.Name }) .PaginationAsync(paging); model.TotalCount = paging.TotalCount; return(result); }
public IActionResult Get([FromQuery] PositionQueryModel positionQuery) { return(Ok(new { Data = _positionService.GetPositions(positionQuery), Count = _positionService.Count() })); }
public async Task <IResultModel> Query(PositionQueryModel model) { var result = new QueryResultModel <PositionEntity> { Rows = await _repository.Query(model), Total = model.TotalCount }; return(ResultModel.Success(result)); }
public async Task <IList <PositionEntity> > Query(PositionQueryModel model) { var paging = model.Paging(); var query = Db.Find(); query.WhereNotNull(model.Name, m => m.Name.Contains(model.Name)); query.WhereNotNull(model.Code, m => m.Code == model.Code); var joinQuery = query.LeftJoin <AccountEntity>((x, y) => x.CreatedBy == y.Id); if (!paging.OrderBy.Any()) { joinQuery.OrderByDescending((x, y) => x.Id); } joinQuery.Select((x, y) => new { x, Creator = y.Name }); var result = await joinQuery.PaginationAsync(paging); model.TotalCount = paging.TotalCount; return(result); }
public Task <IResultModel> Query([FromQuery] PositionQueryModel model) { return(_service.Query(model)); }