public async Task <IActionResult> GetTasksAsync(int pageSize = 10, int pageNumber = 1) { Logger?.LogDebug("'{0}' has been invoked", nameof(GetTaskAsync)); var response = new PagedResponse <Task>(); try { //Get the "propose" query from repository var query = DbContext.GetTasks(); //Set pagins values response.PageSize = pageSize; response.PageNumber = pageNumber; //Get the total rows response.ItemsCount = await query.CountAsync(); //Get the specific page from database response.Model = await query.Paging(pageSize, pageNumber).ToListAsync(); response.Message = string.Format("Page {0} of {1}, total of tasks: {2}.", pageNumber, response.PageCount, response.ItemsCount); Logger?.LogInformation("The tasks have been retrieved successfully"); } catch (Exception ex) { response.DidError = true; response.ErrorMessage = "There was an internal error, please contact to technical support."; Logger?.LogCritical("There was an error on '{0}' invocation: {1}", nameof(GetTaskAsync), ex); } return(response.ToHttpResponse()); }