< Summary

Information
Class: Api.Response.PagedResponse<T>
Assembly: Api
File(s): /home/runner/work/Northwind-Api/Northwind-Api/src/Api/Response/PagedResponse.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 21
Coverable lines: 21
Total lines: 54
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_PageNumber()100%210%
get_PageSize()100%210%
get_FirstPage()100%210%
get_LastPage()100%210%
get_TotalPages()100%210%
get_TotalRecords()100%210%
get_NextPage()100%210%
get_PreviousPage()0%620%
get_Request()100%210%

File(s)

/home/runner/work/Northwind-Api/Northwind-Api/src/Api/Response/PagedResponse.cs

#LineLine coverage
 1using System;
 2
 3using System.Text.Json.Serialization;
 4using Api.Extensions;
 5namespace Api.Response;
 6
 7public class PagedResponse<T> : Response<T> {
 8  [JsonPropertyName("pageNumber")]
 09  public int PageNumber { get; set; }
 10
 11  [JsonPropertyName("pageSize")]
 012  public int PageSize { get; set; }
 13
 14  [JsonPropertyName("firstPage")]
 15  public Uri? FirstPage {
 016    get {
 017      var baseUrl = Request.GetBaseUrl();
 018      return new Uri($"{baseUrl}?pageNumber=1&pageSize={PageSize}");
 019    }
 20  }
 21
 22  [JsonPropertyName("lastPage")]
 23  public Uri? LastPage {
 024    get {
 025      var baseUrl = Request.GetBaseUrl();
 026      return baseUrl.BuildPagedUrl(TotalPages, PageSize);
 027    }
 28  }
 29
 30  [JsonPropertyName("totalPages")]
 031  public int TotalPages => TotalRecords.CalculateTotalPages(PageSize);
 32
 33  [JsonPropertyName("totalRecords")]
 034  public int TotalRecords { get; set; }
 35
 36  [JsonPropertyName("nextPage")]
 37  public Uri? NextPage {
 038    get {
 039      var baseUrl = Request.GetBaseUrl();
 040      return baseUrl.BuildPagedUrl(PageNumber + 1, PageSize);
 041    }
 42  }
 43
 44  [JsonPropertyName("previousPage")]
 45  public Uri? PreviousPage {
 046    get {
 047      var baseUrl = Request.GetBaseUrl();
 048      return PageNumber > 1 ? baseUrl.BuildPagedUrl(PageNumber - 1, PageSize) : null;
 049    }
 50  }
 51
 52  [JsonIgnore]
 053  public HttpRequest? Request { get; set; }
 54}