public async Task <TokenRequestResponse> GetConsumerToken( ) { return(await SafeCallApi(async delegate { return await Task.Run(async( ) => { BaseQueryParameters queryParams = new BaseQueryParameters(RequestHandler); TokenRequestResponse response = await _api.GetConsumerToken(queryParams); if (!response.IsRequestSuccessful) { response.DataError = Enums.DataError.Unauthorized; } return response; }); })); }
public async Task <BasePaginatedResponse <UserDto> > Paginate(BaseQueryParameters parameters) { var userList = await _userRepository.Paginate( offset : (parameters.Page - 1) *parameters.ItemsPerPage, itemsCount : parameters.ItemsPerPage, search : parameters.Search ); var userDtoList = _mapper.Map <IEnumerable <User>, IEnumerable <UserDto> >(userList); var rowsCount = await _userRepository.GetFilteredDataCountAsync(parameters.Search); var pagesCount = (int)Math.Ceiling((decimal)rowsCount / parameters.ItemsPerPage); return(new BasePaginatedResponse <UserDto> { EntityList = userDtoList, PagesCount = pagesCount }); }
public async Task <BasePaginatedResponse <ProjectDto> > GetProjects(BaseQueryParameters parameters) { BasePaginatedResponse <ProjectDto> projectsPaginated = null; if (parameters.Search == "") { projectsPaginated = await _redisService.GetItemAsync <BasePaginatedResponse <ProjectDto> >($"projects.{parameters.ItemsPerPage}.{parameters.Page}"); } if (projectsPaginated == null) { var projectList = await _projectRepository.PaginateFiltered( offset : (parameters.Page - 1) *parameters.ItemsPerPage, itemsCount : parameters.ItemsPerPage, searchPhrase : parameters.Search ); var projectDtoList = _mapper.Map <IEnumerable <Project>, IEnumerable <ProjectDto> >(projectList); var rowsCount = await _projectRepository.GetFilteredDataCountAsync(parameters.Search); var pagesCount = (int)Math.Ceiling((decimal)rowsCount / parameters.ItemsPerPage); projectsPaginated = new BasePaginatedResponse <ProjectDto> { EntityList = projectDtoList, PagesCount = pagesCount }; if (parameters.Search == "") { await _redisService.SetItemAsync($"projects.{parameters.ItemsPerPage}.{parameters.Page}", projectsPaginated, 60); } } return(projectsPaginated); }
public async Task <IActionResult> Get([FromQuery] BaseQueryParameters queryParameters) { var user = await _userService.Paginate(queryParameters); return(Ok(user)); }
public async Task <IActionResult> Get([FromQuery] BaseQueryParameters parameters) { var returnValue = await _projectService.GetProjects(parameters); return(Ok(returnValue)); }