public async Task <IEnumerable <Entity> > GetPagedPositionReponseAsync(GetPositionsQuery requestParameter) { var positionNumber = requestParameter.PositionNumber; var positionTitle = requestParameter.PositionTitle; var pageNumber = requestParameter.PageNumber; var pageSize = requestParameter.PageSize; var orderBy = requestParameter.OrderBy; var fields = requestParameter.Fields; var result = _positions .AsNoTracking() .AsExpandable() .Skip((pageNumber - 1) * pageSize) .Take(pageSize); // filter FilterByColumn(ref result, positionNumber, positionTitle); // order by if (!string.IsNullOrWhiteSpace(orderBy)) { result = result.OrderBy(orderBy); } // query field limit if (!string.IsNullOrWhiteSpace(fields)) { result = result.Select <Position>("new(" + fields + ")"); } // retrieve data to list var resultData = await result.ToListAsync(); // shape data return(_dataShaper.ShapeData(resultData, fields)); }
public async Task <IActionResult> GetAsync() { var query = new GetPositionsQuery(); var res = await _mediator.Send(query); return(Ok(res)); }
public async Task <PagedResponse <IEnumerable <Entity> > > Handle(GetPositionsQuery request, CancellationToken cancellationToken) { var validFilter = request; var pagination = request; //filtered fields security if (!string.IsNullOrEmpty(validFilter.Fields)) { //limit to fields in view model validFilter.Fields = _modelHelper.ValidateModelFields <GetPositionsViewModel>(validFilter.Fields); } if (string.IsNullOrEmpty(validFilter.Fields)) { //default fields from view model validFilter.Fields = _modelHelper.GetModelFields <GetPositionsViewModel>(); } // query based on filter var entityPositions = await _positionRepository.GetPagedPositionReponseAsync(validFilter); var data = entityPositions.data; RecordsCount recordCount = entityPositions.recordsCount; // response wrapper return(new PagedResponse <IEnumerable <Entity> >(data, validFilter.PageNumber, validFilter.PageSize, recordCount)); }
public async Task <ICollection <PositionResponse> > Handle(GetPositionsQuery request, CancellationToken cancellationToken) { var positions = await _positionRepository.GetAll(); var res = _mapper.Map <ICollection <PositionDto>, ICollection <PositionResponse> >(positions); return(res); }
public async Task <IEnumerable <PositionViewModel> > Handle(GetPositionsQuery request, CancellationToken cancellationToken) { var positions = await PositionRepository.Select(); var viewmodel = new List <PositionViewModel>(); foreach (var item in positions) { var vm = new PositionViewModel(); vm.LoadFromDomain(item); vm.IsSelected = item.Id == request.SelectedId; viewmodel.Add(vm); } return(viewmodel.OrderByDescending(item => item.Grade).ThenBy(item => item.Name).ToList()); }
public async Task <PagedDataTableResponse <IEnumerable <Entity> > > Handle(PagedPositionsQuery request, CancellationToken cancellationToken) { var validFilter = new GetPositionsQuery(); // Draw map to PageNumber validFilter.PageNumber = (request.Start / request.Length) + 1; // Length map to PageSize validFilter.PageSize = request.Length; // Map order > OrderBy var colOrder = request.Order[0]; switch (colOrder.Column) { case 0: validFilter.OrderBy = colOrder.Dir == "asc" ? "PositionNumber" : "PositionNumber DESC"; break; case 1: validFilter.OrderBy = colOrder.Dir == "asc" ? "PositionTitle" : "PositionTitle DESC"; break; case 2: validFilter.OrderBy = colOrder.Dir == "asc" ? "PositionDescription" : "PositionDescription DESC"; break; } // Map Search > searchable columns if (!string.IsNullOrEmpty(request.Search.Value)) { //limit to fields in view model validFilter.PositionNumber = request.Search.Value; validFilter.PositionTitle = request.Search.Value; } if (string.IsNullOrEmpty(validFilter.Fields)) { //default fields from view model validFilter.Fields = _modelHelper.GetModelFields <GetPositionsViewModel>(); } // query based on filter var entityPositions = await _positionRepository.GetPagedPositionReponseAsync(validFilter); var data = entityPositions.data; RecordsCount recordCount = entityPositions.recordsCount; // response wrapper return(new PagedDataTableResponse <IEnumerable <Entity> >(data, request.Draw, recordCount)); }
public async Task <IActionResult> Get([FromQuery] GetPositionsQuery filter) { return(Ok(await Mediator.Send(filter))); }
public async Task <(IEnumerable <Entity> data, RecordsCount recordsCount)> GetPagedPositionReponseAsync(GetPositionsQuery requestParameter) { var positionNumber = requestParameter.PositionNumber; var positionTitle = requestParameter.PositionTitle; var pageNumber = requestParameter.PageNumber; var pageSize = requestParameter.PageSize; var orderBy = requestParameter.OrderBy; var fields = requestParameter.Fields; int recordsTotal, recordsFiltered; // Setup IQueryable var result = _positions .AsNoTracking() .AsExpandable(); // Count records total recordsTotal = await result.CountAsync(); // filter data FilterByColumn(ref result, positionNumber, positionTitle); // Count records after filter recordsFiltered = await result.CountAsync(); //set Record counts var recordsCount = new RecordsCount { RecordsFiltered = recordsFiltered, RecordsTotal = recordsTotal }; // set order by if (!string.IsNullOrWhiteSpace(orderBy)) { result = result.OrderBy(orderBy); } // select columns if (!string.IsNullOrWhiteSpace(fields)) { result = result.Select <Position>("new(" + fields + ")"); } // paging result = result .Skip((pageNumber - 1) * pageSize) .Take(pageSize); // retrieve data to list var resultData = await result.ToListAsync(); // shape data var shapeData = _dataShaper.ShapeData(resultData, fields); return(shapeData, recordsCount); }
public async Task <IActionResult> Get([FromQuery] GetPositionsQuery filter) { Log.Information($"GET Position called at {DateTime.Now}"); _loggerFactory.CreateLogger("GET Position called at"); return(Ok(await Mediator.Send(filter))); }
public async Task <IEnumerable <Position> > Handle(GetPositionsQuery request, CancellationToken cancellationToken) { return(await appDbContext.Positions.ToListAsync(cancellationToken)); }