< Summary

Information
Class: OzonDomains.ViewModels.PageViewModel<T1, T2>
Assembly: OzonDomains
File(s): /home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/ViewModels/PageViewModel.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 14
Coverable lines: 14
Total lines: 27
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Info()100%210%
get_PageNumber()100%210%
get_TotalPages()100%210%
get_HasPreviousPage()100%210%
get_HasNextPage()100%210%
.ctor(...)100%210%
get_Items()100%210%
get_FilterModel()100%210%

File(s)

/home/runner/work/Studio2Prod/Studio2Prod/OzonDomains/ViewModels/PageViewModel.cs

#LineLine coverage
 1namespace OzonDomains.ViewModels;
 2
 3public class PageViewModel<T, K>
 4{
 05    public string Info { get; set; } = string.Empty;
 06    public int PageNumber { get; set; }
 07    public int TotalPages { get; set; }
 08    public bool HasPreviousPage => PageNumber > 1;
 09    public bool HasNextPage => PageNumber < TotalPages;
 10
 11    private readonly IEnumerable<T> _items;
 12    private readonly K _filterModel;
 13
 014    public PageViewModel(IEnumerable<T> pageDate, int page, int pageSize, K filterModel)
 15    {
 016        var count = pageDate.Count();
 017        _items = pageDate.Skip((page - 1) * pageSize).Take(pageSize);
 18
 019        PageNumber = page;
 020        TotalPages = (int)Math.Ceiling(count / (double)pageSize);
 021        _filterModel = filterModel;
 022    }
 23
 024    public IEnumerable<T> Items => _items;
 25
 026    public K FilterModel => _filterModel;
 27}