It is recommended to use the NDepend interactive UI capabilities
to make the most of NDepend by mastering all aspects of your code.
Diagrams
Application Metrics
Note: Further Application Statistics are available.
|
Quality Gates summary
308
can be stopped upon quality gate
failure. Online documentation.

be run on the baseline. Hence they
have blank trend and baseline value.
Name | Trend | Baseline Value | Value | Group | |||
---|---|---|---|---|---|---|---|
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates | |||||
| ![]() | ![]() | ![]() | Project Rules \ Quality Gates | |||
| ![]() | Project Rules \ Quality Gates |
Rules summary
112447- Number of Rules or Queries with Error (syntax error, exception thrown, time-out): 0
- Number of Rules violated: 51

development-time, from within Visual
Studio. Online documentation.

run on the baseline. Hence they
have blank # Issues Fixed or Added.
Name | # Issues | Added | Fixed | Elements | Group | |||
---|---|---|---|---|---|---|---|---|
| 1 | 1 | 0 | type | Project Rules \ Code Smells | |||
| 1 | 0 | 0 | type | Project Rules \ Code Smells | |||
| 1 | 0 | 0 | method | Project Rules \ Code Smells | |||
| 16 | types | Project Rules \ Code Smells Regression | |||||
| 5 | types | Project Rules \ Code Smells Regression | |||||
| 2 | types | Project Rules \ Code Smells Regression | |||||
| 3 | 2 | 0 | types | Project Rules \ Object Oriented Design | |||
| 16 | 6 | 11 | types | Project Rules \ Object Oriented Design | |||
| 5 | 0 | 0 | methods | Project Rules \ Object Oriented Design | |||
| 6 | 2 | 0 | methods | Project Rules \ Object Oriented Design | |||
| 1 | 0 | 0 | type | Project Rules \ Object Oriented Design | |||
| 15 | 4 | 0 | namespaces | Project Rules \ Design | |||
| 1 | 0 | 0 | type | Project Rules \ Design | |||
| 3 | 3 | 0 | namespaces | Project Rules \ Design | |||
| 1 | 1 | 0 | type | Project Rules \ Design | |||
| 10 | 3 | 1 | members | Project Rules \ Architecture | |||
| 5 | 2 | 0 | namespaces | Project Rules \ Architecture | |||
| 3 | 2 | 0 | assemblies | Project Rules \ Architecture | |||
| 35 | types | Project Rules \ API Breaking Changes | |||||
| 88 | methods | Project Rules \ API Breaking Changes | |||||
| 1 | field | Project Rules \ API Breaking Changes | |||||
| 2 | types | Project Rules \ API Breaking Changes | |||||
| 581 | 122 | 157 | methods | Project Rules \ Code Coverage | |||
| 97 | methods | Project Rules \ Code Coverage | |||||
| 41 | methods | Project Rules \ Code Coverage | |||||
| 75 | 43 | 13 | code elements parent | Project Rules \ Code Coverage | |||
| 8 | methods | Project Rules \ Code Coverage | |||||
| 58 | 16 | 11 | types | Project Rules \ Code Coverage | |||
| 2 | 0 | 2 | methods | Project Rules \ Code Coverage | |||
| 4 | 0 | 0 | methods | Project Rules \ Dead Code | |||
| 11 | 2 | 1 | fields | Project Rules \ Visibility | |||
| 1 | 0 | 0 | field | Project Rules \ Visibility | |||
| 1 | 0 | 0 | type | Project Rules \ Visibility | |||
| 2 | 0 | 0 | methods | Project Rules \ Visibility | |||
| 3 | 2 | 1 | fields | Project Rules \ Immutability | |||
| 2 | 0 | 0 | fields | Project Rules \ Immutability | |||
| 2 | 0 | 1 | fields | Project Rules \ Immutability | |||
| 1 | 1 | 0 | field | Project Rules \ Naming Conventions | |||
| 2 | 0 | 0 | fields | Project Rules \ Naming Conventions | |||
| 3 | 0 | 0 | types | Project Rules \ Naming Conventions | |||
| 10 | 0 | 2 | types | Project Rules \ Naming Conventions | |||
| 6 | 0 | 0 | types | Project Rules \ Naming Conventions | |||
| 8 | 0 | 1 | types | Project Rules \ Naming Conventions | |||
| 2 | 0 | 0 | methods | Project Rules \ Naming Conventions | |||
| 5 | 0 | 0 | types | Project Rules \ Source Files Organization | |||
| 3 | 2 | 1 | namespaces | Project Rules \ Source Files Organization | |||
| 2 | 0 | 0 | namespaces | Project Rules \ Source Files Organization | |||
| 1 | 1 | 0 | type | Project Rules \ .NET Framework Usage \ System | |||
| 18 | 2 | 1 | methods | Project Rules \ .NET Framework Usage \ System | |||
| 3 | 2 | 3 | fields | Project Rules \ .NET Framework Usage \ System | |||
| 4 | 1 | 1 | methods | Project Rules \ .NET Framework Usage \ System.Collections |
Application Statistics
Stat | # Occurences | Avg | StdDev | Max |
---|---|---|---|---|
Properties on interfaces | 16 interfaces | 0.06 | 0.24 | 1 properties on BlazorShared.Interfaces.ILookupDataResponse<TLookupData> |
Methods on interfaces | 16 interfaces | 1.69 | 1.57 | 6 methods on BlazorShared.Interfaces.ICatalogItemService |
Arguments on methods on interfaces | 27 methods | 1.3 | 1.05 | 4 arguments on Microsoft.eShopWeb.Web.Services.ICatalogViewModelService.GetCatalogItems(Int32,Int32,Nullable<Int32>,Nullable<Int32>) |
Public properties on classes | 300 Classes | 2.09 | 2.59 | 15 public properties on <>f__AnonymousType8<<Id>j__TPar,<UserName>j__TPar,<NormalizedUserName>j__TPar,<Email>j__TPar,<NormalizedEmail>j__TPar,<EmailConfirmed>j__TPar,<PasswordHash>j__TPar,<SecurityStamp>j__TPar,<ConcurrencyStamp>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<TwoFactorEnabled>j__TPar,<LockoutEnd>j__TPar,<LockoutEnabled>j__TPar,<AccessFailedCount>j__TPar> |
Public methods on classes | 300 classes | 4.83 | 4.02 | 25 public methods on BlazorShared.Models.CatalogItem |
Arguments on public methods on classes | 1,448 methods | 0.54 | 1.19 | 15 arguments on <>f__AnonymousType8<<Id>j__TPar,<UserName>j__TPar,<NormalizedUserName>j__TPar,<Email>j__TPar,<NormalizedEmail>j__TPar,<EmailConfirmed>j__TPar,<PasswordHash>j__TPar,<SecurityStamp>j__TPar,<ConcurrencyStamp>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<TwoFactorEnabled>j__TPar,<LockoutEnd>j__TPar,<LockoutEnabled>j__TPar,<AccessFailedCount>j__TPar>..ctor(<Id>j__TPar,<UserName>j__TPar,<NormalizedUserName>j__TPar,<Email>j__TPar,<NormalizedEmail>j__TPar,<EmailConfirmed>j__TPar,<PasswordHash>j__TPar,<SecurityStamp>j__TPar,<ConcurrencyStamp>j__TPar,<PhoneNumber>j__TPar,<PhoneNumberConfirmed>j__TPar,<TwoFactorEnabled>j__TPar,<LockoutEnd>j__TPar,<LockoutEnabled>j__TPar,<AccessFailedCount>j__TPar) |
IL instructions in non-abstract methods | 1,984 methods | 56.6 | 277.63 | 5988 IL instructions in Microsoft.eShopWeb.Web.Pages.Shared.Views_Shared__Layout.ExecuteAsync() |
Cyclomatic complexity on non abstract Methods | 1,984 Methods | 3.98 | 16.34 | CC = 383 for Microsoft.eShopWeb.Web.Pages.Shared.Views_Shared__Layout.ExecuteAsync() |
Assemblies Metrics
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Assemblies | # lines of code | # IL instruction | # Types | # Abstract Types | # lines of comment | % Comment | % Coverage | Afferent Coupling | Efferent Coupling | Relational Cohesion | Instability | Abstractness | Distance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
BlazorShared v1.0.0.0 | 117 | 645 | 21 | 4 | 2 | 1.68 | 35.9 | 17 | 37 | 0.86 | 0.69 | 0.19 | 0.09 |
ApplicationCore v1.0.0.0 | 265 | 3045 | 44 | 11 | 21 | 7.34 | 81.13 | 40 | 76 | 1.73 | 0.66 | 0.25 | 0.07 |
Infrastructure v1.0.0.0 | 747 | 14854 | 50 | 0 | 21 | 2.73 | 13.39 | 10 | 170 | 1.12 | 0.94 | 0 | 0.04 |
Web v1.0.0.0 | 1122 | 75018 | 122 | 3 | 32 | 2.77 | 40.11 | 0 | 317 | 2.69 | 1 | 0.02 | 0.02 |
PublicApi v1.0.0.0 | 313 | 4369 | 40 | 3 | 43 | 12.08 | 66.13 | 0 | 125 | 2.12 | 1 | 0.08 | 0.05 |
BlazorAdmin v1.0.0.0 | 504 | 14362 | 40 | 0 | 7 | 1.37 | 1.39 | 0 | 154 | 2.05 | 1 | 0 | 0 |
If you wish to define thresholds on types' Code Metrics, consider writing some Rule.
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Types Metrics : Code Quality
Type Name | Type Rank | # Lines Of Code | # IL Instructions | # Lines Of Comment | % Comment | Cyclomatic Complexity | IL Cyclomatic Complexity | % Coverage | Afferent Coupling | Efferent Coupling | Type Namespace |
---|---|---|---|---|---|---|---|---|---|---|---|
NullableContextAttribute | 11.92 | 0 | 7 | - | - | - | 1 | - | 106 | 6 | System.Runtime.CompilerServices |
NullableAttribute | 10.24 | 0 | 19 | - | - | - | 2 | - | 102 | 7 | System.Runtime.CompilerServices |
BaseMessage | 5.9 | 2 | 10 | 0 | 0 | 2 | 2 | 100 | 22 | 3 | Microsoft.eShopWeb.PublicApi |
IAggregateRoot | 3.75 | - | - | - | - | - | - | - | 9 | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 3.66 | 0 | 4 | - | - | - | 1 | - | 2 | 3 | Microsoft.CodeAnalysis |
LookupData | 3.27 | 4 | 18 | 0 | 0 | 4 | 5 | 0 | 9 | 6 | BlazorShared.Models |
BaseEntity | 3.22 | 2 | 11 | 0 | 0 | 2 | 3 | 50 | 24 | 5 | Microsoft.eShopWeb.ApplicationCore .Entities |
NullableAttribute | 2.98 | 0 | 19 | - | - | - | 2 | - | 22 | 7 | System.Runtime.CompilerServices |
BaseResponse | 2.05 | 3 | 13 | 0 | 0 | 2 | 2 | 100 | 8 | 4 | Microsoft.eShopWeb.PublicApi |
CatalogItem | 1.95 | 42 | 318 | 0 | 0 | 33 | 50 | 33.33 | 11 | 31 | BlazorShared.Models |
BaseRequest | 1.69 | 0 | 4 | - | - | - | 1 | - | 6 | 3 | Microsoft.eShopWeb.PublicApi |
Basket | 1.53 | 18 | 121 | 0 | 0 | 13 | 17 | 94.44 | 12 | 19 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
EndpointAttribute | 1.49 | 2 | 11 | 0 | 0 | 2 | 3 | 0 | 3 | 5 | BlazorShared.Attributes |
CatalogItemViewModel | 1.46 | 8 | 32 | 0 | 0 | 8 | 9 | 100 | 10 | 9 | Microsoft.eShopWeb.Web.ViewModels |
Address | 1.4 | 17 | 65 | 0 | 0 | 12 | 12 | 64.71 | 8 | 5 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
CatalogItemDto | 1.37 | 14 | 53 | 0 | 0 | 14 | 15 | 100 | 9 | 7 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
NullableAttribute | 1.3 | 0 | 19 | - | - | - | 2 | - | 17 | 7 | System.Runtime.CompilerServices |
CatalogItem | 1.2 | 37 | 182 | 0 | 0 | 22 | 23 | 62.16 | 17 | 18 | Microsoft.eShopWeb.ApplicationCore .Entities |
Constants+Roles | 1.15 | 0 | 0 | - | - | - | 0 | - | 1 | 2 | BlazorShared.Authorization |
EmbeddedAttribute | 1.13 | 0 | 4 | - | - | - | 1 | - | 2 | 3 | Microsoft.CodeAnalysis |
IRepository<T> | 1.04 | - | - | - | - | - | - | - | 14 | 3 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 1.02 | 0 | 4 | - | - | - | 1 | - | 2 | 3 | Microsoft.CodeAnalysis |
IUriComposer | 0.96 | - | - | - | - | - | - | - | 9 | 1 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
BasketItem | 0.94 | 16 | 76 | 0 | 0 | 11 | 11 | 87.5 | 9 | 11 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
IEmailSender | 0.92 | - | - | - | - | - | - | - | 4 | 2 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
NullableContextAttribute | 0.91 | 0 | 7 | - | - | - | 1 | - | 9 | 6 | System.Runtime.CompilerServices |
ApplicationUser | 0.88 | 0 | 4 | - | - | - | 1 | - | 12 | 4 | Microsoft.eShopWeb.Infrastructure .Identity |
EmbeddedAttribute | 0.88 | 0 | 4 | - | - | - | 1 | - | 2 | 3 | Microsoft.CodeAnalysis |
RefreshBroadcast | 0.87 | 5 | 66 | 0 | 0 | 5 | 11 | 0 | 2 | 10 | BlazorAdmin.Helpers |
NullableAttribute | 0.83 | 0 | 19 | - | - | - | 2 | - | 11 | 7 | System.Runtime.CompilerServices |
CatalogItemOrdered | 0.82 | 14 | 63 | 0 | 0 | 8 | 8 | 92.86 | 7 | 9 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ILookupDataResponse<TLookupData> | 0.8 | - | - | - | - | - | - | - | 4 | 3 | BlazorShared.Interfaces |
CatalogBrand | 0.8 | 0 | 4 | - | - | - | 1 | - | 8 | 4 | BlazorShared.Models |
CatalogType | 0.8 | 0 | 4 | - | - | - | 1 | - | 8 | 4 | BlazorShared.Models |
BlazorComponent | 0.8 | 5 | 30 | 0 | 0 | 4 | 4 | 0 | 8 | 6 | BlazorAdmin.Helpers |
CatalogBrand | 0.79 | 4 | 16 | 0 | 0 | 3 | 3 | 100 | 8 | 7 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogType | 0.79 | 4 | 16 | 0 | 0 | 3 | 3 | 100 | 8 | 7 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogSettings | 0.74 | 2 | 11 | 0 | 0 | 2 | 3 | 100 | 3 | 5 | Microsoft.eShopWeb |
OrderItem | 0.73 | 11 | 43 | 0 | 0 | 8 | 8 | 90.91 | 8 | 8 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
BasketViewModel | 0.72 | 9 | 54 | 0 | 0 | 9 | 10 | 88.89 | 6 | 16 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogIndexViewModel | 0.71 | 12 | 46 | 0 | 0 | 12 | 13 | 100 | 5 | 12 | Microsoft.eShopWeb.Web.ViewModels |
CreateCatalogItemRequest | 0.68 | 21 | 78 | 0 | 0 | 17 | 17 | 85.71 | 4 | 11 | BlazorShared.Models |
Order | 0.61 | 26 | 113 | 0 | 0 | 11 | 13 | 84.62 | 7 | 21 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ICatalogItemService | 0.59 | - | - | - | - | - | - | - | 8 | 6 | BlazorShared.Interfaces |
BaseUrlConfiguration | 0.58 | 4 | 18 | 0 | 0 | 4 | 5 | 100 | 5 | 5 | BlazorShared |
CatalogContext | 0.56 | 17 | 66 | 0 | 0 | 16 | 16 | 88.24 | 4 | 21 | Microsoft.eShopWeb.Infrastructure .Data |
ManageNavPages | 0.56 | 12 | 51 | 0 | 0 | 12 | 13 | 83.33 | 11 | 10 | Microsoft.eShopWeb.Web.Views .Manage |
IReadRepository<T> | 0.55 | - | - | - | - | - | - | - | 4 | 2 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
IAppLogger<T> | 0.53 | - | - | - | - | - | - | - | 5 | 5 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ClaimValue | 0.51 | 8 | 32 | 0 | 0 | 6 | 6 | 0 | 3 | 5 | BlazorShared.Authorization |
ICatalogLookupDataService <TLookupData> | 0.5 | - | - | - | - | - | - | - | 5 | 3 | BlazorShared.Interfaces |
BasketItemViewModel | 0.5 | 14 | 53 | 0 | 0 | 14 | 15 | 92.86 | 6 | 10 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogTypeDto | 0.5 | 4 | 18 | 0 | 0 | 4 | 5 | 0 | 3 | 6 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
CatalogBrandDto | 0.5 | 4 | 18 | 0 | 0 | 4 | 5 | 0 | 3 | 6 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ToastLevel | 0.5 | - | - | - | - | - | - | - | 3 | 2 | BlazorAdmin.Services |
OrderItemViewModel | 0.49 | 10 | 41 | 0 | 0 | 11 | 12 | 50 | 4 | 9 | Microsoft.eShopWeb.Web.ViewModels |
PaginationInfoViewModel | 0.46 | 12 | 46 | 0 | 0 | 12 | 13 | 100 | 4 | 8 | Microsoft.eShopWeb.Web.ViewModels |
ICatalogViewModelService | 0.46 | - | - | - | - | - | - | - | 4 | 7 | Microsoft.eShopWeb.Web.Services |
IBasketViewModelService | 0.45 | - | - | - | - | - | - | - | 5 | 6 | Microsoft.eShopWeb.Web.Interfaces |
EmbeddedAttribute | 0.45 | 0 | 4 | - | - | - | 1 | - | 1 | 3 | Microsoft.CodeAnalysis |
<>f__AnonymousType1<<userId >j__TPar,<code>j__TPar> | 0.44 | 0 | 95 | - | - | - | 14 | - | 2 | 13 | |
JSInteropConstants | 0.44 | 5 | 10 | 0 | 0 | 5 | 5 | 0 | 3 | 2 | BlazorAdmin.JavaScript |
ICatalogItemViewModelService | 0.41 | - | - | - | - | - | - | - | 3 | 3 | Microsoft.eShopWeb.Web.Interfaces |
OrderViewModel | 0.4 | 12 | 44 | 0 | 0 | 12 | 12 | 50 | 5 | 13 | Microsoft.eShopWeb.Web.ViewModels |
ClaimValue | 0.4 | 8 | 32 | 0 | 0 | 6 | 6 | 0 | 1 | 5 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
IBasketService | 0.39 | - | - | - | - | - | - | - | 5 | 7 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ToastService | 0.38 | 13 | 174 | 0 | 0 | 7 | 23 | 0 | 2 | 18 | BlazorAdmin.Services |
ToastComponent | 0.38 | 38 | 159 | 0 | 0 | 21 | 23 | 0 | 1 | 14 | BlazorAdmin.Helpers |
CatalogLookupDataService <TLookupData,TReponse> | 0.35 | 8 | 162 | 0 | 0 | 2 | 11 | 0 | 2 | 33 | BlazorAdmin.Services |
EmptyBasketOnCheckoutException | 0.35 | 4 | 26 | 0 | 0 | 4 | 4 | 0 | 2 | 5 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
CatalogItemService | 0.34 | 55 | 1161 | 0 | 0 | 15 | 92 | 0 | 2 | 41 | BlazorAdmin.Services |
CustomAuthStateProvider | 0.34 | 29 | 510 | 0 | 0 | 12 | 47 | 0 | 1 | 43 | BlazorAdmin |
Spinner | 0.34 | 0 | 11 | - | - | - | 2 | - | 5 | 7 | BlazorAdmin.Shared |
NullableContextAttribute | 0.33 | 0 | 7 | - | - | - | 1 | - | 2 | 6 | System.Runtime.CompilerServices |
IBasketQueryService | 0.33 | - | - | - | - | - | - | - | 3 | 3 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ITokenClaimsService | 0.33 | - | - | - | - | - | - | - | 3 | 2 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CatalogViewModelService | 0.32 | 32 | 883 | 0 | 0 | 13 | 53 | 100 | 2 | 47 | Microsoft.eShopWeb.Web.Services |
Program+<>c | 0.32 | 8 | 106 | 0 | 0 | 4 | 6 | 100 | 1 | 30 | |
Program+<>c__DisplayClass0_0 | 0.32 | 5 | 40 | 0 | 0 | 3 | 4 | 40 | 1 | 20 | |
Program+<>c | 0.32 | 14 | 147 | 0 | 0 | 8 | 13 | 57.14 | 1 | 54 | |
Program+<>c__DisplayClass0_0 | 0.32 | 7 | 79 | 0 | 0 | 3 | 5 | 100 | 1 | 19 | |
ErrorDetails | 0.31 | 5 | 26 | 0 | 0 | 5 | 6 | 0 | 2 | 8 | BlazorShared.Models |
BasketNotFoundException | 0.31 | 1 | 19 | 0 | 0 | 1 | 1 | 100 | 1 | 5 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
IOrderService | 0.31 | - | - | - | - | - | - | - | 3 | 3 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CustomInputSelect<TValue> | 0.31 | 9 | 54 | 0 | 0 | 3 | 5 | 0 | 1 | 7 | BlazorAdmin.Shared |
Program+<>c__DisplayClass0_0 | 0.3 | 1 | 14 | 0 | 0 | 1 | 2 | 0 | 1 | 10 | |
Program+<>c | 0.3 | 1 | 11 | 0 | 0 | 1 | 3 | 0 | 1 | 11 | |
Css | 0.3 | 4 | 203 | 0 | 0 | 3 | 21 | 0 | 4 | 22 | BlazorAdmin.JavaScript |
BasketComponentViewModel | 0.3 | 2 | 11 | 0 | 0 | 2 | 3 | 100 | 3 | 5 | Microsoft.eShopWeb.Web.ViewModels |
BasketWithItemsSpecification | 0.3 | 4 | 122 | 0 | 0 | 2 | 4 | 100 | 3 | 32 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogBrandResponse | 0.29 | 3 | 14 | 0 | 0 | 3 | 3 | 0 | 1 | 8 | BlazorShared.Models |
CatalogTypeResponse | 0.29 | 3 | 14 | 0 | 0 | 3 | 3 | 0 | 1 | 8 | BlazorShared.Models |
CachedCatalogItemServiceDecorator | 0.29 | 44 | 1515 | 0 | 0 | 13 | 110 | 0 | 1 | 41 | BlazorAdmin.Services |
PaymentMethod | 0.29 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 1 | 6 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
CachedCatalogLookupDataServiceDeco rator<TLookupData,TReponse> | 0.29 | 16 | 356 | 0 | 0 | 4 | 22 | 0 | 1 | 37 | BlazorAdmin.Services |
DuplicateException | 0.28 | 1 | 6 | 0 | 0 | 1 | 1 | 0 | 2 | 3 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
Route | 0.28 | 3 | 112 | 0 | 0 | 2 | 11 | 0 | 2 | 20 | BlazorAdmin.JavaScript |
GetMyOrders | 0.26 | 4 | 16 | 0 | 0 | 3 | 3 | 100 | 2 | 9 | Microsoft.eShopWeb.Web.Features .MyOrders |
GetOrderDetails | 0.26 | 7 | 27 | 0 | 0 | 5 | 5 | 85.71 | 2 | 10 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CacheEntry<T> | 0.26 | 9 | 34 | 0 | 0 | 6 | 6 | 0 | 2 | 5 | BlazorAdmin.Services |
AppIdentityDbContext | 0.25 | 2 | 12 | 0 | 0 | 2 | 2 | 100 | 1 | 14 | Microsoft.eShopWeb.Infrastructure .Identity |
NullableContextAttribute | 0.25 | 0 | 7 | - | - | - | 1 | - | 1 | 6 | System.Runtime.CompilerServices |
UserInfo | 0.25 | 11 | 42 | 0 | 0 | 11 | 12 | 0 | 2 | 8 | BlazorShared.Authorization |
CatalogItemViewModelService | 0.25 | 5 | 185 | 0 | 0 | 2 | 14 | 0 | 1 | 26 | Microsoft.eShopWeb.Web.Services |
CachedCatalogViewModelService | 0.25 | 13 | 712 | 0 | 0 | 7 | 62 | 53.85 | 1 | 29 | Microsoft.eShopWeb.Web.Services |
BasketViewModelService | 0.25 | 26 | 854 | 0 | 0 | 10 | 64 | 80.77 | 1 | 40 | Microsoft.eShopWeb.Web.Services |
CatalogItemsSpecification | 0.25 | 2 | 55 | 0 | 0 | 1 | 2 | 100 | 2 | 30 | Microsoft.eShopWeb.ApplicationCore .Specifications |
NullableAttribute | 0.25 | 0 | 19 | - | - | - | 2 | - | 2 | 7 | System.Runtime.CompilerServices |
BasketGuards | 0.25 | 4 | 22 | 0 | 0 | 4 | 4 | 75 | 2 | 13 | Ardalis.GuardClauses |
ShowRecoveryCodesViewModel | 0.24 | 2 | 11 | 0 | 0 | 2 | 3 | 0 | 2 | 8 | Microsoft.eShopWeb.Web.ViewModels .Manage |
BasketItemConfiguration+<>c | 0.24 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Config |
RevokeAuthenticationEvents | 0.24 | 10 | 187 | 0 | 0 | 4 | 14 | 50 | 1 | 36 | Microsoft.eShopWeb.Web .Configuration |
CatalogFilterSpecification | 0.23 | 2 | 94 | 0 | 0 | 4 | 2 | 100 | 2 | 28 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogFilterPaginatedSpecificatio n | 0.23 | 4 | 108 | 0 | 0 | 5 | 3 | 100 | 2 | 28 | Microsoft.eShopWeb.ApplicationCore .Specifications |
RedirectToLogin | 0.23 | 1 | 30 | 0 | 0 | 1 | 5 | 0 | 1 | 11 | BlazorAdmin.Shared |
MainLayout | 0.23 | 7 | 352 | 0 | 0 | 4 | 29 | 0 | 1 | 36 | BlazorAdmin.Shared |
CatalogBrandConfiguration+<>c | 0.23 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderService | 0.23 | 20 | 385 | 0 | 0 | 5 | 23 | 100 | 1 | 45 | Microsoft.eShopWeb.ApplicationCore .Services |
EmailSender | 0.23 | 1 | 10 | 0 | 0 | 1 | 2 | 0 | 1 | 5 | Microsoft.eShopWeb.Infrastructure .Services |
LoggerAdapter<T> | 0.23 | 4 | 25 | 0 | 0 | 3 | 3 | 75 | 1 | 11 | Microsoft.eShopWeb.Infrastructure .Logging |
EfRepository<T> | 0.23 | 1 | 6 | 0 | 0 | 1 | 1 | 100 | 1 | 10 | Microsoft.eShopWeb.Infrastructure .Data |
BasketQueryService | 0.23 | 4 | 195 | 0 | 0 | 2 | 12 | 100 | 1 | 42 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
CatalogTypeConfiguration+<>c | 0.23 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Config |
UriComposer | 0.23 | 3 | 18 | 0 | 0 | 2 | 2 | 100 | 1 | 5 | Microsoft.eShopWeb.ApplicationCore .Services |
BasketService | 0.23 | 46 | 1150 | 0 | 0 | 12 | 78 | 100 | 1 | 41 | Microsoft.eShopWeb.ApplicationCore .Services |
CacheHelpers | 0.22 | 5 | 47 | 0 | 0 | 4 | 4 | 100 | 1 | 10 | Microsoft.eShopWeb.Web.Extensions |
CustomSchemaFilters | 0.22 | 7 | 44 | 0 | 0 | 3 | 5 | 0 | 1 | 10 | Microsoft.eShopWeb.PublicApi |
AuthenticateResponse | 0.22 | 26 | 89 | 0 | 0 | 14 | 14 | 100 | 1 | 9 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
BasketConfiguration+<>c | 0.22 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Config |
AuthenticateRequest | 0.22 | 4 | 18 | 0 | 0 | 4 | 5 | 100 | 1 | 7 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
RegisterModel+InputModel | 0.22 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 2 | 12 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LogoutModel | 0.22 | 14 | 255 | 0 | 0 | 5 | 18 | 0 | 1 | 44 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
PrivacyModel | 0.22 | 0 | 6 | 0 | - | 1 | 2 | 0 | 1 | 3 | Microsoft.eShopWeb.Web.Pages |
ConfirmEmailModel | 0.22 | 11 | 242 | 0 | 0 | 6 | 19 | 0 | 1 | 26 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
BasketWithItemsSpecification+<>c | 0.22 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.ApplicationCore .Specifications |
LoginModel+InputModel | 0.22 | 6 | 25 | 0 | 0 | 6 | 7 | 83.33 | 2 | 11 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
TwoFactorAuthenticationViewModel | 0.21 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 2 | 6 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ErrorModel | 0.21 | 4 | 35 | 0 | 0 | 5 | 8 | 0 | 1 | 12 | Microsoft.eShopWeb.Web.Pages |
CustomerOrdersWithItemsSpecificati on+<>c | 0.21 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogItemConfiguration+<>c | 0.21 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CustomerOrdersWithItemsSpecificati on | 0.21 | 2 | 79 | 0 | 0 | 1 | 2 | 100 | 1 | 32 | Microsoft.eShopWeb.ApplicationCore .Specifications |
OrderWithItemsByIdSpec+<>c | 0.21 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.ApplicationCore .Specifications |
Toast | 0.21 | 2 | 119 | 0 | 0 | 0 | 4 | 0 | 1 | 9 | BlazorAdmin.Shared |
BlazorLayoutComponent | 0.21 | 5 | 30 | 0 | 0 | 4 | 4 | 0 | 1 | 7 | BlazorAdmin.Helpers |
OrderWithItemsByIdSpec | 0.21 | 2 | 79 | 0 | 0 | 1 | 2 | 100 | 1 | 35 | Microsoft.eShopWeb.ApplicationCore .Specifications |
EnableAuthenticatorViewModel | 0.2 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 2 | 12 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ChangePasswordViewModel | 0.2 | 8 | 32 | 0 | 0 | 8 | 9 | 0 | 2 | 12 | Microsoft.eShopWeb.Web.ViewModels .Manage |
SetPasswordViewModel | 0.2 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 2 | 12 | Microsoft.eShopWeb.Web.ViewModels .Manage |
IndexViewModel | 0.2 | 10 | 39 | 0 | 0 | 10 | 11 | 100 | 2 | 12 | Microsoft.eShopWeb.Web.ViewModels .Manage |
HttpService | 0.2 | 27 | 968 | 0 | 0 | 11 | 71 | 0 | 1 | 28 | BlazorAdmin.Services |
CreateCatalogItemResponse | 0.2 | 3 | 14 | 0 | 0 | 3 | 3 | 100 | 1 | 5 | BlazorShared.Models |
EditCatalogItemResult | 0.2 | 3 | 14 | 0 | 0 | 3 | 3 | 0 | 1 | 5 | BlazorShared.Models |
PagedCatalogItemResponse | 0.2 | 5 | 24 | 0 | 0 | 5 | 5 | 0 | 1 | 7 | BlazorShared.Models |
DeleteCatalogItemResponse | 0.2 | 3 | 14 | 0 | 0 | 3 | 3 | 100 | 1 | 5 | BlazorShared.Models |
ListCatalogTypesResponse | 0.2 | 6 | 24 | 0 | 0 | 4 | 4 | 0 | 1 | 9 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ListCatalogBrandsResponse | 0.2 | 6 | 24 | 0 | 0 | 4 | 4 | 0 | 1 | 9 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ExternalLoginsViewModel | 0.2 | 8 | 32 | 0 | 0 | 8 | 9 | 0 | 2 | 11 | Microsoft.eShopWeb.Web.ViewModels .Manage |
GetByIdCatalogItemRequest | 0.2 | 4 | 16 | 0 | 0 | 3 | 3 | 100 | 1 | 7 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemResponse | 0.2 | 6 | 24 | 0 | 0 | 4 | 4 | 83.33 | 1 | 8 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemRequest | 0.2 | 4 | 16 | 0 | 0 | 3 | 3 | 100 | 1 | 7 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
GetByIdCatalogItemResponse | 0.2 | 4 | 18 | 0 | 0 | 4 | 4 | 100 | 1 | 8 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
BasketQueryService+<>c | 0.2 | 0 | 7 | - | - | - | 2 | - | 1 | 4 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
UpdateCatalogItemResponse | 0.2 | 4 | 18 | 0 | 0 | 4 | 4 | 0 | 1 | 8 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
UpdateCatalogItemRequest | 0.2 | 18 | 67 | 0 | 0 | 18 | 19 | 0 | 1 | 11 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType13<<UserId >j__TPar,<RoleId>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
CreateCatalogItemResponse | 0.19 | 4 | 18 | 0 | 0 | 4 | 4 | 75 | 1 | 8 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType14<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar,<Value>j__TPar> | 0.19 | 0 | 167 | - | - | - | 20 | - | 1 | 13 | |
<>f__AnonymousType15<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar> | 0.19 | 0 | 131 | - | - | - | 17 | - | 1 | 13 | |
<>f__AnonymousType11< <LoginProvider>j__TPar, <ProviderKey>j__TPar, <ProviderDisplayName>j__TPar, <UserId>j__TPar> | 0.19 | 0 | 167 | - | - | - | 20 | - | 1 | 13 | |
CreateCatalogItemRequest | 0.19 | 16 | 60 | 0 | 0 | 16 | 17 | 87.5 | 1 | 9 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType10<<Id>j__TPar, <UserId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 0.19 | 0 | 167 | - | - | - | 20 | - | 1 | 13 | |
CatalogItemNameSpecification | 0.19 | 2 | 43 | 0 | 0 | 1 | 2 | 100 | 1 | 25 | Microsoft.eShopWeb.ApplicationCore .Specifications |
<>f__AnonymousType12< <LoginProvider>j__TPar, <ProviderKey>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
<>f__AnonymousType9<<Id>j__TPar, <RoleId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 0.19 | 0 | 167 | - | - | - | 20 | - | 1 | 13 | |
<>f__AnonymousType7<<Id>j__TPar, <Name>j__TPar,<NormalizedName >j__TPar,<ConcurrencyStamp>j__TPar > | 0.19 | 0 | 167 | - | - | - | 20 | - | 1 | 13 | |
<>f__AnonymousType8<<Id>j__TPar, <UserName>j__TPar, <NormalizedUserName>j__TPar,<Email >j__TPar,<NormalizedEmail>j__TPar, <EmailConfirmed>j__TPar, <PasswordHash>j__TPar, <SecurityStamp>j__TPar, <ConcurrencyStamp>j__TPar, <PhoneNumber>j__TPar, <PhoneNumberConfirmed>j__TPar, <TwoFactorEnabled>j__TPar, <LockoutEnd>j__TPar, <LockoutEnabled>j__TPar, <AccessFailedCount>j__TPar> | 0.19 | 0 | 563 | - | - | - | 53 | - | 1 | 13 | |
SuccessModel | 0.19 | 0 | 6 | 0 | - | 1 | 2 | 0 | 1 | 4 | Microsoft.eShopWeb.Web.Pages .Basket |
<>f__AnonymousType0<<Id>j__TPar, <BuyerId>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
<>f__AnonymousType6<<Id>j__TPar, <ItemOrdered_CatalogItemId>j__TPar ,<ItemOrdered_ProductName>j__TPar, <ItemOrdered_PictureUri>j__TPar, <UnitPrice>j__TPar,<Units>j__TPar, <OrderId>j__TPar> | 0.19 | 0 | 275 | - | - | - | 29 | - | 1 | 13 | |
<>f__AnonymousType1<<Id>j__TPar, <Brand>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
<>f__AnonymousType4<<Id>j__TPar, <UnitPrice>j__TPar,<Quantity >j__TPar,<CatalogItemId>j__TPar, <BasketId>j__TPar> | 0.19 | 0 | 203 | - | - | - | 23 | - | 1 | 13 | |
<>f__AnonymousType5<<Id>j__TPar, <Name>j__TPar,<Description>j__TPar ,<Price>j__TPar,<PictureUri >j__TPar,<CatalogTypeId>j__TPar, <CatalogBrandId>j__TPar> | 0.19 | 0 | 275 | - | - | - | 29 | - | 1 | 13 | |
<>f__AnonymousType3<<Id>j__TPar, <BuyerId>j__TPar,<OrderDate >j__TPar,<ShipToAddress_Street >j__TPar,<ShipToAddress_City >j__TPar,<ShipToAddress_State >j__TPar,<ShipToAddress_Country >j__TPar,<ShipToAddress_ZipCode >j__TPar> | 0.19 | 0 | 311 | - | - | - | 32 | - | 1 | 13 | |
<>f__AnonymousType2<<Id>j__TPar, <Type>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
<>f__AnonymousType3<<key>j__TPar, <value>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
SlugifyParameterTransformer | 0.19 | 3 | 25 | 0 | 0 | 2 | 4 | 66.67 | 1 | 8 | Microsoft.eShopWeb.Web |
ListPagedCatalogItemResponse | 0.19 | 8 | 31 | 0 | 0 | 6 | 6 | 100 | 1 | 10 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ListPagedCatalogItemRequest | 0.19 | 13 | 53 | 0 | 0 | 11 | 9 | 100 | 1 | 8 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType0<<ReturnUrl >j__TPar,<RememberMe>j__TPar> | 0.19 | 0 | 95 | - | - | - | 14 | - | 1 | 13 | |
Create | 0.19 | 41 | 1579 | 0 | 0 | 18 | 78 | 0 | 1 | 71 | BlazorAdmin.Pages.CatalogItemPage |
Delete | 0.19 | 35 | 1059 | 0 | 0 | 13 | 62 | 0 | 1 | 43 | BlazorAdmin.Pages.CatalogItemPage |
Edit | 0.19 | 41 | 1657 | 0 | 0 | 19 | 84 | 0 | 1 | 69 | BlazorAdmin.Pages.CatalogItemPage |
Details | 0.19 | 33 | 1014 | 0 | 0 | 12 | 58 | 0 | 1 | 42 | BlazorAdmin.Pages.CatalogItemPage |
CheckoutModel | 0.18 | 36 | 683 | 0 | 0 | 14 | 60 | 58.33 | 1 | 55 | Microsoft.eShopWeb.Web.Pages .Basket |
IndexModel | 0.18 | 36 | 714 | 0 | 0 | 16 | 57 | 75 | 1 | 47 | Microsoft.eShopWeb.Web.Pages .Basket |
EditCatalogItemModel | 0.18 | 9 | 133 | 0 | 0 | 6 | 15 | 0 | 1 | 26 | Microsoft.eShopWeb.Web.Pages.Admin |
TypeInference | 0.18 | 0 | 189 | - | - | - | 8 | - | 1 | 13 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Edit |
LoginWith2faViewModel | 0.18 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 1 | 12 | Microsoft.eShopWeb.Web.ViewModels .Account |
TypeInference | 0.18 | 0 | 189 | - | - | - | 8 | - | 1 | 13 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Create |
RegisterModel | 0.18 | 27 | 428 | 0 | 0 | 11 | 32 | 0 | 1 | 48 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LoginModel | 0.18 | 38 | 626 | 0 | 0 | 21 | 54 | 71.05 | 1 | 53 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IndexModel | 0.18 | 6 | 135 | 0 | 0 | 5 | 13 | 100 | 1 | 21 | Microsoft.eShopWeb.Web.Pages |
EmailSenderExtensions | 0.17 | 1 | 15 | 0 | 0 | 1 | 1 | 0 | 1 | 8 | Microsoft.eShopWeb.Web.Services |
UrlHelperExtensions | 0.17 | 1 | 13 | 0 | 0 | 1 | 1 | 0 | 1 | 8 | Microsoft.AspNetCore.Mvc |
RemoveLoginViewModel | 0.17 | 4 | 18 | 0 | 0 | 4 | 5 | 0 | 1 | 7 | Microsoft.eShopWeb.Web.ViewModels .Manage |
Views_Account_Lockout | 0.15 | 2 | 127 | - | - | - | 17 | 0 | 0 | 29 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ManageNav | 0.15 | 6 | 1210 | - | - | - | 79 | 50 | 0 | 52 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Account_LoginWith2fa | 0.15 | 12 | 2750 | - | - | - | 169 | 0 | 0 | 69 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ViewImports | 0.15 | 0 | 101 | - | - | - | 17 | - | 0 | 26 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_TwoFactorAuthenticati on | 0.15 | 9 | 2315 | - | - | - | 152 | 0 | 0 | 49 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__Layout | 0.15 | 3 | 458 | - | - | - | 41 | 100 | 0 | 46 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__StatusMessage | 0.15 | 4 | 208 | - | - | - | 20 | 100 | 0 | 27 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ShowRecoverCodes | 0.15 | 8 | 211 | - | - | - | 19 | 0 | 0 | 32 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Shared__Layout | 0.15 | 6 | 6259 | - | - | - | 397 | 66.67 | 0 | 55 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__CookieConsentPartial | 0.15 | 5 | 468 | - | - | - | 39 | 0 | 0 | 46 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared_Error | 0.15 | 1 | 113 | - | - | - | 17 | 0 | 0 | 29 | Microsoft.eShopWeb.Web.Pages .Shared |
Program | 0.15 | 0 | 50 | - | - | - | 4 | - | 0 | 13 | |
Views_Shared_Components_Basket_Def ault | 0.15 | 2 | 615 | - | - | - | 49 | 100 | 0 | 47 | Microsoft.eShopWeb.Web.Pages .Shared.Components.Basket |
Views_Shared__ValidationScriptsPar tial | 0.15 | 0 | 1542 | - | - | - | 103 | - | 0 | 46 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__LoginPartial | 0.15 | 5 | 2002 | - | - | - | 124 | 80 | 0 | 54 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__pagination | 0.15 | 20 | 933 | - | - | - | 57 | 65 | 0 | 54 | Microsoft.eShopWeb.Web.Pages .Shared |
NavMenu | 0.15 | 4 | 345 | 0 | 0 | 5 | 15 | 0 | 0 | 26 | BlazorAdmin.Shared |
Pages_Shared__editCatalog | 0.15 | 6 | 1563 | - | - | - | 91 | 0 | 0 | 60 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__product | 0.15 | 7 | 1580 | - | - | - | 91 | 100 | 0 | 60 | Microsoft.eShopWeb.Web.Pages .Shared |
ServicesConfiguration | 0.15 | 7 | 24 | 0 | 0 | 1 | 1 | 100 | 0 | 14 | BlazorAdmin |
App | 0.15 | 1 | 210 | - | - | - | 18 | 0 | 0 | 24 | BlazorAdmin |
_Imports | 0.15 | 0 | 6 | - | - | - | 2 | - | 0 | 4 | BlazorAdmin |
Views_Manage_SetPassword | 0.15 | 10 | 2606 | - | - | - | 168 | 0 | 0 | 67 | Microsoft.eShopWeb.Web.Pages .Manage |
Pages_Index | 0.15 | 13 | 2280 | - | - | - | 147 | 84.62 | 0 | 76 | Microsoft.eShopWeb.Web.Pages |
Pages_Error | 0.15 | 3 | 159 | - | - | - | 22 | 0 | 0 | 31 | Microsoft.eShopWeb.Web.Pages |
ResetPasswordViewModel | 0.15 | 8 | 32 | 0 | 0 | 8 | 9 | 0 | 0 | 13 | Microsoft.eShopWeb.Web.ViewModels .Account |
Pages_Privacy | 0.15 | 2 | 141 | - | - | - | 21 | 0 | 0 | 30 | Microsoft.eShopWeb.Web.Pages |
Views__ViewImports | 0.15 | 0 | 101 | - | - | - | 17 | - | 0 | 26 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewStart | 0.15 | 1 | 106 | - | - | - | 17 | 100 | 0 | 27 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewImports | 0.15 | 0 | 101 | - | - | - | 17 | - | 0 | 26 | Microsoft.eShopWeb.Web.Pages |
Constants | 0.15 | 0 | 0 | - | - | - | 0 | - | 0 | 2 | BlazorShared.Authorization |
Program | 0.15 | 0 | 31 | - | - | - | 3 | - | 0 | 12 | |
<>f__AnonymousType2<<status >j__TPar,<errors>j__TPar> | 0.15 | 0 | 95 | - | - | - | 14 | - | 0 | 13 | |
Constants | 0.15 | 0 | 0 | - | - | - | 0 | - | 0 | 5 | Microsoft.eShopWeb.Web |
RegisterViewModel | 0.15 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 0 | 13 | Microsoft.eShopWeb.Web.ViewModels .Account |
LoginViewModel | 0.15 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 0 | 12 | Microsoft.eShopWeb.Web.ViewModels .Account |
FileViewModel | 0.15 | 6 | 25 | 0 | 0 | 6 | 7 | 0 | 0 | 7 | Microsoft.eShopWeb.Web.ViewModels .File |
Cookies | 0.15 | 4 | 221 | 0 | 0 | 3 | 21 | 0 | 0 | 22 | BlazorAdmin.JavaScript |
Views_Manage_MyAccount | 0.15 | 15 | 3622 | - | - | - | 225 | 80 | 0 | 69 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_GenerateRecoveryCodes | 0.15 | 3 | 645 | - | - | - | 47 | 0 | 0 | 49 | Microsoft.eShopWeb.Web.Pages .Manage |
FixShipToAddress | 0.15 | 104 | 1367 | 0 | 0 | 18 | 34 | 0 | 0 | 33 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
Views_Manage_ResetAuthenticator | 0.15 | 3 | 433 | - | - | - | 34 | 0 | 0 | 48 | Microsoft.eShopWeb.Web.Pages .Manage |
Logout | 0.15 | 2 | 160 | - | - | - | 19 | 0 | 0 | 28 | BlazorAdmin.Pages |
List | 0.15 | 49 | 1548 | 0 | 0 | 22 | 103 | 0 | 0 | 55 | BlazorAdmin.Pages.CatalogItemPage |
Views_Order_MyOrders | 0.15 | 14 | 1011 | - | - | - | 61 | 0 | 0 | 71 | Microsoft.eShopWeb.Web.Pages.Order |
Views_Order_Detail | 0.15 | 19 | 379 | - | - | - | 19 | 0 | 0 | 36 | Microsoft.eShopWeb.Web.Pages.Order |
Views__ViewStart | 0.15 | 1 | 106 | - | - | - | 17 | 100 | 0 | 27 | Microsoft.eShopWeb.Web.Pages |
Views_Manage_ChangePassword | 0.15 | 14 | 3343 | - | - | - | 210 | 0 | 0 | 67 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ExternalLogins | 0.15 | 21 | 1950 | - | - | - | 110 | 0 | 0 | 73 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_EnableAuthenticator | 0.15 | 9 | 1695 | - | - | - | 111 | 0 | 0 | 67 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_Disable2fa | 0.15 | 3 | 645 | - | - | - | 47 | 0 | 0 | 49 | Microsoft.eShopWeb.Web.Pages .Manage |
Areas_Identity_Pages_Account_Regis ter | 0.15 | 13 | 3194 | - | - | - | 201 | 0 | 0 | 70 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Logou t | 0.15 | 2 | 141 | - | - | - | 21 | 0 | 0 | 30 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Login | 0.15 | 13 | 3419 | - | - | - | 213 | 100 | 0 | 71 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account__View Imports | 0.15 | 0 | 101 | - | - | - | 17 | - | 0 | 26 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IdentityTokenClaimService | 0.15 | 15 | 312 | 0 | 0 | 3 | 18 | 66.67 | 0 | 39 | Microsoft.eShopWeb.Infrastructure .Identity |
AppIdentityDbContextSeed | 0.15 | 8 | 323 | - | - | - | 23 | 100 | 0 | 22 | Microsoft.eShopWeb.Infrastructure .Identity |
Dependencies | 0.15 | 12 | 113 | 0 | 0 | 7 | 11 | 83.33 | 0 | 19 | Microsoft.eShopWeb.Infrastructure |
Buyer | 0.15 | 8 | 34 | 0 | 0 | 5 | 5 | 0 | 0 | 14 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
Areas_Identity_Pages__ValidationSc riptsPartial | 0.15 | 0 | 1542 | - | - | - | 103 | - | 0 | 46 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Program | 0.15 | 0 | 31 | 0 | - | 0 | 3 | - | 0 | 12 | |
IdentityHostingStartup | 0.15 | 1 | 20 | 0 | 0 | 2 | 4 | 100 | 0 | 10 | Microsoft.eShopWeb.Web.Areas .Identity |
Areas_Identity_Pages__ViewImports | 0.15 | 0 | 101 | - | - | - | 17 | - | 0 | 26 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Areas_Identity_Pages_Account_Confi rmEmail | 0.15 | 2 | 141 | - | - | - | 21 | 0 | 0 | 30 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
AuthorizationConstants | 0.15 | 0 | 4 | - | - | - | 1 | - | 0 | 3 | Microsoft.eShopWeb.ApplicationCore .Constants |
Areas_Identity_Pages__ViewStart | 0.15 | 1 | 106 | - | - | - | 17 | 100 | 0 | 27 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
CatalogItemConfiguration | 0.15 | 7 | 191 | 0 | 0 | 1 | 2 | 100 | 0 | 32 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogBrandConfiguration | 0.15 | 3 | 78 | 0 | 0 | 1 | 2 | 100 | 0 | 26 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketItemConfiguration | 0.15 | 1 | 30 | 0 | 0 | 1 | 2 | 100 | 0 | 23 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogTypeConfiguration | 0.15 | 3 | 78 | 0 | 0 | 1 | 2 | 100 | 0 | 26 | Microsoft.eShopWeb.Infrastructure .Data.Config |
JsonExtensions | 0.15 | 3 | 15 | 0 | 0 | 3 | 3 | 100 | 0 | 7 | Microsoft.eShopWeb |
OrderItemConfiguration | 0.15 | 4 | 89 | 0 | 0 | 2 | 4 | 100 | 0 | 26 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderConfiguration | 0.15 | 11 | 215 | 0 | 0 | 2 | 4 | 100 | 0 | 32 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketConfiguration | 0.15 | 3 | 40 | 0 | 0 | 1 | 2 | 100 | 0 | 28 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogContextSeed | 0.15 | 22 | 859 | 0 | 0 | 10 | 54 | 68.18 | 0 | 37 | Microsoft.eShopWeb.Infrastructure .Data |
AppIdentityDbContextModelSnapshot | 0.15 | 77 | 745 | 0 | 0 | 13 | 26 | 0 | 0 | 22 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
InitialIdentityModel | 0.15 | 118 | 2565 | 0 | 0 | 29 | 56 | 0 | 0 | 47 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
FileItem | 0.15 | 12 | 46 | 0 | 0 | 12 | 13 | 0 | 0 | 6 | Microsoft.eShopWeb.Infrastructure .Data |
CatalogContextModelSnapshot | 0.15 | 96 | 851 | 0 | 0 | 16 | 32 | 0 | 0 | 25 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
FixBuyerId | 0.15 | 92 | 1098 | 0 | 0 | 18 | 34 | 0 | 0 | 29 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
InitialModel | 0.15 | 130 | 2396 | 0 | 0 | 32 | 62 | 0 | 0 | 49 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
ConfigureWebServices | 0.15 | 7 | 33 | 0 | 0 | 1 | 1 | 100 | 0 | 20 | Microsoft.eShopWeb.Web .Configuration |
DeleteCatalogItemEndpoint | 0.15 | 9 | 325 | 0 | 0 | 4 | 26 | 100 | 0 | 39 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
IndexModel | 0.15 | 1 | 5 | 0 | 0 | 1 | 1 | 0 | 0 | 4 | Microsoft.eShopWeb.Web.Pages.Admin |
UpdateCatalogItemEndpoint | 0.15 | 14 | 405 | 0 | 0 | 4 | 25 | 21.43 | 0 | 43 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
CreateCatalogItemEndpoint | 0.15 | 18 | 504 | 0 | 0 | 6 | 30 | 88.89 | 0 | 47 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ApiHealthCheck | 0.15 | 9 | 222 | 0 | 0 | 3 | 15 | 0 | 0 | 26 | Microsoft.eShopWeb.Web .HealthChecks |
Pages_Admin_Index | 0.15 | 3 | 1569 | - | - | - | 107 | 0 | 0 | 50 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Admin_EditCatalogItem | 0.15 | 11 | 2933 | - | - | - | 186 | 0 | 0 | 68 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Basket_Success | 0.15 | 1 | 599 | - | - | - | 52 | 100 | 0 | 48 | Microsoft.eShopWeb.Web.Pages .Basket |
Basket | 0.15 | 16 | 356 | 0 | 0 | 8 | 30 | 93.75 | 0 | 30 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
AuthenticateEndpoint | 0.15 | 13 | 255 | 0 | 0 | 3 | 15 | 100 | 0 | 28 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
UserInfo | 0.15 | 9 | 35 | 0 | 0 | 9 | 10 | 0 | 0 | 8 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
Pages_Shared_Components_BasketComp onent_Default | 0.15 | 2 | 605 | - | - | - | 49 | 0 | 0 | 47 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
Pages_Basket_Index | 0.15 | 16 | 2079 | - | - | - | 123 | 100 | 0 | 60 | Microsoft.eShopWeb.Web.Pages .Basket |
Pages_Basket_Checkout | 0.15 | 17 | 1630 | - | - | - | 97 | 94.12 | 0 | 59 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogBrandListEndpoint | 0.15 | 9 | 267 | 0 | 0 | 4 | 22 | 33.33 | 0 | 38 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ImageValidators | 0.15 | 3 | 48 | 0 | 0 | 8 | 6 | 0 | 0 | 9 | Microsoft.eShopWeb.PublicApi |
MappingProfile | 0.15 | 6 | 110 | 0 | 0 | 3 | 5 | 100 | 0 | 27 | Microsoft.eShopWeb.PublicApi |
ExceptionMiddleware | 0.15 | 11 | 408 | 0 | 0 | 5 | 34 | 27.27 | 0 | 22 | Microsoft.eShopWeb.PublicApi .Middleware |
UserController | 0.15 | 28 | 453 | 0 | 0 | 9 | 35 | 0 | 0 | 37 | Microsoft.eShopWeb.Web.Controllers |
ConfigureCoreServices | 0.15 | 9 | 45 | 0 | 0 | 1 | 1 | 100 | 0 | 26 | Microsoft.eShopWeb.Web .Configuration |
ConfigureCookieSettings | 0.15 | 11 | 78 | 0 | 0 | 3 | 5 | 100 | 0 | 23 | Microsoft.eShopWeb.Web .Configuration |
BaseApiController | 0.15 | 0 | 4 | - | - | - | 1 | - | 0 | 5 | Microsoft.eShopWeb.Web.Controllers .Api |
OrderController | 0.15 | 8 | 269 | 0 | 0 | 4 | 22 | 0 | 0 | 36 | Microsoft.eShopWeb.Web.Controllers |
GetOrderDetailsHandler | 0.15 | 8 | 220 | 0 | 0 | 4 | 14 | 75 | 0 | 36 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CatalogItemListPagedEndpoint | 0.15 | 21 | 501 | 0 | 0 | 7 | 33 | 100 | 0 | 51 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
HomePageHealthCheck | 0.15 | 10 | 240 | 0 | 0 | 3 | 15 | 0 | 0 | 28 | Microsoft.eShopWeb.Web .HealthChecks |
GetMyOrdersHandler | 0.15 | 7 | 222 | 0 | 0 | 4 | 17 | 71.43 | 0 | 34 | Microsoft.eShopWeb.Web.Features .MyOrders |
CatalogTypeListEndpoint | 0.15 | 9 | 267 | 0 | 0 | 4 | 22 | 33.33 | 0 | 38 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ManageController | 0.15 | 207 | 5291 | 0 | 0 | 75 | 359 | 9.66 | 0 | 82 | Microsoft.eShopWeb.Web.Controllers |
CatalogItemGetByIdEndpoint | 0.15 | 11 | 330 | 0 | 0 | 5 | 23 | 100 | 0 | 39 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
Types Metrics : Code Members and Inheritance
Type Name | # Instance Methods | Nb Static Methods | Nb Properties | # Fields | # Children Classes | Depth Of Inheritance Tree | Type Namespace |
---|---|---|---|---|---|---|---|
NullableContextAttribute | 1 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
NullableAttribute | 2 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
BaseMessage | 2 | 0 | 0 | 1 | 16 | 1 | Microsoft.eShopWeb.PublicApi |
IAggregateRoot | 0 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.CodeAnalysis |
LookupData | 5 | 0 | 2 | 2 | 2 | 1 | BlazorShared.Models |
BaseEntity | 3 | 0 | 1 | 1 | 9 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities |
NullableAttribute | 2 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
BaseResponse | 2 | 0 | 0 | 0 | 8 | 2 | Microsoft.eShopWeb.PublicApi |
CatalogItem | 23 | 3 | 11 | 12 | 0 | 1 | BlazorShared.Models |
BaseRequest | 1 | 0 | 0 | 0 | 6 | 2 | Microsoft.eShopWeb.PublicApi |
Basket | 8 | 0 | 3 | 2 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
EndpointAttribute | 3 | 0 | 1 | 1 | 0 | 2 | BlazorShared.Attributes |
CatalogItemViewModel | 9 | 0 | 4 | 4 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
Address | 12 | 0 | 5 | 5 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
CatalogItemDto | 15 | 0 | 7 | 7 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
NullableAttribute | 2 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
CatalogItem | 21 | 0 | 8 | 8 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities |
Constants+Roles | 0 | 0 | 0 | 1 | 0 | 1 | BlazorShared.Authorization |
EmbeddedAttribute | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.CodeAnalysis |
IRepository<T> | 0 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.CodeAnalysis |
IUriComposer | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
BasketItem | 11 | 0 | 4 | 4 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
IEmailSender | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
NullableContextAttribute | 1 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
ApplicationUser | 1 | 0 | 0 | 0 | 0 | 3 | Microsoft.eShopWeb.Infrastructure .Identity |
EmbeddedAttribute | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.CodeAnalysis |
RefreshBroadcast | 4 | 2 | 1 | 2 | 0 | 1 | BlazorAdmin.Helpers |
NullableAttribute | 2 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
CatalogItemOrdered | 8 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ILookupDataResponse<TLookupData> | 2 | 0 | 1 | 0 | - | - | BlazorShared.Interfaces |
CatalogBrand | 1 | 0 | 0 | 0 | 0 | 2 | BlazorShared.Models |
CatalogType | 1 | 0 | 0 | 0 | 0 | 2 | BlazorShared.Models |
BlazorComponent | 4 | 0 | 0 | 1 | 8 | 2 | BlazorAdmin.Helpers |
CatalogBrand | 3 | 0 | 1 | 1 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogType | 3 | 0 | 1 | 1 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogSettings | 3 | 0 | 1 | 1 | 0 | 1 | Microsoft.eShopWeb |
OrderItem | 8 | 0 | 3 | 3 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
BasketViewModel | 8 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogIndexViewModel | 13 | 0 | 6 | 6 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
CreateCatalogItemRequest | 17 | 0 | 8 | 8 | 0 | 1 | BlazorShared.Models |
Order | 10 | 0 | 4 | 4 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ICatalogItemService | 6 | 0 | 0 | 0 | - | - | BlazorShared.Interfaces |
BaseUrlConfiguration | 5 | 0 | 2 | 3 | 0 | 1 | BlazorShared |
CatalogContext | 16 | 0 | 7 | 7 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data |
ManageNavPages | 0 | 11 | 5 | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Views .Manage |
IReadRepository<T> | 0 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
IAppLogger<T> | 2 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ClaimValue | 6 | 0 | 2 | 2 | 0 | 1 | BlazorShared.Authorization |
ICatalogLookupDataService <TLookupData> | 1 | 0 | 0 | 0 | - | - | BlazorShared.Interfaces |
BasketItemViewModel | 15 | 0 | 7 | 7 | 0 | 1 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogTypeDto | 5 | 0 | 2 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
CatalogBrandDto | 5 | 0 | 2 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ToastLevel | - | - | - | - | - | - | BlazorAdmin.Services |
OrderItemViewModel | 12 | 0 | 6 | 5 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
PaginationInfoViewModel | 13 | 0 | 6 | 6 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
ICatalogViewModelService | 3 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.Web.Services |
IBasketViewModelService | 3 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.Web.Interfaces |
EmbeddedAttribute | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.CodeAnalysis |
<>f__AnonymousType1<<userId >j__TPar,<code>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
JSInteropConstants | 0 | 5 | 5 | 0 | 0 | 1 | BlazorAdmin.JavaScript |
ICatalogItemViewModelService | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.Web.Interfaces |
OrderViewModel | 12 | 0 | 6 | 6 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
ClaimValue | 6 | 0 | 2 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
IBasketService | 4 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ToastService | 10 | 0 | 0 | 3 | 0 | 1 | BlazorAdmin.Services |
ToastComponent | 18 | 0 | 6 | 6 | 1 | 2 | BlazorAdmin.Helpers |
CatalogLookupDataService <TLookupData,TReponse> | 2 | 0 | 0 | 3 | 0 | 1 | BlazorAdmin.Services |
EmptyBasketOnCheckoutException | 4 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
CatalogItemService | 7 | 0 | 0 | 4 | 0 | 1 | BlazorAdmin.Services |
CustomAuthStateProvider | 4 | 1 | 0 | 5 | 0 | 2 | BlazorAdmin |
Spinner | 2 | 0 | 0 | 0 | 0 | 3 | BlazorAdmin.Shared |
NullableContextAttribute | 1 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
IBasketQueryService | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ITokenClaimsService | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CatalogViewModelService | 4 | 0 | 0 | 5 | 0 | 1 | Microsoft.eShopWeb.Web.Services |
Program+<>c | 5 | 1 | 0 | 5 | 0 | 1 | |
Program+<>c__DisplayClass0_0 | 4 | 0 | 0 | 3 | 0 | 1 | |
Program+<>c | 10 | 1 | 0 | 10 | 0 | 1 | |
Program+<>c__DisplayClass0_0 | 4 | 0 | 0 | 3 | 0 | 1 | |
ErrorDetails | 6 | 0 | 2 | 2 | 0 | 1 | BlazorShared.Models |
BasketNotFoundException | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
IOrderService | 1 | 0 | 0 | 0 | - | - | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CustomInputSelect<TValue> | 2 | 0 | 0 | 0 | 0 | 1 | BlazorAdmin.Shared |
Program+<>c__DisplayClass0_0 | 2 | 0 | 0 | 1 | 0 | 1 | |
Program+<>c | 2 | 1 | 0 | 2 | 0 | 1 | |
Css | 3 | 0 | 0 | 1 | 0 | 1 | BlazorAdmin.JavaScript |
BasketComponentViewModel | 3 | 0 | 1 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
BasketWithItemsSpecification | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogBrandResponse | 3 | 0 | 1 | 1 | 0 | 1 | BlazorShared.Models |
CatalogTypeResponse | 3 | 0 | 1 | 1 | 0 | 1 | BlazorShared.Models |
CachedCatalogItemServiceDecorator | 8 | 0 | 0 | 3 | 0 | 1 | BlazorAdmin.Services |
PaymentMethod | 7 | 0 | 3 | 3 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
CachedCatalogLookupDataServiceDeco rator<TLookupData,TReponse> | 2 | 0 | 0 | 3 | 0 | 1 | BlazorAdmin.Services |
DuplicateException | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
Route | 2 | 0 | 0 | 1 | 0 | 1 | BlazorAdmin.JavaScript |
GetMyOrders | 3 | 0 | 1 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.Features .MyOrders |
GetOrderDetails | 5 | 0 | 2 | 2 | 0 | 1 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CacheEntry<T> | 6 | 0 | 2 | 2 | 0 | 1 | BlazorAdmin.Services |
AppIdentityDbContext | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Identity |
NullableContextAttribute | 1 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
UserInfo | 11 | 1 | 5 | 6 | 0 | 1 | BlazorShared.Authorization |
CatalogItemViewModelService | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.Services |
CachedCatalogViewModelService | 4 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.Web.Services |
BasketViewModelService | 6 | 0 | 0 | 4 | 0 | 1 | Microsoft.eShopWeb.Web.Services |
CatalogItemsSpecification | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
NullableAttribute | 2 | 0 | 0 | 1 | 0 | 2 | System.Runtime.CompilerServices |
BasketGuards | 0 | 2 | 0 | 0 | 0 | 1 | Ardalis.GuardClauses |
ShowRecoveryCodesViewModel | 3 | 0 | 1 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
BasketItemConfiguration+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
RevokeAuthenticationEvents | 2 | 0 | 0 | 2 | 0 | 2 | Microsoft.eShopWeb.Web .Configuration |
CatalogFilterSpecification | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogFilterPaginatedSpecificatio n | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
RedirectToLogin | 5 | 0 | 1 | 1 | 0 | 2 | BlazorAdmin.Shared |
MainLayout | 7 | 0 | 2 | 2 | 0 | 4 | BlazorAdmin.Shared |
CatalogBrandConfiguration+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderService | 2 | 0 | 0 | 4 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Services |
EmailSender | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Services |
LoggerAdapter<T> | 3 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Logging |
EfRepository<T> | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data |
BasketQueryService | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
CatalogTypeConfiguration+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
UriComposer | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Services |
BasketService | 5 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Services |
CacheHelpers | 0 | 4 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.Web.Extensions |
CustomSchemaFilters | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi |
AuthenticateResponse | 14 | 0 | 6 | 6 | 0 | 3 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
BasketConfiguration+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
AuthenticateRequest | 5 | 0 | 2 | 2 | 0 | 3 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
RegisterModel+InputModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LogoutModel | 3 | 0 | 0 | 3 | 0 | 2 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
PrivacyModel | 2 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Web.Pages |
ConfirmEmailModel | 2 | 0 | 0 | 1 | 0 | 2 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
BasketWithItemsSpecification+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
LoginModel+InputModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
TwoFactorAuthenticationViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ErrorModel | 5 | 0 | 2 | 1 | 0 | 2 | Microsoft.eShopWeb.Web.Pages |
CustomerOrdersWithItemsSpecificati on+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogItemConfiguration+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CustomerOrdersWithItemsSpecificati on | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
OrderWithItemsByIdSpec+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
Toast | 2 | 0 | 0 | 0 | 0 | 3 | BlazorAdmin.Shared |
BlazorLayoutComponent | 4 | 0 | 0 | 1 | 1 | 3 | BlazorAdmin.Helpers |
OrderWithItemsByIdSpec | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
EnableAuthenticatorViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ChangePasswordViewModel | 9 | 0 | 4 | 4 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
SetPasswordViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
IndexViewModel | 11 | 0 | 5 | 5 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
HttpService | 7 | 0 | 0 | 3 | 0 | 1 | BlazorAdmin.Services |
CreateCatalogItemResponse | 3 | 0 | 1 | 1 | 0 | 1 | BlazorShared.Models |
EditCatalogItemResult | 3 | 0 | 1 | 1 | 0 | 1 | BlazorShared.Models |
PagedCatalogItemResponse | 5 | 0 | 2 | 2 | 0 | 1 | BlazorShared.Models |
DeleteCatalogItemResponse | 3 | 0 | 1 | 1 | 0 | 1 | BlazorShared.Models |
ListCatalogTypesResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ListCatalogBrandsResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ExternalLoginsViewModel | 9 | 0 | 4 | 4 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
GetByIdCatalogItemRequest | 3 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemRequest | 3 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
GetByIdCatalogItemResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
BasketQueryService+<>c | 1 | 1 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
UpdateCatalogItemResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
UpdateCatalogItemRequest | 19 | 0 | 9 | 9 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType13<<UserId >j__TPar,<RoleId>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
CreateCatalogItemResponse | 4 | 0 | 1 | 1 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType14<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar,<Value>j__TPar> | 8 | 0 | 4 | 4 | 0 | 1 | |
<>f__AnonymousType15<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar> | 7 | 0 | 3 | 3 | 0 | 1 | |
<>f__AnonymousType11< <LoginProvider>j__TPar, <ProviderKey>j__TPar, <ProviderDisplayName>j__TPar, <UserId>j__TPar> | 8 | 0 | 4 | 4 | 0 | 1 | |
CreateCatalogItemRequest | 17 | 0 | 8 | 8 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType10<<Id>j__TPar, <UserId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 8 | 0 | 4 | 4 | 0 | 1 | |
CatalogItemNameSpecification | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
<>f__AnonymousType12< <LoginProvider>j__TPar, <ProviderKey>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
<>f__AnonymousType9<<Id>j__TPar, <RoleId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 8 | 0 | 4 | 4 | 0 | 1 | |
<>f__AnonymousType7<<Id>j__TPar, <Name>j__TPar,<NormalizedName >j__TPar,<ConcurrencyStamp>j__TPar > | 8 | 0 | 4 | 4 | 0 | 1 | |
<>f__AnonymousType8<<Id>j__TPar, <UserName>j__TPar, <NormalizedUserName>j__TPar,<Email >j__TPar,<NormalizedEmail>j__TPar, <EmailConfirmed>j__TPar, <PasswordHash>j__TPar, <SecurityStamp>j__TPar, <ConcurrencyStamp>j__TPar, <PhoneNumber>j__TPar, <PhoneNumberConfirmed>j__TPar, <TwoFactorEnabled>j__TPar, <LockoutEnd>j__TPar, <LockoutEnabled>j__TPar, <AccessFailedCount>j__TPar> | 19 | 0 | 15 | 15 | 0 | 1 | |
SuccessModel | 2 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Web.Pages .Basket |
<>f__AnonymousType0<<Id>j__TPar, <BuyerId>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
<>f__AnonymousType6<<Id>j__TPar, <ItemOrdered_CatalogItemId>j__TPar ,<ItemOrdered_ProductName>j__TPar, <ItemOrdered_PictureUri>j__TPar, <UnitPrice>j__TPar,<Units>j__TPar, <OrderId>j__TPar> | 11 | 0 | 7 | 7 | 0 | 1 | |
<>f__AnonymousType1<<Id>j__TPar, <Brand>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
<>f__AnonymousType4<<Id>j__TPar, <UnitPrice>j__TPar,<Quantity >j__TPar,<CatalogItemId>j__TPar, <BasketId>j__TPar> | 9 | 0 | 5 | 5 | 0 | 1 | |
<>f__AnonymousType5<<Id>j__TPar, <Name>j__TPar,<Description>j__TPar ,<Price>j__TPar,<PictureUri >j__TPar,<CatalogTypeId>j__TPar, <CatalogBrandId>j__TPar> | 11 | 0 | 7 | 7 | 0 | 1 | |
<>f__AnonymousType3<<Id>j__TPar, <BuyerId>j__TPar,<OrderDate >j__TPar,<ShipToAddress_Street >j__TPar,<ShipToAddress_City >j__TPar,<ShipToAddress_State >j__TPar,<ShipToAddress_Country >j__TPar,<ShipToAddress_ZipCode >j__TPar> | 12 | 0 | 8 | 8 | 0 | 1 | |
<>f__AnonymousType2<<Id>j__TPar, <Type>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
<>f__AnonymousType3<<key>j__TPar, <value>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
SlugifyParameterTransformer | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Web |
ListPagedCatalogItemResponse | 6 | 0 | 2 | 2 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ListPagedCatalogItemRequest | 9 | 0 | 4 | 4 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType0<<ReturnUrl >j__TPar,<RememberMe>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
Create | 19 | 0 | 8 | 11 | 0 | 3 | BlazorAdmin.Pages.CatalogItemPage |
Delete | 18 | 0 | 7 | 10 | 0 | 3 | BlazorAdmin.Pages.CatalogItemPage |
Edit | 19 | 0 | 8 | 11 | 0 | 3 | BlazorAdmin.Pages.CatalogItemPage |
Details | 18 | 0 | 7 | 10 | 0 | 3 | BlazorAdmin.Pages.CatalogItemPage |
CheckoutModel | 7 | 0 | 1 | 7 | 0 | 2 | Microsoft.eShopWeb.Web.Pages .Basket |
IndexModel | 7 | 0 | 1 | 3 | 0 | 2 | Microsoft.eShopWeb.Web.Pages .Basket |
EditCatalogItemModel | 5 | 0 | 1 | 2 | 0 | 2 | Microsoft.eShopWeb.Web.Pages.Admin |
TypeInference | 0 | 8 | 0 | 0 | 0 | 1 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Edit |
LoginWith2faViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
TypeInference | 0 | 8 | 0 | 0 | 0 | 1 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Create |
RegisterModel | 7 | 0 | 2 | 6 | 0 | 2 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LoginModel | 12 | 0 | 4 | 7 | 0 | 2 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IndexModel | 4 | 0 | 1 | 2 | 0 | 2 | Microsoft.eShopWeb.Web.Pages |
EmailSenderExtensions | 0 | 1 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Services |
UrlHelperExtensions | 0 | 1 | 0 | 0 | 0 | 1 | Microsoft.AspNetCore.Mvc |
RemoveLoginViewModel | 5 | 0 | 2 | 2 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
Views_Account_Lockout | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ManageNav | 15 | 1 | 7 | 15 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Account_LoginWith2fa | 13 | 1 | 6 | 24 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ViewImports | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_TwoFactorAuthenticati on | 13 | 1 | 6 | 18 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__Layout | 13 | 1 | 6 | 11 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__StatusMessage | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ShowRecoverCodes | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Shared__Layout | 13 | 1 | 6 | 51 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__CookieConsentPartial | 13 | 1 | 6 | 13 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared_Error | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Program | 1 | 3 | 0 | 0 | 0 | 1 | |
Views_Shared_Components_Basket_Def ault | 13 | 1 | 6 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared.Components.Basket |
Views_Shared__ValidationScriptsPar tial | 13 | 1 | 6 | 25 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__LoginPartial | 13 | 1 | 6 | 29 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__pagination | 13 | 1 | 6 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
NavMenu | 4 | 0 | 1 | 1 | 0 | 3 | BlazorAdmin.Shared |
Pages_Shared__editCatalog | 13 | 1 | 6 | 19 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__product | 13 | 1 | 6 | 19 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared |
ServicesConfiguration | 0 | 1 | 0 | 0 | 0 | 1 | BlazorAdmin |
App | 2 | 0 | 0 | 0 | 0 | 2 | BlazorAdmin |
_Imports | 2 | 0 | 0 | 0 | 0 | 2 | BlazorAdmin |
Views_Manage_SetPassword | 13 | 1 | 6 | 21 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Pages_Index | 15 | 1 | 8 | 23 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Pages_Error | 14 | 0 | 7 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
ResetPasswordViewModel | 9 | 0 | 4 | 4 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
Pages_Privacy | 14 | 0 | 7 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Views__ViewImports | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewStart | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewImports | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Constants | 0 | 0 | 0 | 0 | 0 | 1 | BlazorShared.Authorization |
Program | 1 | 2 | 0 | 0 | 0 | 1 | |
<>f__AnonymousType2<<status >j__TPar,<errors>j__TPar> | 6 | 0 | 2 | 2 | 0 | 1 | |
Constants | 0 | 0 | 0 | 4 | 0 | 1 | Microsoft.eShopWeb.Web |
RegisterViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
LoginViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
FileViewModel | 7 | 0 | 3 | 3 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .File |
Cookies | 3 | 0 | 0 | 1 | 0 | 1 | BlazorAdmin.JavaScript |
Views_Manage_MyAccount | 13 | 1 | 6 | 24 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_GenerateRecoveryCodes | 13 | 1 | 6 | 16 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
FixShipToAddress | 4 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
Views_Manage_ResetAuthenticator | 13 | 1 | 6 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Logout | 7 | 0 | 2 | 2 | 0 | 3 | BlazorAdmin.Pages |
List | 22 | 0 | 7 | 10 | 0 | 3 | BlazorAdmin.Pages.CatalogItemPage |
Views_Order_MyOrders | 13 | 1 | 6 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages.Order |
Views_Order_Detail | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages.Order |
Views__ViewStart | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Pages |
Views_Manage_ChangePassword | 13 | 1 | 6 | 21 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ExternalLogins | 13 | 1 | 6 | 21 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_EnableAuthenticator | 13 | 1 | 6 | 22 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_Disable2fa | 13 | 1 | 6 | 16 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Manage |
Areas_Identity_Pages_Account_Regis ter | 15 | 1 | 8 | 20 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Logou t | 14 | 0 | 7 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Login | 15 | 1 | 8 | 23 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account__View Imports | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IdentityTokenClaimService | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Identity |
AppIdentityDbContextSeed | 1 | 1 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Identity |
Dependencies | 0 | 1 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure |
Buyer | 5 | 0 | 2 | 2 | 0 | 2 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
Areas_Identity_Pages__ValidationSc riptsPartial | 13 | 1 | 6 | 25 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Program | 1 | 2 | 0 | 0 | 0 | 1 | |
IdentityHostingStartup | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Areas .Identity |
Areas_Identity_Pages__ViewImports | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Areas_Identity_Pages_Account_Confi rmEmail | 14 | 0 | 7 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
AuthorizationConstants | 1 | 0 | 0 | 3 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Constants |
Areas_Identity_Pages__ViewStart | 12 | 0 | 5 | 5 | 0 | 4 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
CatalogItemConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogBrandConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketItemConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogTypeConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
JsonExtensions | 0 | 3 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb |
OrderItemConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketConfiguration | 2 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogContextSeed | 1 | 4 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data |
AppIdentityDbContextModelSnapshot | 2 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
InitialIdentityModel | 4 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
FileItem | 13 | 0 | 6 | 6 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data |
CatalogContextModelSnapshot | 2 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
FixBuyerId | 4 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
InitialModel | 4 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
ConfigureWebServices | 0 | 1 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Web .Configuration |
DeleteCatalogItemEndpoint | 3 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
IndexModel | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Web.Pages.Admin |
UpdateCatalogItemEndpoint | 3 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
CreateCatalogItemEndpoint | 3 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ApiHealthCheck | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Web .HealthChecks |
Pages_Admin_Index | 15 | 1 | 8 | 25 | 0 | 4 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Admin_EditCatalogItem | 15 | 1 | 8 | 18 | 0 | 4 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Basket_Success | 15 | 1 | 8 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Basket |
Basket | 4 | 0 | 0 | 2 | 0 | 2 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
AuthenticateEndpoint | 2 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
UserInfo | 9 | 1 | 4 | 5 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
Pages_Shared_Components_BasketComp onent_Default | 13 | 1 | 6 | 14 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
Pages_Basket_Index | 15 | 1 | 8 | 27 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Basket |
Pages_Basket_Checkout | 15 | 1 | 8 | 22 | 0 | 4 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogBrandListEndpoint | 3 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ImageValidators | 0 | 2 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.PublicApi |
MappingProfile | 1 | 0 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi |
ExceptionMiddleware | 3 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.PublicApi .Middleware |
UserController | 3 | 0 | 0 | 1 | 0 | 2 | Microsoft.eShopWeb.Web.Controllers |
ConfigureCoreServices | 0 | 1 | 0 | 0 | 0 | 1 | Microsoft.eShopWeb.Web .Configuration |
ConfigureCookieSettings | 0 | 1 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.Web .Configuration |
BaseApiController | 1 | 0 | 0 | 0 | 0 | 2 | Microsoft.eShopWeb.Web.Controllers .Api |
OrderController | 3 | 0 | 0 | 1 | 0 | 3 | Microsoft.eShopWeb.Web.Controllers |
GetOrderDetailsHandler | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CatalogItemListPagedEndpoint | 3 | 0 | 0 | 3 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
HomePageHealthCheck | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Web .HealthChecks |
GetMyOrdersHandler | 2 | 0 | 0 | 1 | 0 | 1 | Microsoft.eShopWeb.Web.Features .MyOrders |
CatalogTypeListEndpoint | 3 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ManageController | 28 | 0 | 1 | 8 | 0 | 3 | Microsoft.eShopWeb.Web.Controllers |
CatalogItemGetByIdEndpoint | 3 | 0 | 0 | 2 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
Types Metrics : Lack Of Cohesion Of Methods and Association Between Classes
Type Name | Lack Of Cohesion Of Methods | Lack Of Cohesion Of Methods HS | Association Between Classes | Type Namespace |
---|---|---|---|---|
NullableContextAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
NullableAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
BaseMessage | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi |
IAggregateRoot | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 0 | 0 | 1 | Microsoft.CodeAnalysis |
LookupData | 0 | 0 | 1 | BlazorShared.Models |
BaseEntity | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities |
NullableAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
BaseResponse | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi |
CatalogItem | 0 | 0 | 23 | BlazorShared.Models |
BaseRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi |
Basket | 0.17 | 0.2 | 15 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
EndpointAttribute | 0 | 0 | 1 | BlazorShared.Attributes |
CatalogItemViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
Address | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
CatalogItemDto | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
NullableAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
CatalogItem | 0 | 0 | 13 | Microsoft.eShopWeb.ApplicationCore .Entities |
Constants+Roles | 0 | 0 | 0 | BlazorShared.Authorization |
EmbeddedAttribute | 0 | 0 | 1 | Microsoft.CodeAnalysis |
IRepository<T> | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
EmbeddedAttribute | 0 | 0 | 1 | Microsoft.CodeAnalysis |
IUriComposer | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
BasketItem | 0 | 0 | 3 | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate |
IEmailSender | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
NullableContextAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
ApplicationUser | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Identity |
EmbeddedAttribute | 0 | 0 | 1 | Microsoft.CodeAnalysis |
RefreshBroadcast | 0 | 0 | 8 | BlazorAdmin.Helpers |
NullableAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
CatalogItemOrdered | 0 | 0 | 4 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ILookupDataResponse<TLookupData> | - | - | 0 | BlazorShared.Interfaces |
CatalogBrand | 0 | 0 | 1 | BlazorShared.Models |
CatalogType | 0 | 0 | 1 | BlazorShared.Models |
BlazorComponent | 0.25 | 0.33 | 7 | BlazorAdmin.Helpers |
CatalogBrand | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogType | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities |
CatalogSettings | 0 | 0 | 1 | Microsoft.eShopWeb |
OrderItem | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
BasketViewModel | 0 | 0 | 9 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogIndexViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
CreateCatalogItemRequest | 0 | 0 | 2 | BlazorShared.Models |
Order | 0 | 0 | 16 | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate |
ICatalogItemService | - | - | 0 | BlazorShared.Interfaces |
BaseUrlConfiguration | 0 | 0 | 1 | BlazorShared |
CatalogContext | 0 | 0 | 4 | Microsoft.eShopWeb.Infrastructure .Data |
ManageNavPages | 0 | 0 | 5 | Microsoft.eShopWeb.Web.Views .Manage |
IReadRepository<T> | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
IAppLogger<T> | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ClaimValue | 0 | 0 | 1 | BlazorShared.Authorization |
ICatalogLookupDataService <TLookupData> | - | - | 0 | BlazorShared.Interfaces |
BasketItemViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogTypeDto | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
CatalogBrandDto | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ToastLevel | - | - | 0 | BlazorAdmin.Services |
OrderItemViewModel | 0 | 0 | 2 | Microsoft.eShopWeb.Web.ViewModels |
PaginationInfoViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
ICatalogViewModelService | - | - | 0 | Microsoft.eShopWeb.Web.Services |
IBasketViewModelService | - | - | 0 | Microsoft.eShopWeb.Web.Interfaces |
EmbeddedAttribute | 0 | 0 | 1 | Microsoft.CodeAnalysis |
<>f__AnonymousType1<<userId >j__TPar,<code>j__TPar> | 0 | 0 | 6 | |
JSInteropConstants | 0 | 0 | 0 | BlazorAdmin.JavaScript |
ICatalogItemViewModelService | - | - | 0 | Microsoft.eShopWeb.Web.Interfaces |
OrderViewModel | 0 | 0 | 2 | Microsoft.eShopWeb.Web.ViewModels |
ClaimValue | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
IBasketService | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ToastService | 0.5 | 0.6 | 15 | BlazorAdmin.Services |
ToastComponent | 0 | 0 | 8 | BlazorAdmin.Helpers |
CatalogLookupDataService <TLookupData,TReponse> | 0 | 0 | 22 | BlazorAdmin.Services |
EmptyBasketOnCheckoutException | 0 | 0 | 3 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
CatalogItemService | 0.36 | 0.42 | 42 | BlazorAdmin.Services |
CustomAuthStateProvider | 0.6 | 0.75 | 49 | BlazorAdmin |
Spinner | 0 | 0 | 2 | BlazorAdmin.Shared |
NullableContextAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
IBasketQueryService | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
ITokenClaimsService | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CatalogViewModelService | 0.4 | 0.53 | 66 | Microsoft.eShopWeb.Web.Services |
Program+<>c | 0 | 0 | 30 | |
Program+<>c__DisplayClass0_0 | 0 | 0 | 13 | |
Program+<>c | 0 | 0 | 34 | |
Program+<>c__DisplayClass0_0 | 0 | 0 | 18 | |
ErrorDetails | 0 | 0 | 2 | BlazorShared.Models |
BasketNotFoundException | 0 | 0 | 5 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
IOrderService | - | - | 0 | Microsoft.eShopWeb.ApplicationCore .Interfaces |
CustomInputSelect<TValue> | 0 | 0 | 6 | BlazorAdmin.Shared |
Program+<>c__DisplayClass0_0 | 0 | 0 | 6 | |
Program+<>c | 0 | 0 | 2 | |
Css | 0 | 0 | 20 | BlazorAdmin.JavaScript |
BasketComponentViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels |
BasketWithItemsSpecification | 0 | 0 | 17 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogBrandResponse | 0 | 0 | 2 | BlazorShared.Models |
CatalogTypeResponse | 0 | 0 | 2 | BlazorShared.Models |
CachedCatalogItemServiceDecorator | 0.42 | 0.48 | 45 | BlazorAdmin.Services |
PaymentMethod | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
CachedCatalogLookupDataServiceDeco rator<TLookupData,TReponse> | 0 | 0 | 31 | BlazorAdmin.Services |
DuplicateException | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Exceptions |
Route | 0 | 0 | 12 | BlazorAdmin.JavaScript |
GetMyOrders | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Features .MyOrders |
GetOrderDetails | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CacheEntry<T> | 0 | 0 | 2 | BlazorAdmin.Services |
AppIdentityDbContext | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Identity |
NullableContextAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
UserInfo | 0 | 0 | 1 | BlazorShared.Authorization |
CatalogItemViewModelService | 0 | 0 | 20 | Microsoft.eShopWeb.Web.Services |
CachedCatalogViewModelService | 0 | 0 | 21 | Microsoft.eShopWeb.Web.Services |
BasketViewModelService | 0.62 | 0.75 | 42 | Microsoft.eShopWeb.Web.Services |
CatalogItemsSpecification | 0 | 0 | 15 | Microsoft.eShopWeb.ApplicationCore .Specifications |
NullableAttribute | 0 | 0 | 1 | System.Runtime.CompilerServices |
BasketGuards | 0 | 0 | 3 | Ardalis.GuardClauses |
ShowRecoveryCodesViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
BasketItemConfiguration+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
RevokeAuthenticationEvents | 0 | 0 | 28 | Microsoft.eShopWeb.Web .Configuration |
CatalogFilterSpecification | 0 | 0 | 21 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogFilterPaginatedSpecificatio n | 0 | 0 | 23 | Microsoft.eShopWeb.ApplicationCore .Specifications |
RedirectToLogin | 0 | 0 | 6 | BlazorAdmin.Shared |
MainLayout | 0 | 0 | 32 | BlazorAdmin.Shared |
CatalogBrandConfiguration+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderService | 0 | 0 | 35 | Microsoft.eShopWeb.ApplicationCore .Services |
EmailSender | 0 | 0 | 2 | Microsoft.eShopWeb.Infrastructure .Services |
LoggerAdapter<T> | 0 | 0 | 4 | Microsoft.eShopWeb.Infrastructure .Logging |
EfRepository<T> | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data |
BasketQueryService | 0 | 0 | 26 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
CatalogTypeConfiguration+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
UriComposer | 0 | 0 | 3 | Microsoft.eShopWeb.ApplicationCore .Services |
BasketService | 0.3 | 0.38 | 51 | Microsoft.eShopWeb.ApplicationCore .Services |
CacheHelpers | 0 | 0 | 2 | Microsoft.eShopWeb.Web.Extensions |
CustomSchemaFilters | 0 | 0 | 4 | Microsoft.eShopWeb.PublicApi |
AuthenticateResponse | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
BasketConfiguration+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
AuthenticateRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
RegisterModel+InputModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LogoutModel | 0.33 | 0.5 | 37 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
PrivacyModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Pages |
ConfirmEmailModel | 0 | 0 | 19 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
BasketWithItemsSpecification+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
LoginModel+InputModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
TwoFactorAuthenticationViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ErrorModel | 0 | 0 | 6 | Microsoft.eShopWeb.Web.Pages |
CustomerOrdersWithItemsSpecificati on+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
CatalogItemConfiguration+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CustomerOrdersWithItemsSpecificati on | 0 | 0 | 18 | Microsoft.eShopWeb.ApplicationCore .Specifications |
OrderWithItemsByIdSpec+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Specifications |
Toast | 0 | 0 | 13 | BlazorAdmin.Shared |
BlazorLayoutComponent | 0.25 | 0.33 | 7 | BlazorAdmin.Helpers |
OrderWithItemsByIdSpec | 0 | 0 | 18 | Microsoft.eShopWeb.ApplicationCore .Specifications |
EnableAuthenticatorViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
ChangePasswordViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
SetPasswordViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
IndexViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
HttpService | 0.38 | 0.44 | 34 | BlazorAdmin.Services |
CreateCatalogItemResponse | 0 | 0 | 2 | BlazorShared.Models |
EditCatalogItemResult | 0 | 0 | 2 | BlazorShared.Models |
PagedCatalogItemResponse | 0 | 0 | 2 | BlazorShared.Models |
DeleteCatalogItemResponse | 0 | 0 | 1 | BlazorShared.Models |
ListCatalogTypesResponse | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ListCatalogBrandsResponse | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ExternalLoginsViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
GetByIdCatalogItemRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemResponse | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
DeleteCatalogItemRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
GetByIdCatalogItemResponse | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
BasketQueryService+<>c | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data.Queries |
UpdateCatalogItemResponse | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
UpdateCatalogItemRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType13<<UserId >j__TPar,<RoleId>j__TPar> | 0 | 0 | 6 | |
CreateCatalogItemResponse | 0 | 0 | 2 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType14<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar,<Value>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType15<<UserId >j__TPar,<LoginProvider>j__TPar, <Name>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType11< <LoginProvider>j__TPar, <ProviderKey>j__TPar, <ProviderDisplayName>j__TPar, <UserId>j__TPar> | 0 | 0 | 6 | |
CreateCatalogItemRequest | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType10<<Id>j__TPar, <UserId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 0 | 0 | 6 | |
CatalogItemNameSpecification | 0 | 0 | 14 | Microsoft.eShopWeb.ApplicationCore .Specifications |
<>f__AnonymousType12< <LoginProvider>j__TPar, <ProviderKey>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType9<<Id>j__TPar, <RoleId>j__TPar,<ClaimType>j__TPar ,<ClaimValue>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType7<<Id>j__TPar, <Name>j__TPar,<NormalizedName >j__TPar,<ConcurrencyStamp>j__TPar > | 0 | 0 | 6 | |
<>f__AnonymousType8<<Id>j__TPar, <UserName>j__TPar, <NormalizedUserName>j__TPar,<Email >j__TPar,<NormalizedEmail>j__TPar, <EmailConfirmed>j__TPar, <PasswordHash>j__TPar, <SecurityStamp>j__TPar, <ConcurrencyStamp>j__TPar, <PhoneNumber>j__TPar, <PhoneNumberConfirmed>j__TPar, <TwoFactorEnabled>j__TPar, <LockoutEnd>j__TPar, <LockoutEnabled>j__TPar, <AccessFailedCount>j__TPar> | 0 | 0 | 6 | |
SuccessModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Pages .Basket |
<>f__AnonymousType0<<Id>j__TPar, <BuyerId>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType6<<Id>j__TPar, <ItemOrdered_CatalogItemId>j__TPar ,<ItemOrdered_ProductName>j__TPar, <ItemOrdered_PictureUri>j__TPar, <UnitPrice>j__TPar,<Units>j__TPar, <OrderId>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType1<<Id>j__TPar, <Brand>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType4<<Id>j__TPar, <UnitPrice>j__TPar,<Quantity >j__TPar,<CatalogItemId>j__TPar, <BasketId>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType5<<Id>j__TPar, <Name>j__TPar,<Description>j__TPar ,<Price>j__TPar,<PictureUri >j__TPar,<CatalogTypeId>j__TPar, <CatalogBrandId>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType3<<Id>j__TPar, <BuyerId>j__TPar,<OrderDate >j__TPar,<ShipToAddress_Street >j__TPar,<ShipToAddress_City >j__TPar,<ShipToAddress_State >j__TPar,<ShipToAddress_Country >j__TPar,<ShipToAddress_ZipCode >j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType2<<Id>j__TPar, <Type>j__TPar> | 0 | 0 | 6 | |
<>f__AnonymousType3<<key>j__TPar, <value>j__TPar> | 0 | 0 | 6 | |
SlugifyParameterTransformer | 0 | 0 | 4 | Microsoft.eShopWeb.Web |
ListPagedCatalogItemResponse | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ListPagedCatalogItemRequest | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
<>f__AnonymousType0<<ReturnUrl >j__TPar,<RememberMe>j__TPar> | 0 | 0 | 6 | |
Create | 0.46 | 0.53 | 78 | BlazorAdmin.Pages.CatalogItemPage |
Delete | 0.33 | 0.4 | 45 | BlazorAdmin.Pages.CatalogItemPage |
Edit | 0.46 | 0.53 | 81 | BlazorAdmin.Pages.CatalogItemPage |
Details | 0.29 | 0.35 | 44 | BlazorAdmin.Pages.CatalogItemPage |
CheckoutModel | 0.57 | 0.71 | 60 | Microsoft.eShopWeb.Web.Pages .Basket |
IndexModel | 0.3 | 0.38 | 56 | Microsoft.eShopWeb.Web.Pages .Basket |
EditCatalogItemModel | 0.33 | 0.5 | 16 | Microsoft.eShopWeb.Web.Pages.Admin |
TypeInference | 0 | 0 | 5 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Edit |
LoginWith2faViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
TypeInference | 0 | 0 | 5 | __Blazor.BlazorAdmin.Pages .CatalogItemPage.Create |
RegisterModel | 0.33 | 0.5 | 48 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
LoginModel | 0.42 | 0.56 | 56 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IndexModel | 0 | 0 | 16 | Microsoft.eShopWeb.Web.Pages |
EmailSenderExtensions | 0 | 0 | 4 | Microsoft.eShopWeb.Web.Services |
UrlHelperExtensions | 0 | 0 | 2 | Microsoft.AspNetCore.Mvc |
RemoveLoginViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Manage |
Views_Account_Lockout | 0 | 0 | 12 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ManageNav | 0.7 | 0.93 | 46 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Account_LoginWith2fa | 0.71 | 0.94 | 73 | Microsoft.eShopWeb.Web.Pages .Account |
Views_Manage__ViewImports | 0 | 0 | 7 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_TwoFactorAuthenticati on | 0.71 | 0.94 | 47 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__Layout | 0.7 | 0.93 | 38 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage__StatusMessage | 0 | 0 | 15 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ShowRecoverCodes | 0 | 0 | 17 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Shared__Layout | 0.73 | 0.97 | 56 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__CookieConsentPartial | 0.7 | 0.93 | 41 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared_Error | 0 | 0 | 10 | Microsoft.eShopWeb.Web.Pages .Shared |
Program | 0 | 0 | 6 | |
Views_Shared_Components_Basket_Def ault | 0.71 | 0.94 | 39 | Microsoft.eShopWeb.Web.Pages .Shared.Components.Basket |
Views_Shared__ValidationScriptsPar tial | 0.71 | 0.95 | 38 | Microsoft.eShopWeb.Web.Pages .Shared |
Views_Shared__LoginPartial | 0.72 | 0.96 | 53 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__pagination | 0.7 | 0.93 | 57 | Microsoft.eShopWeb.Web.Pages .Shared |
NavMenu | 0.25 | 0.33 | 21 | BlazorAdmin.Shared |
Pages_Shared__editCatalog | 0.71 | 0.95 | 57 | Microsoft.eShopWeb.Web.Pages .Shared |
Pages_Shared__product | 0.71 | 0.95 | 58 | Microsoft.eShopWeb.Web.Pages .Shared |
ServicesConfiguration | 0 | 0 | 2 | BlazorAdmin |
App | 0 | 0 | 15 | BlazorAdmin |
_Imports | 0 | 0 | 1 | BlazorAdmin |
Views_Manage_SetPassword | 0.73 | 0.97 | 63 | Microsoft.eShopWeb.Web.Pages .Manage |
Pages_Index | 0.81 | 0.98 | 68 | Microsoft.eShopWeb.Web.Pages |
Pages_Error | 0 | 0 | 15 | Microsoft.eShopWeb.Web.Pages |
ResetPasswordViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
Pages_Privacy | 0 | 0 | 14 | Microsoft.eShopWeb.Web.Pages |
Views__ViewImports | 0 | 0 | 7 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewStart | 0 | 0 | 8 | Microsoft.eShopWeb.Web.Pages |
Pages__ViewImports | 0 | 0 | 7 | Microsoft.eShopWeb.Web.Pages |
Constants | 0 | 0 | 0 | BlazorShared.Authorization |
Program | 0 | 0 | 6 | |
<>f__AnonymousType2<<status >j__TPar,<errors>j__TPar> | 0 | 0 | 6 | |
Constants | 0 | 0 | 0 | Microsoft.eShopWeb.Web |
RegisterViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
LoginViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .Account |
FileViewModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.ViewModels .File |
Cookies | 0 | 0 | 19 | BlazorAdmin.JavaScript |
Views_Manage_MyAccount | 0.71 | 0.94 | 72 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_GenerateRecoveryCodes | 0.71 | 0.95 | 42 | Microsoft.eShopWeb.Web.Pages .Manage |
FixShipToAddress | 0 | 0 | 35 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
Views_Manage_ResetAuthenticator | 0.71 | 0.94 | 41 | Microsoft.eShopWeb.Web.Pages .Manage |
Logout | 0 | 0 | 17 | BlazorAdmin.Pages |
List | 0.58 | 0.67 | 63 | BlazorAdmin.Pages.CatalogItemPage |
Views_Order_MyOrders | 0.65 | 0.87 | 69 | Microsoft.eShopWeb.Web.Pages.Order |
Views_Order_Detail | 0 | 0 | 35 | Microsoft.eShopWeb.Web.Pages.Order |
Views__ViewStart | 0 | 0 | 8 | Microsoft.eShopWeb.Web.Pages |
Views_Manage_ChangePassword | 0.73 | 0.97 | 65 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_ExternalLogins | 0.72 | 0.96 | 75 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_EnableAuthenticator | 0.73 | 0.97 | 64 | Microsoft.eShopWeb.Web.Pages .Manage |
Views_Manage_Disable2fa | 0.71 | 0.95 | 42 | Microsoft.eShopWeb.Web.Pages .Manage |
Areas_Identity_Pages_Account_Regis ter | 0.8 | 0.96 | 71 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Logou t | 0 | 0 | 14 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account_Login | 0.81 | 0.97 | 74 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
Areas_Identity_Pages_Account__View Imports | 0 | 0 | 7 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
IdentityTokenClaimService | 0 | 0 | 35 | Microsoft.eShopWeb.Infrastructure .Identity |
AppIdentityDbContextSeed | 0 | 0 | 18 | Microsoft.eShopWeb.Infrastructure .Identity |
Dependencies | 0 | 0 | 9 | Microsoft.eShopWeb.Infrastructure |
Buyer | 0.33 | 0.5 | 5 | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
Areas_Identity_Pages__ValidationSc riptsPartial | 0.71 | 0.95 | 39 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Program | 0 | 0 | 6 | |
IdentityHostingStartup | 0 | 0 | 3 | Microsoft.eShopWeb.Web.Areas .Identity |
Areas_Identity_Pages__ViewImports | 0 | 0 | 7 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
Areas_Identity_Pages_Account_Confi rmEmail | 0 | 0 | 14 | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account |
AuthorizationConstants | 0 | 0 | 1 | Microsoft.eShopWeb.ApplicationCore .Constants |
Areas_Identity_Pages__ViewStart | 0 | 0 | 8 | Microsoft.eShopWeb.Web.Areas .Identity.Pages |
CatalogItemConfiguration | 0 | 0 | 24 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogBrandConfiguration | 0 | 0 | 14 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketItemConfiguration | 0 | 0 | 10 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogTypeConfiguration | 0 | 0 | 14 | Microsoft.eShopWeb.Infrastructure .Data.Config |
JsonExtensions | 0 | 0 | 4 | Microsoft.eShopWeb |
OrderItemConfiguration | 0 | 0 | 17 | Microsoft.eShopWeb.Infrastructure .Data.Config |
OrderConfiguration | 0 | 0 | 27 | Microsoft.eShopWeb.Infrastructure .Data.Config |
BasketConfiguration | 0 | 0 | 15 | Microsoft.eShopWeb.Infrastructure .Data.Config |
CatalogContextSeed | 0 | 0 | 34 | Microsoft.eShopWeb.Infrastructure .Data |
AppIdentityDbContextModelSnapshot | 0 | 0 | 24 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
InitialIdentityModel | 0 | 0 | 68 | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
FileItem | 0 | 0 | 1 | Microsoft.eShopWeb.Infrastructure .Data |
CatalogContextModelSnapshot | 0 | 0 | 32 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
FixBuyerId | 0 | 0 | 31 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
InitialModel | 0 | 0 | 65 | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
ConfigureWebServices | 0 | 0 | 6 | Microsoft.eShopWeb.Web .Configuration |
DeleteCatalogItemEndpoint | 0.33 | 0.5 | 26 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
IndexModel | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Pages.Admin |
UpdateCatalogItemEndpoint | 0.33 | 0.5 | 49 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
CreateCatalogItemEndpoint | 0.33 | 0.5 | 57 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
ApiHealthCheck | 0 | 0 | 20 | Microsoft.eShopWeb.Web .HealthChecks |
Pages_Admin_Index | 0.81 | 0.98 | 47 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Admin_EditCatalogItem | 0.8 | 0.96 | 67 | Microsoft.eShopWeb.Web.Pages.Admin |
Pages_Basket_Success | 0.81 | 0.97 | 39 | Microsoft.eShopWeb.Web.Pages .Basket |
Basket | 0.5 | 0.67 | 26 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
AuthenticateEndpoint | 0 | 0 | 28 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
UserInfo | 0 | 0 | 1 | Microsoft.eShopWeb.PublicApi .AuthEndpoints |
Pages_Shared_Components_BasketComp onent_Default | 0.71 | 0.94 | 39 | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent |
Pages_Basket_Index | 0.82 | 0.98 | 66 | Microsoft.eShopWeb.Web.Pages .Basket |
Pages_Basket_Checkout | 0.81 | 0.98 | 66 | Microsoft.eShopWeb.Web.Pages .Basket |
CatalogBrandListEndpoint | 0.33 | 0.5 | 22 | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
ImageValidators | 0 | 0 | 3 | Microsoft.eShopWeb.PublicApi |
MappingProfile | 0 | 0 | 14 | Microsoft.eShopWeb.PublicApi |
ExceptionMiddleware | 0.33 | 0.5 | 21 | Microsoft.eShopWeb.PublicApi .Middleware |
UserController | 0.33 | 0.5 | 40 | Microsoft.eShopWeb.Web.Controllers |
ConfigureCoreServices | 0 | 0 | 7 | Microsoft.eShopWeb.Web .Configuration |
ConfigureCookieSettings | 0 | 0 | 19 | Microsoft.eShopWeb.Web .Configuration |
BaseApiController | 0 | 0 | 1 | Microsoft.eShopWeb.Web.Controllers .Api |
OrderController | 0 | 0 | 19 | Microsoft.eShopWeb.Web.Controllers |
GetOrderDetailsHandler | 0 | 0 | 39 | Microsoft.eShopWeb.Web.Features .OrderDetails |
CatalogItemListPagedEndpoint | 0.33 | 0.5 | 48 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
HomePageHealthCheck | 0 | 0 | 23 | Microsoft.eShopWeb.Web .HealthChecks |
GetMyOrdersHandler | 0 | 0 | 39 | Microsoft.eShopWeb.Web.Features .MyOrders |
CatalogTypeListEndpoint | 0.33 | 0.5 | 22 | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
ManageController | 0.71 | 0.74 | 136 | Microsoft.eShopWeb.Web.Controllers |
CatalogItemGetByIdEndpoint | 0.33 | 0.5 | 39 | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints |
Namespaces Metrics
Clicking column header arrows sorts values.
Clicking column header title text redirect to the online Code Metric definition.
Namespaces | # lines of code | # IL instruction | # Types | # lines of comment | % Comment | % Coverage | Afferent Coupling | Efferent Coupling |
---|---|---|---|---|---|---|---|---|
BlazorShared | 4 | 18 | 1 | - | - | 100 | 4 | 3 |
BlazorShared.Models | 92 | 542 | 12 | - | - | 41.3 | 5 | 12 |
BlazorShared.Interfaces | 0 | 0 | 3 | - | - | - | 4 | 4 |
BlazorShared.Authorization | 19 | 74 | 4 | - | - | - | 2 | 4 |
BlazorShared.Attributes | 2 | 11 | 1 | - | - | - | 2 | 3 |
ApplicationCore.dll::Microsoft .CodeAnalysis | 0 | 4 | 1 | - | - | - | 1 | 2 |
Microsoft.eShopWeb | 5 | 26 | 2 | - | - | 100 | 2 | 4 |
Microsoft.eShopWeb.ApplicationCore .Specifications | 18 | 601 | 10 | - | - | 100 | 5 | 10 |
Microsoft.eShopWeb.ApplicationCore .Services | 69 | 1553 | 3 | - | - | 100 | 1 | 19 |
Microsoft.eShopWeb.ApplicationCore .Interfaces | 0 | 0 | 10 | - | - | - | 21 | 6 |
Microsoft.eShopWeb.ApplicationCore .Exceptions | 6 | 51 | 3 | - | - | 16.67 | 4 | 3 |
Microsoft.eShopWeb.ApplicationCore .Constants | 0 | 4 | 1 | - | - | - | 0 | 1 |
Microsoft.eShopWeb.ApplicationCore .Entities | 47 | 225 | 4 | - | - | 68.09 | 14 | 5 |
Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate | 68 | 284 | 4 | - | - | 82.35 | 10 | 9 |
Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate | 14 | 59 | 2 | - | - | - | 0 | 9 |
Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate | 34 | 197 | 2 | - | - | 91.18 | 10 | 10 |
ApplicationCore.dll::System .Runtime.CompilerServices | 0 | 19 | 1 | - | - | - | 1 | 3 |
ApplicationCore.dll::Ardalis .GuardClauses | 4 | 22 | 1 | - | - | 75 | 1 | 7 |
Infrastructure.dll:: | 0 | 3068 | 16 | - | - | - | 2 | 5 |
Infrastructure.dll::Microsoft .CodeAnalysis | 0 | 4 | 1 | - | - | - | 1 | 2 |
Microsoft.eShopWeb.Infrastructure | 12 | 113 | 1 | - | - | 83.33 | 0 | 13 |
Microsoft.eShopWeb.Infrastructure .Services | 1 | 10 | 1 | - | - | - | 1 | 3 |
Microsoft.eShopWeb.Infrastructure .Logging | 4 | 25 | 1 | - | - | 75 | 1 | 3 |
Microsoft.eShopWeb.Infrastructure .Identity | 25 | 651 | 4 | - | - | 80 | 7 | 17 |
Microsoft.eShopWeb.Infrastructure .Identity.Migrations | 195 | 3310 | 2 | 0 | 0 | - | 0 | 16 |
Microsoft.eShopWeb.Infrastructure .Data | 52 | 977 | 4 | - | - | 59.62 | 3 | 22 |
Microsoft.eShopWeb.Infrastructure .Data.Queries | 4 | 202 | 2 | - | - | 100 | 1 | 15 |
Microsoft.eShopWeb.Infrastructure .Data.Migrations | 422 | 5712 | 4 | 0 | 0 | - | 0 | 16 |
Microsoft.eShopWeb.Infrastructure .Data.Config | 32 | 756 | 12 | - | - | 100 | 0 | 13 |
Infrastructure.dll::System.Runtime .CompilerServices | 0 | 26 | 2 | - | - | - | 8 | 3 |
Web.dll:: | 19 | 598 | 7 | - | - | 52.63 | 2 | 32 |
Web.dll::Microsoft.CodeAnalysis | 0 | 4 | 1 | - | - | - | 1 | 2 |
Web.dll::Microsoft.AspNetCore.Mvc | 1 | 13 | 1 | - | - | - | 1 | 6 |
Microsoft.eShopWeb.Web | 3 | 25 | 2 | - | - | 66.67 | 1 | 4 |
Microsoft.eShopWeb.Web.Interfaces | 0 | 0 | 2 | - | - | - | 5 | 6 |
Microsoft.eShopWeb.Web .HealthChecks | 19 | 462 | 2 | - | - | - | 0 | 12 |
Microsoft.eShopWeb.Web.Services | 77 | 2649 | 6 | - | - | 77.92 | 3 | 22 |
Microsoft.eShopWeb.Web.Extensions | 5 | 47 | 1 | - | - | 100 | 1 | 2 |
Microsoft.eShopWeb.Web .Configuration | 37 | 343 | 4 | - | - | 86.49 | 0 | 33 |
Microsoft.eShopWeb.Web.Views .Manage | 12 | 51 | 1 | - | - | 83.33 | 1 | 5 |
Microsoft.eShopWeb.Web.ViewModels | 56 | 220 | 6 | - | - | 80.36 | 12 | 7 |
Microsoft.eShopWeb.Web.ViewModels .Manage | 50 | 207 | 8 | - | - | 20 | 2 | 9 |
Microsoft.eShopWeb.Web.ViewModels .File | 6 | 25 | 1 | - | - | - | 0 | 4 |
Microsoft.eShopWeb.Web.ViewModels .Account | 26 | 107 | 4 | - | - | - | 1 | 5 |
Microsoft.eShopWeb.Web.Pages | 30 | 3170 | 10 | - | - | 63.33 | 0 | 31 |
Microsoft.eShopWeb.Web.Pages.Order | 33 | 1390 | 2 | - | - | - | 0 | 26 |
Microsoft.eShopWeb.Web.Pages .Manage | 108 | 19442 | 14 | - | - | 20.37 | 0 | 31 |
Microsoft.eShopWeb.Web.Pages .Account | 14 | 2877 | 2 | - | - | - | 0 | 24 |
Microsoft.eShopWeb.Web.Pages .Basket | 129 | 5818 | 8 | - | - | 79.07 | 2 | 40 |
Microsoft.eShopWeb.Web.Pages.Admin | 24 | 4640 | 4 | - | - | - | 0 | 27 |
Microsoft.eShopWeb.Web.Pages .Shared | 50 | 14460 | 8 | - | - | 56 | 0 | 33 |
Microsoft.eShopWeb.Web.Pages .Shared.Components.Basket | 2 | 615 | 1 | - | - | 100 | 0 | 20 |
Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent | 18 | 961 | 2 | - | - | 83.33 | 0 | 28 |
Microsoft.eShopWeb.Web.Features .OrderDetails | 15 | 247 | 2 | - | - | 80 | 1 | 17 |
Microsoft.eShopWeb.Web.Features .MyOrders | 11 | 238 | 2 | - | - | 81.82 | 1 | 17 |
Microsoft.eShopWeb.Web.Controllers | 243 | 6013 | 3 | - | - | 8.23 | 0 | 36 |
Microsoft.eShopWeb.Web.Controllers .Api | 0 | 4 | 1 | - | - | - | 0 | 2 |
Microsoft.eShopWeb.Web.Areas .Identity | 1 | 20 | 1 | - | - | 100 | 0 | 5 |
Microsoft.eShopWeb.Web.Areas .Identity.Pages | 1 | 1749 | 3 | - | - | 100 | 0 | 20 |
Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account | 132 | 8597 | 11 | - | - | 34.09 | 0 | 44 |
Web.dll::System.Runtime .CompilerServices | 0 | 26 | 2 | - | - | - | 28 | 3 |
PublicApi.dll:: | 15 | 216 | 3 | - | - | 100 | 0 | 21 |
PublicApi.dll::Microsoft .CodeAnalysis | 0 | 4 | 1 | - | - | - | 1 | 2 |
Microsoft.eShopWeb.PublicApi | 21 | 229 | 6 | - | - | 52.38 | 5 | 13 |
Microsoft.eShopWeb.PublicApi .Middleware | 11 | 408 | 1 | - | - | 27.27 | 0 | 9 |
Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints | 19 | 309 | 3 | - | - | 15.79 | 1 | 20 |
Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints | 168 | 2439 | 16 | - | - | 76.79 | 1 | 24 |
Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints | 19 | 309 | 3 | - | - | 15.79 | 1 | 20 |
Microsoft.eShopWeb.PublicApi .AuthEndpoints | 60 | 429 | 5 | - | - | 71.67 | 0 | 15 |
PublicApi.dll::System.Runtime .CompilerServices | 0 | 26 | 2 | - | - | - | 6 | 3 |
BlazorAdmin.dll:: | 2 | 75 | 3 | - | - | - | 1 | 11 |
BlazorAdmin.dll::Microsoft .CodeAnalysis | 0 | 4 | 1 | - | - | - | 1 | 2 |
BlazorAdmin.dll::System.Runtime .CompilerServices | 0 | 26 | 2 | - | - | - | 7 | 3 |
__Blazor.BlazorAdmin.Pages .CatalogItemPage.Edit | 0 | 189 | 1 | - | - | - | 1 | 6 |
__Blazor.BlazorAdmin.Pages .CatalogItemPage.Create | 0 | 189 | 1 | - | - | - | 1 | 5 |
BlazorAdmin | 37 | 750 | 4 | - | - | 18.92 | 1 | 27 |
BlazorAdmin.Shared | 23 | 911 | 6 | - | - | - | 3 | 17 |
BlazorAdmin.Services | 172 | 4370 | 8 | - | - | - | 2 | 24 |
BlazorAdmin.JavaScript | 16 | 546 | 4 | - | - | - | 3 | 6 |
BlazorAdmin.Helpers | 53 | 285 | 4 | - | - | - | 3 | 6 |
BlazorAdmin.Pages | 2 | 160 | 1 | - | - | - | 0 | 11 |
BlazorAdmin.Pages.CatalogItemPage | 199 | 6857 | 5 | - | - | - | 0 | 27 |
Quality Gates 308 |
|
![]() | Quality Gate Fail: Percentage Coverage |
Scalar Result: 33.28 %
![]() | Quality Gate Fail: Percentage Coverage on New Code |
Scalar Result: 31.29 %
![]() | Quality Gate Fail: Percentage Coverage on Refactored Code |
Scalar Result: 28.16 %
![]() | Quality Gate Pass: Blocker Issues |
No issue matched
![]() | Quality Gate Pass: Critical Issues |
No issue matched
![]() | Quality Gate Fail: New Blocker / Critical / High Issues |
308 issues matched
308 issues | Severity | Debt | Annual Interest | Full Name |
---|---|---|---|---|
C:BlazorShared.Models.ErrorDetails | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorShared.Attributes .EndpointAttribute | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.ApplicationCore .Exceptions.DuplicateException | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.Infrastructure .Dependencies | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.Web .Configuration .RevokeAuthenticationEvents | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeListEndpoint | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemEndpoint | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemEndpoint | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .CatalogBrandListEndpoint | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorAdmin.Shared.Toast | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorAdmin.Services .CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse> | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse> | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorAdmin.Services.ToastService | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:BlazorAdmin.Helpers.ToastComponent | High | 10min | 1h 0min | Rule violated: From now, all types added should be 100% covered by tests |
C:Microsoft.eShopWeb.Web.Services .BasketViewModelService | High | 16min | 24min | Rule violated: Avoid decreasing code coverage by tests of types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest | High | 16min | 24min | Rule violated: Avoid decreasing code coverage by tests of types |
C:Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails | High | 15min | 20min | Rule violated: Avoid decreasing code coverage by tests of types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemResponse | High | 15min | 20min | Rule violated: Avoid decreasing code coverage by tests of types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemResponse | High | 15min | 20min | Rule violated: Avoid decreasing code coverage by tests of types |
C:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T> | High | 10min | 20min | Rule violated: Avoid transforming an immutable type into a mutable one |
C:BlazorAdmin._Imports | High | 10min | 20min | Rule violated: Avoid transforming an immutable type into a mutable one |
CTOR:Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogItemNameSpecification. .ctor(String) | High | 6min | 20min | Rule violated: Constructor should not call a virtual method |
CTOR:Microsoft.eShopWeb.ApplicationCore .Specifications .OrderWithItemsByIdSpec..ctor (Int32) | High | 6min | 20min | Rule violated: Constructor should not call a virtual method |
C:BlazorShared.Models .CatalogBrandResponse | High | 15min | 30min | Rule violated: Avoid namespaces mutually dependent |
C:BlazorShared.Models .CatalogTypeResponse | High | 15min | 30min | Rule violated: Avoid namespaces mutually dependent |
C:Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket | High | 15min | 1h 0min | Rule violated: Avoid namespaces mutually dependent |
N:BlazorShared.Models | High | 2h 0min | 20min | Rule violated: Avoid namespaces dependency cycles |
N:{anonymous namespace} in assembly BlazorAdmin | High | 2h 0min | 20min | Rule violated: Avoid namespaces dependency cycles |
I:Microsoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T> | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
I:Microsoft.eShopWeb.ApplicationCore .Interfaces.IFileSystem | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
I:Microsoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.ApplicationCore .Exceptions .DuplicateCatalogItemNameException | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Services.WebFileSystem | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Services.ImageValidators | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.OrderRepository | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations.Initial | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations .AddExtraConstraints | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdatingDefaultDataTypes | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdatedConstraints | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdateCatalogModels | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations.Post30Upgrade | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Infrastructure .Data.Migrations .AddressAndCatalogItemOrderedChang es | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
I:BlazorShared.Interfaces .ICatalogBrandService | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
I:BlazorShared.Interfaces .ICatalogTypeService | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:BlazorAdmin.Program | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:BlazorAdmin.Services .CachedCatalogBrandServiceDecorato r | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:BlazorAdmin.Services .CachedCatalogTypeServiceDecorator | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:BlazorAdmin.Services .CatalogBrandService | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:BlazorAdmin.Services .CatalogTypeService | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Web.Program | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Web.Startup | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Web.ViewModels .Manage .GenerateRecoveryCodesViewModel | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.Web.Controllers .FileController | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .Program | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .Startup | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints.List | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Create | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Delete | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.GetById | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.ListPaged | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Update | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints.List | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
C:Microsoft.eShopWeb.PublicApi .AuthEndpoints.Authenticate | High | 20min | 20min | Rule violated: API Breaking Changes: Types |
CTOR:Microsoft.eShopWeb.ApplicationCore .Services.BasketService..ctor (IAsyncRepository<Basket> ,IAppLogger<BasketService>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.ApplicationCore .Services.BasketService .AddItemToBasket(Int32,Int32 ,Decimal,Int32) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.ApplicationCore .Services.BasketService .SetQuantities(Int32,Dictionary <String,Int32>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
CTOR:Microsoft.eShopWeb.ApplicationCore .Services.OrderService..ctor (IAsyncRepository<Basket> ,IAsyncRepository<CatalogItem> ,IAsyncRepository<Order> ,IUriComposer) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.ApplicationCore .Interfaces.IBasketService .AddItemToBasket(Int32,Int32 ,Decimal,Int32) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.ApplicationCore .Interfaces.IBasketService .SetQuantities(Int32,Dictionary <String,Int32>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.ApplicationCore .Interfaces.ITokenClaimsService .GetTokenAsync(String) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
CTOR:Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (SerializationInfo ,StreamingContext) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
CTOR:Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (String) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
CTOR:Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (String,Exception) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order .get_OrderItems() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .get_PaymentMethods() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket .get_Items() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Identity .IdentityTokenClaimService .GetTokenAsync(String) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.CatalogContextSeed.SeedAsync (CatalogContext,ILoggerFactory ,Nullable<Int32>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.GetByIdAsync (Int32) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.ListAllAsync () | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.ListAsync (ISpecification<T>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.CountAsync (ISpecification<T>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.AddAsync(T) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.UpdateAsync (T) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.DeleteAsync (T) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.FirstAsync (ISpecification<T>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T> .FirstOrDefaultAsync (ISpecification<T>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:BlazorShared.Models .CatalogBrandResponse .get_CatalogBrands() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
SET:BlazorShared.Models .CatalogBrandResponse .set_CatalogBrands(List <CatalogBrand>) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Models.CatalogItem .DataToBase64(IFileListEntry) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:BlazorShared.Models .CatalogTypeResponse .get_CatalogTypes() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
SET:BlazorShared.Models .CatalogTypeResponse .set_CatalogTypes(List<CatalogType >) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
GET:BlazorShared.Models .PagedCatalogItemResponse .get_CatalogItems() | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Interfaces .ICatalogItemService.Create (CreateCatalogItemRequest) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Interfaces .ICatalogItemService.Edit (CatalogItem) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Interfaces .ICatalogItemService.Delete(Int32) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Interfaces .ICatalogItemService.GetById(Int32 ) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
M:BlazorShared.Interfaces .ICatalogItemService.ListPaged (Int32) | High | 10min | 20min | Rule violated: API Breaking Changes: Methods |
![]() | Quality Gate Fail: Critical Rules Violated |
7 rules matched
7 rules | issues | Full Name |
---|---|---|
Avoid types too big | 1 issue
| Rule |
Avoid namespaces mutually dependent | First 5 of 10 issues
| Rule |
Types | First 5 of 35 issues
| Rule |
Methods | First 5 of 88 issues
| Rule |
Fields | 1 issue
| Rule |
Interfaces and Abstract Classes | 2 issues
| Rule |
Avoid having different types with same name | First 5 of 10 issues
| Rule |
![]() | Quality Gate Pass: Percentage Debt |
Scalar Result: 18.05 %
![]() | Quality Gate Fail: New Debt since Baseline |
Scalar Result: 4.58 man-days
![]() | Quality Gate Fail: Debt Rating per Namespace |
30 namespaces matched
30 namespaces | debtRating | debtRatio | devTimeInManDay | debtInManDay | issues | Full Name |
---|---|---|---|---|---|---|
![]() | D | 26.97 | 3d 6h | 1d 0h | First 5 of 77 issues
| BlazorShared.Models |
![]() | E | 89.03 | 1h 52min | 1h 40min | First 5 of 8 issues
| BlazorShared.Interfaces |
![]() | D | 23.45 | 7h 20min | 1h 43min | First 5 of 26 issues
| BlazorShared.Authorization |
![]() | E | 54.39 | 1h 9min | 37min | First 5 of 9 issues
| BlazorShared.Attributes |
![]() | D | 24.59 | 2h 18min | 34min | First 5 of 8 issues
| Microsoft.eShopWeb |
![]() | E | 135.73 | 3h 10min | 4h 18min | First 5 of 10 issues
| Microsoft.eShopWeb.ApplicationCore .Interfaces |
![]() | E | 61.29 | 2h 18min | 1h 24min | First 5 of 14 issues
| Microsoft.eShopWeb.ApplicationCore .Exceptions |
![]() | D | 20.78 | 2h 9min | 26min | 3 issues
| Microsoft.eShopWeb.Infrastructure |
![]() | E | 107.17 | 43min | 46min | 4 issues
| Microsoft.eShopWeb.Infrastructure .Services |
![]() | D | 31 | 3d 5h | 1d 1h | First 5 of 8 issues
| Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
![]() | D | 24.33 | 1d 7h | 3h 40min | First 5 of 33 issues
| Microsoft.eShopWeb.Infrastructure .Data |
![]() | D | 34.42 | 7d 7h | 2d 5h | First 5 of 28 issues
| Microsoft.eShopWeb.Infrastructure .Data.Migrations |
![]() | E | 76.09 | 34min | 26min | 5 issues
| Microsoft.AspNetCore.Mvc |
![]() | E | 59.78 | 1h 43min | 1h 1min | First 5 of 9 issues
| Microsoft.eShopWeb.Web |
![]() | E | 239.75 | 1h 0min | 2h 25min | 3 issues
| Microsoft.eShopWeb.Web.Interfaces |
![]() | D | 30.65 | 4h 1min | 1h 14min | First 5 of 9 issues
| Microsoft.eShopWeb.Web .HealthChecks |
![]() | D | 27.98 | 4h 1min | 1h 7min | First 5 of 9 issues
| Microsoft.eShopWeb.Web.Features .OrderDetails |
![]() | E | 57.41 | 5d 1h | 3d 0h | First 5 of 66 issues
| Microsoft.eShopWeb.Web.Controllers |
![]() | D | 30.09 | 43min | 13min | 2 issues
| Microsoft.eShopWeb.Web.Areas .Identity |
![]() | E | 91.77 | 5h 45min | 5h 17min | First 5 of 20 issues
| Microsoft.eShopWeb.PublicApi |
![]() | D | 32.82 | 2h 26min | 48min | First 5 of 6 issues
| Microsoft.eShopWeb.PublicApi .Middleware |
![]() | D | 23.95 | 5h 45min | 1h 22min | First 5 of 16 issues
| Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
![]() | D | 23.95 | 5h 45min | 1h 22min | First 5 of 16 issues
| Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
![]() | E | 86.16 | 2h 35min | 2h 14min | First 5 of 7 issues
| {anonymous namespace} in assembly BlazorAdmin |
![]() | D | 41.05 | 1d 0h | 3h 22min | First 5 of 15 issues
| BlazorAdmin |
![]() | D | 22.52 | 1d 0h | 1h 48min | First 5 of 16 issues
| BlazorAdmin.Shared |
![]() | D | 42.51 | 4d 3h | 1d 7h | First 5 of 89 issues
| BlazorAdmin.Services |
![]() | D | 25.58 | 5h 19min | 1h 21min | First 5 of 19 issues
| BlazorAdmin.JavaScript |
![]() | D | 27.1 | 1d 6h | 3h 54min | First 5 of 50 issues
| BlazorAdmin.Helpers |
![]() | D | 21.49 | 6d 2h | 1d 2h | First 5 of 100 issues
| BlazorAdmin.Pages.CatalogItemPage |
![]() | Quality Gate Fail: New Annual Interest since Baseline |
Scalar Result: 13.29 man-days
Hot Spots 000 |
Code Smells 000 |
Code Smells Regression 000 |
Object Oriented Design 000 |
Design 000 |
Architecture 000 |
API Breaking Changes 000 |
Code Coverage 000 |
Dead Code 000 |
Security 000 |
Visibility 000 |
Immutability 000 |
Naming Conventions 000 |
Source Files Organization 000 |
.NET Framework Usage 000 |
API Usage 000 |
Defining JustMyCode 000 |
Trend Metrics 000 |
Code Diff Summary 000 |
Rules extracted from Source Code 000 |
Code Smells 521 |
|
![]() | Critical Rule Violated: Avoid types too big |
• How to Fix Issues of this Rule: Types with many lines of code should be split in a group of smaller types. To refactor a God Class you'll need patience, and you might even need to recreate everything from scratch. Here are a few refactoring advices: • The logic in the God Class must be splitted in smaller classes. These smaller classes can eventually become private classes nested in the original God Class, whose instances objects become composed of instances of smaller nested classes. • Smaller classes partitioning should be driven by the multiple responsibilities handled by the God Class. To identify these responsibilities it often helps to look for subsets of methods strongly coupled with subsets of fields. • If the God Class contains way more logic than states, a good option can be to define one or several static classes that contains no static field but only pure static methods. A pure static method is a function that computes a result only from inputs parameters, it doesn't read nor assign any static or instance field. The main advantage of pure static methods is that they are easily testable. • Try to maintain the interface of the God Class at first and delegate calls to the new extracted classes. In the end the God Class should be a pure facade without its own logic. Then you can keep it for convenience or throw it away and start to use the new classes only. • Unit Tests can help: write tests for each method before extracting it to ensure you don't break functionality. The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a 200 lines of code type, up to 10 hours for a type with 2.000 or more lines of code. In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1000:AvoidTypesTooBig", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | locJustMyCode | # IL instructions | Methods | Fields | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
![]() ![]() | 207 | 5 291 | First 5 of 27 methods
| First 5 of 8 fields
| 1h 2min | 2min 27s | Microsoft.eShopWeb.Web.Controllers .ManageController |
![]() | Rule Violated: Avoid types with too many methods |
• How to Fix Issues of this Rule: To refactor properly a God Class please read HowToFix advices from the default rule Types to Big. // The estimated Debt, which means the effort to fix such issue, varies linearly from 1 hour for a type with 20 methods, up to 10 hours for a type with 200 or more methods. In Debt and Interest computation, this rule takes account of the fact that static types with no mutable fields are just a collection of static methods that can be easily splitted and moved from one type to another.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1001:AvoidTypesWithTooManyMethods", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | nbMethods | instanceMethods | staticMethods | # lines of code (LOC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
![]() | 25 | First 5 of 25 methods
| no method | 207 | 1h 15min | 5min | Microsoft.eShopWeb.Web.Controllers .ManageController |
![]() | Rule Violated: Avoid methods potentially poorly commented |
• How to Fix Issues of this Rule: Typically add more comment. But code commenting is subject to controversy. While poorly written and designed code would needs a lot of comment to be understood, clean code doesn't need that much comment, especially if variables and methods are properly named and convey enough information. Unit-Test code can also play the role of code commenting. However, even when writing clean and well-tested code, one will have to write hacks at a point, usually to circumvent some API limitations or bugs. A hack is a non-trivial piece of code, that doesn't make sense at first glance, and that took time and web research to be found. In such situation comments must absolutely be used to express the intention, the need for the hacks and the source where the solution has been found. The estimated Debt, which means the effort to comment such method, varies linearly from 2 minutes for 10 lines of code not commented, up to 20 minutes for 200 or more, lines of code not commented.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1006:AvoidMethodsPotentiallyPoorlyCommented", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 method matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 method | Percentage Comment | # lines of code (LOC) | # lines of comment | nbLinesOfCodeNotCommented | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
![]() | 0 | 25 | 0 | 25 | 2min 30s | 16min | Microsoft.eShopWeb.Web.Controllers .UserController.CreateUserInfo (ClaimsPrincipal) |
Code Smells Regression 630 |
![]() | Rule Violated: From now, all types added should be 100% covered by tests |
• How to Fix Issues of this Rule: Write more unit-tests dedicated to cover code not covered yet. If you find some hard-to-test code, it is certainly a sign that this code is not well designed and hence, needs refactoring. You'll find code impossible to cover by unit-tests, like calls to MessageBox.Show(). An infrastructure must be defined to be able to mock such code at test-time. Issues of this rule have a constant 10 minutes Debt, because the Debt, which means the effort to write tests for the culprit type, is already estimated for issues in the category Code Coverage. However issues of this rule have a High severity, with even more interests for issues on new types since baseline, because the proper time to write tests for these types is now, before they get commited in the next production release.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1101:FromNowAllTypesAddedShouldBe100PercentCoveredByTests", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
16 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
16 types | Percentage Coverage | methodsCulprit | # lines of code (LOC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
![]() | 0% | 5 methods
| 5 | 10min | 1h 0min | BlazorShared.Models.ErrorDetails |
![]() | 0% | 2 methods
| 2 | 10min | 1h 0min | BlazorShared.Attributes .EndpointAttribute |
![]() | 0% | no method | 1 | 10min | 1h 0min | Microsoft.eShopWeb.ApplicationCore .Exceptions.DuplicateException |
![]() | 83.33% | 1 method
| 12 | 10min | 1h 0min | Microsoft.eShopWeb.Infrastructure .Dependencies |
![]() | 50% | 1 method
| 10 | 10min | 1h 0min | Microsoft.eShopWeb.Web .Configuration .RevokeAuthenticationEvents |
![]() | 0% | 2 methods
| 2 | 10min | 1h 0min | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel |
![]() | 27.27% | 2 methods
| 11 | 10min | 1h 0min | Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware |
![]() | 33.33% | 2 methods
| 9 | 10min | 1h 0min | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeListEndpoint |
![]() | 88.89% | 1 method
| 18 | 10min | 1h 0min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemEndpoint |
![]() | 21.43% | 2 methods
| 14 | 10min | 1h 0min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemEndpoint |
![]() | 33.33% | 2 methods
| 9 | 10min | 1h 0min | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .CatalogBrandListEndpoint |
![]() | 0% | 1 method
| 2 | 10min | 1h 0min | BlazorAdmin.Shared.Toast |
![]() | 0% | 1 method
| 16 | 10min | 1h 0min | BlazorAdmin.Services .CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse> |
![]() | 0% | 1 method
| 8 | 10min | 1h 0min | BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse> |
![]() | 0% | 5 methods
| 13 | 10min | 1h 0min | BlazorAdmin.Services.ToastService |
![]() | 0% | First 5 of 17 methods
| 38 | 10min | 1h 0min | BlazorAdmin.Helpers.ToastComponent |
![]() | Rule Violated: Avoid decreasing code coverage by tests of types |
• How to Fix Issues of this Rule: Write more unit-tests dedicated to cover changes in matched types not covered yet. If you find some hard-to-test code, it is certainly a sign that this code is not well designed and hence, needs refactoring. The estimated Debt, which means the effort to cover by test code that used to be covered, varies linearly 15 minutes to 3 hours, depending on the number of lines of code that are not covered by tests anymore. Severity of issues of this rule varies from High to Critical depending on the number of lines of code that are not covered by tests anymore. Because the loss in code coverage happened since the baseline, the severity is high because it is important to focus on these issues now, before such code gets released in production.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1103:AvoidDecreasingCodeCoverageByTestsOfTypes", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
5 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
5 types | OldCoveragePercent | NewCoveragePercent | OldLoc | NewLoc | uncoveredLoc | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|---|
![]() | 100 | 80.77 | 23 | 26 | 2 | 16min | 24min | Microsoft.eShopWeb.Web.Services .BasketViewModelService |
![]() | 100 | 87.5 | 16 | 16 | 2 | 16min | 24min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest |
![]() | 100 | 85.71 | 7 | 7 | 1 | 15min | 20min | Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails |
![]() | 100 | 75 | 4 | 4 | 1 | 15min | 20min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemResponse |
![]() | 100 | 83.33 | 6 | 6 | 1 | 15min | 20min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemResponse |
![]() | Rule Violated: Avoid transforming an immutable type into a mutable one |
• How to Fix Issues of this Rule: If being immutable is an important property for a matched type, then the code must be refactored to preserve immutability. The estimated Debt, which means the effort to fix such issue, is equal to 10 minutes plus 10 minutes per instance fields of the matched type that is now mutable. Issues of this rule have a High severity, because it is important to focus on these issues now, before such code gets released in production.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1108:AvoidTransformingAnImmutableTypeIntoAMutableOne", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 types | culpritFields | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | no field | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T> |
![]() | no field | 10min | High | BlazorAdmin._Imports |
Object Oriented Design 950 |
![]() | Rule Violated: A stateless class or structure might be turned into a static type |
• How to Fix Issues of this Rule: Declare all methods as static and transform the class or structure into a static class. By default issues of this rule have a Low severity because they reflect more an advice than a problem.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1206:AStatelessClassOrStructureMightBeTurnedIntoAStaticType", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 types | methodsUsingMe | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | no method | 1min 0s | Low | Microsoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContextSeed |
![]() ![]() | no method | 1min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.CatalogContextSeed |
![]() | no method | 1min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Constants.AuthorizationConstants |
![]() | Rule Violated: Non-static classes should be instantiated or turned to static |
• How to Fix Issues of this Rule: First it is important to investigate why the class is never instantiated. If the reason is the class hosts only static methods then the class can be safely declared as static. Others reasons like, the class is meant to be instantiated via reflection, or is meant to be instantiated only by client code should lead to adapt this rule code to avoid these matches.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1207:NonStaticClassesShouldBeInstantiatedOrTurnedToStatic", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
16 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
16 types | Visibility | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContextSeed |
![]() ![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.Infrastructure .Data.CatalogContextSeed |
![]() ![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.Infrastructure .Data.FileItem |
![]() ![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware |
![]() ![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.PublicApi .AuthEndpoints .AuthenticateEndpoint |
![]() ![]() | Public | 2min 0s | Medium | BlazorAdmin.Services.HttpService |
![]() | Public | 2min 0s | Medium | BlazorShared.Models .CreateCatalogItemResponse |
![]() | Public | 2min 0s | Medium | BlazorShared.Models .DeleteCatalogItemResponse |
![]() | Public | 2min 0s | Medium | BlazorShared.Models .EditCatalogItemResult |
![]() | Public | 2min 0s | Medium | BlazorShared.Models .PagedCatalogItemResponse |
![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.ApplicationCore .Constants.AuthorizationConstants |
![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate .PaymentMethod |
![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest |
![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.PublicApi .AuthEndpoints.AuthenticateRequest |
![]() | Public | 2min 0s | Medium | Microsoft.eShopWeb.PublicApi .AuthEndpoints.ClaimValue |
![]() | Public | 2min 0s | Medium | BlazorAdmin.JavaScript.Cookies |
![]() | Rule Violated: Methods should be declared static if possible |
• How to Fix Issues of this Rule: Declare matched methods as static. Since such method doesn't use any instance fields and methods of its type and base-types, you should consider if it makes sense, to move such a method to a static utility class.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1208:MethodsShouldBeDeclaredStaticIfPossible", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
5 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
5 methods | staticFieldsUsed | methodsCallingMe | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() | no field | no method | 0min 30s | Medium | Microsoft.eShopWeb.Web.ViewModels .OrderItemViewModel.get_Discount() |
![]() | no field | no method | 0min 30s | Medium | Microsoft.eShopWeb.Web.Pages .PrivacyModel.OnGet() |
![]() | no field | no method | 0min 30s | Medium | Microsoft.eShopWeb.Web.Pages .Basket.SuccessModel.OnGet() |
![]() | no field | no method | 0min 30s | Medium | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel.OnGet() |
![]() | no field | 2 methods
| 1min 30s | Medium | BlazorAdmin.Services.HttpService .ToJson(Object) |
![]() | Rule Violated: Constructor should not call a virtual method |
• How to Fix Issues of this Rule: Violations reported can be solved by re-designing object initialisation or by declaring the parent class as sealed, if possible.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1209:ConstructorShouldNotCallAVirtualMethod", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
6 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
6 methods | virtualMethodsCalled | DerivedTypes | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() ![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogItemNameSpecification. .ctor(String) |
![]() ![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .OrderWithItemsByIdSpec..ctor (Int32) |
![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecificati on..ctor(Int32,Int32,Nullable <Int32>,Nullable<Int32>) |
![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification..ctor (Nullable<Int32>,Nullable<Int32>) |
![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogItemsSpecification..ctor (Int32[]) |
![]() | 1 method
| no type | 6min | High | Microsoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecificat ion..ctor(String) |
![]() | Rule Violated: Avoid empty interfaces |
• How to Fix Issues of this Rule: Remove the interface or add members to it. If the empty interface is being used to label a set of types, replace the interface with a custom attribute. The estimated Debt, which means the effort to fix such issue, is equal to 10 minutes to discard an empty interface plus 3 minutes per type implementing an empty interface.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1212:AvoidEmptyInterfaces", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | TypesThatImplementMe | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | First 5 of 6 types
| 28min | Medium | Microsoft.eShopWeb.ApplicationCore .Interfaces.IAggregateRoot |
Design 840 |
![]() | Rule Violated: Avoid namespaces with few types |
• How to Fix Issues of this Rule: To fix a violation of this rule, try to combine namespaces that contain just a few types into a single namespace.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1305:AvoidNamespacesWithFewTypes", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
15 namespaces matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
15 namespaces | types | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 1 type
| 5min | Low | BlazorShared.Attributes |
![]() ![]() | 1 type
| 5min | Low | Microsoft.eShopWeb.Infrastructure |
![]() ![]() | 1 type
| 5min | Low | Microsoft.eShopWeb.PublicApi .Middleware |
![]() ![]() | 2 types
| 5min | Low | Microsoft.eShopWeb.Web |
![]() | 1 type
| 5min | Low | Microsoft.eShopWeb.ApplicationCore .Constants |
![]() | 1 type
| 5min | Low | Ardalis.GuardClauses |
![]() | 1 type
| 5min | Low | Microsoft.AspNetCore.Mvc |
![]() | 2 types
| 5min | Low | Microsoft.eShopWeb |
![]() | 2 types
| 5min | Low | Microsoft.eShopWeb.Web .HealthChecks |
![]() | 2 types
| 5min | Low | Microsoft.eShopWeb.Web.Features .OrderDetails |
![]() | 2 types
| 5min | Low | Microsoft.eShopWeb.Web.Features .MyOrders |
![]() | 3 types
| 5min | Low | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints |
![]() | 3 types
| 5min | Low | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints |
![]() | 4 types
| 5min | Low | Microsoft.eShopWeb.Web .Configuration |
![]() | 4 types
| 5min | Low | BlazorAdmin.JavaScript |
![]() | Rule Violated: Nested types should not be visible |
• How to Fix Issues of this Rule: If you do not intend the nested type to be externally visible, change the type's accessibility. Otherwise, remove the nested type from its parent and make it non-nested. If the purpose of the nesting is to group some nested types, use a namespace to create the hierarchy instead. The estimated Debt, which means the effort to fix such issue, is 2 minutes per nested type plus 4 minutes per outter type using such nesting type.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1306:NestedTypesShouldNotBeVisible", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | Visibility | typesUser | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() | Public | no type | 2min 0s | Medium | BlazorShared.Authorization .Constants+Roles |
![]() | Rule Violated: Declare types in namespaces |
• How to Fix Issues of this Rule: To fix a violation of this rule, declare all types of all anonymous namespaces in some named namespaces.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1307:DeclareTypesInNamespaces", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 namespaces matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 namespaces | childTypes | # lines of code (LOC) | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() ![]() | 1 type
| 19 | 2min 0s | Medium | {anonymous namespace} in assembly Web |
![]() ![]() | 1 type
| 15 | 2min 0s | Medium | {anonymous namespace} in assembly PublicApi |
![]() ![]() | 1 type
| 2 | 2min 0s | Medium | {anonymous namespace} in assembly BlazorAdmin |
![]() | Rule Violated: Attribute classes should be sealed |
• How to Fix Issues of this Rule: To fix a violation of this rule, seal the attribute type or make it abstract.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1310:AttributeClassesShouldBeSealed", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | # lines of code (LOC) | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 2 | 5min | Medium | BlazorShared.Attributes .EndpointAttribute |
Architecture 521 |
|
![]() | Critical Rule Violated: Avoid namespaces mutually dependent |
• How to Fix Issues of this Rule: Refactor the code to make sure that the low-level namespace doesn't use the high-level namespace. The rule lists in detail which low-level types and methods shouldn't use which high-level types and methods. The refactoring patterns that help getting rid of each listed dependency include: • Moving one or several types from the low-level namespaces to the high-level one, or do the opposite. • Use Inversion of Control (IoC): http://en.wikipedia.org/wiki/Inversion_of_control This consists in creating new interfaces in the low-level namespace, implemented by classes in the high-level namespace. This way low-level code can consume high-level code through interfaces, without using directly high-level implementations. Interfaces can be passed to low-level code through the high-level namespace code, or through even higher-level code. In related documentations you can see these interfaces named as callbacks, and the overall pattern is also known as Dependency Injection (DI): http://en.wikipedia.org/wiki/Dependency_injection That rule might not be applicable for frameworks that present public namespaces mutually dependent. In such situation the cost to break the API can be higher than the cost to let the code entangled. - The estimated Debt, which means the effort to fix such issue to make sure that the first namespace doesn't rely anymore on the second one, depends on the number of types and methods used. Because both namespace are now forming a super-component that cannot be partitioned in smaller components, the cost to unfix each issue is proportional to the size of this super-component. As a consequence, the estimated Annual Interest, which means the annual cost to let both namespaces mutually dependend, is equal to an hour plus a number of minutes proportional to the size (in lines of code) of both namespaces. The obtained Annual Interest value is then divided by the number of detailled issues listed. Often the estimated Annual Interest for each listed issue is higher than the Debt, which means that leaving such issue unfixed for a year costs more than taking the time to fix issue once. -- To explore the coupling between the two namespaces mutually dependent: 1) from the becauseNamespace right-click menu choose Copy to Matrix Columns to export this low-level namespace to the horizontal header of the dependency matrix. 2) from the shouldntUseNamespace right-click menu choose Copy to Matrix Rows to export this high-level namespace to the vertical header of the dependency matrix. 3) double-click the black matrix cell (it is black because of the mutual dependency). 4) in the matrix command bar, click the button: Remove empty Row(s) and Column(s). At this point, the dependency matrix shows types involved into the coupling. • Blue cells represent types from low-level namespace using types from high-level namespace • Green cells represent types from high-level namespace using types from low-level namespace • Black cells represent types from low-level and high-level namespaces that use each other. There are more green cells than blue and black cells because green cell represents correct coupling from high-level to low-level. The goal is to eliminate incorrect dependencies represented by blue and black cells.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1400:AvoidNamespacesMutuallyDependent", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
10 members matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
10 types and methods | shouldntUse | becauseNamespace | shouldntUseNamespace | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|
![]() | 1 type
| ![]() | ![]() | 15min | 30min | BlazorShared.Models .CatalogBrandResponse |
![]() | 1 type
| ![]() | ![]() | 15min | 30min | BlazorShared.Models .CatalogTypeResponse |
![]() | 1 type
| ![]() | ![]() | 15min | 1h 0min | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket |
![]() | 1 type
| ![]() | ![]() | 15min | 1h 1min | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order |
![]() | 1 type
| ![]() | ![]() | 15min | 1h 2min | Microsoft.eShopWeb.Web.Interfaces .IBasketViewModelService |
![]() | 1 type
| ![]() | ![]() | 15min | 1h 3min | Microsoft.eShopWeb.PublicApi .MappingProfile |
![]() | 1 type
| ![]() | ![]() | 15min | 30min | Microsoft.eShopWeb.PublicApi .MappingProfile |
![]() | 1 method
| ![]() | ![]() | 15min | 30min | Microsoft.eShopWeb.PublicApi .MappingProfile..ctor() |
![]() | 1 type
| ![]() | ![]() | 15min | 30min | Microsoft.eShopWeb.PublicApi .MappingProfile |
![]() | 1 method
| ![]() | ![]() | 15min | 30min | Microsoft.eShopWeb.PublicApi .MappingProfile..ctor() |
![]() | Rule Violated: Avoid namespaces dependency cycles |
• How to Fix Issues of this Rule: Removing first pairs of mutually dependent namespaces will eliminate most namespaces dependency cycles. This is why it is recommended to focus first on matches of the default rule Avoid namespaces mutually dependent before attempting to fix issues of the present rule. Once all mutually dependent namespaces occurrences are solved, remaining cycles matched by the present rule necessarily involve 3 or more namespaces like in: A is using B is using C is using A. To browse a cycle on the dependency graph or the dependency matrix, right click a cycle cell in the result of the present rule and export the matched namespaces to the dependency graph or matrix. This is illustrated here: https://www.ndepend.com/docs/visual-studio-dependency-graph#Entangled With such a cycle graph visualized, you can determine which dependencies should be discarded to break the cycle. To do so, you need to identify which namespace should be at low-level and which one should be at high-level. In the A is using B is using C is using A cycle example, if A should be at low level then C should be at a higher-level than A. As a consequence C shouldn't use A and this dependency should be removed. To remove a dependency you can refer to patterns described in the HowToFix section of the rule Avoid namespaces mutually dependent. Notice that the dependency matrix can also help visualizing and breaking cycles. In the matrix cycles are represented with red squares and black cells. To easily browse dependency cycles, the dependency matrix comes with an option: Display Direct and Indirect Dependencies. See related documentation here: https://www.ndepend.com/docs/dependency-structure-matrix-dsm#Cycle https://www.ndepend.com/docs/dependency-structure-matrix-dsm#Mutual The estimated Debt, which means the effort to fix such issue, doesn't depend on the cycle length. First because fixing the rule Avoid namespaces mutually dependent will fix most cycle reported here, second because even a long cycle can be broken by removing a single or a few dependencies.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1401:AvoidNamespacesDependencyCycles", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
5 namespaces matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
5 namespaces | cycle | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 2 namespaces
| 2h 0min | High | BlazorShared.Models |
![]() ![]() | 2 namespaces
| 2h 0min | High | {anonymous namespace} in assembly BlazorAdmin |
![]() | 4 namespaces
| 2h 0min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces |
![]() | 2 namespaces
| 2h 0min | High | Microsoft.eShopWeb.Web.Interfaces |
![]() | 4 namespaces
| 2h 0min | High | Microsoft.eShopWeb.PublicApi |
![]() | Rule Violated: Assemblies with poor cohesion (RelationalCohesion) |
• How to Fix Issues of this Rule: Matches of this present rule might reveal either assemblies with specific coding constraints (like code generated that have particular structure) either issues in design. In the second case, large refactoring can be planned not to respect this rule in particular, but to increase the overall design and code maintainability. The severity of issues of this rule is Low because the code metric Relational Cohesion is an information about the code structure state but is not actionable, it doesn't tell precisely what to do obtain a better score. Fixing actionable issues of others Architecture and Code Smells default rules will necessarily increase the Relational Cohesion scores.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1405:AssembliesWithPoorRelationalCohesion", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 assemblies matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 assemblies | ChildTypes | relationalCohesion | Relational cohesion | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() ![]() | First 5 of 21 types
| 0.81 | 0.86 | 10min | Low | BlazorShared |
![]() ![]() | First 5 of 40 types
| 1.47 | 2.05 | 10min | Low | BlazorAdmin |
![]() | First 5 of 122 types
| 0.97 | 2.69 | 10min | Low | Web |
API Breaking Changes 204 |
![]() | Critical Rule Violated: API Breaking Changes: Types |
• How to Fix Issues of this Rule: Make sure that public types that used to be presented to clients, still remain public now, and in the future. If a public type must really be removed, you can tag it with System.ObsoleteAttribute with a workaround message during a few public releases, until it gets removed definitely. Notice that this rule doesn't match types removed that were tagged as obsolete. Issues of this rule have a severity equal to High because an API Breaking change can provoque significant friction with consumers of the API.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1500:APIBreakingChangesTypes", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
35 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
35 types | NewVisibility | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 20min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IAsyncRepository<T> | |
![]() | 20min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IFileSystem | |
![]() | 20min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IOrderRepository | |
![]() | 20min | High | Microsoft.eShopWeb.ApplicationCore .Exceptions .DuplicateCatalogItemNameException | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Services.WebFileSystem | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Services.ImageValidators | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.OrderRepository | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.Initial | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .AddExtraConstraints | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdatingDefaultDataTypes | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdatedConstraints | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .UpdateCatalogModels | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.Post30Upgrade | |
![]() | 20min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .AddressAndCatalogItemOrderedChang es | |
![]() | 20min | High | BlazorShared.Interfaces .ICatalogBrandService | |
![]() | 20min | High | BlazorShared.Interfaces .ICatalogTypeService | |
![]() | 20min | High | BlazorAdmin.Program | |
![]() | 20min | High | BlazorAdmin.Services .CachedCatalogBrandServiceDecorato r | |
![]() | 20min | High | BlazorAdmin.Services .CachedCatalogTypeServiceDecorator | |
![]() | 20min | High | BlazorAdmin.Services .CatalogBrandService | |
![]() | 20min | High | BlazorAdmin.Services .CatalogTypeService | |
![]() | 20min | High | Microsoft.eShopWeb.Web.Program | |
![]() | 20min | High | Microsoft.eShopWeb.Web.Startup | |
![]() | 20min | High | Microsoft.eShopWeb.Web.ViewModels .Manage .GenerateRecoveryCodesViewModel | |
![]() | 20min | High | Microsoft.eShopWeb.Web.Controllers .FileController | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .Program | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .Startup | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints.List | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Create | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Delete | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.GetById | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.ListPaged | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints.Update | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints.List | |
![]() | 20min | High | Microsoft.eShopWeb.PublicApi .AuthEndpoints.Authenticate |
![]() | Critical Rule Violated: API Breaking Changes: Methods |
• How to Fix Issues of this Rule: Make sure that public methods that used to be presented to clients, still remain public now, and in the future. If a public method must really be removed, you can tag it with System.ObsoleteAttribute with a workaround message during a few public releases, until it gets removed definitely. Notice that this rule doesn't match methods removed that were tagged as obsolete. Issues of this rule have a severity equal to High because an API Breaking change can provoque significant friction with consumers of the API.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1501:APIBreakingChangesMethods", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
88 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
88 methods | NewVisibility | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Services.BasketService..ctor (IAsyncRepository<Basket> ,IAppLogger<BasketService>) | |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Services.BasketService .AddItemToBasket(Int32,Int32 ,Decimal,Int32) | |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Services.BasketService .SetQuantities(Int32,Dictionary <String,Int32>) |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Services.OrderService..ctor (IAsyncRepository<Basket> ,IAsyncRepository<CatalogItem> ,IAsyncRepository<Order> ,IUriComposer) | |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IBasketService .AddItemToBasket(Int32,Int32 ,Decimal,Int32) | |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IBasketService .SetQuantities(Int32,Dictionary <String,Int32>) |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.ITokenClaimsService .GetTokenAsync(String) |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (SerializationInfo ,StreamingContext) | |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (String) | |
![]() | 10min | High | Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException..ctor (String,Exception) | |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order .get_OrderItems() |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer .get_PaymentMethods() |
![]() | Public | 10min | High | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket .get_Items() |
![]() | Public | 10min | High | Microsoft.eShopWeb.Infrastructure .Identity .IdentityTokenClaimService .GetTokenAsync(String) |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.CatalogContextSeed.SeedAsync (CatalogContext,ILoggerFactory ,Nullable<Int32>) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.GetByIdAsync (Int32) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.ListAllAsync () | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.ListAsync (ISpecification<T>) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.CountAsync (ISpecification<T>) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.AddAsync(T) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.UpdateAsync (T) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.DeleteAsync (T) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>.FirstAsync (ISpecification<T>) | |
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T> .FirstOrDefaultAsync (ISpecification<T>) | |
![]() | 10min | High | BlazorShared.Models .CatalogBrandResponse .get_CatalogBrands() | |
![]() | 10min | High | BlazorShared.Models .CatalogBrandResponse .set_CatalogBrands(List <CatalogBrand>) | |
![]() | Public | 10min | High | BlazorShared.Models.CatalogItem .DataToBase64(IFileListEntry) |
![]() | 10min | High | BlazorShared.Models .CatalogTypeResponse .get_CatalogTypes() | |
![]() | 10min | High | BlazorShared.Models .CatalogTypeResponse .set_CatalogTypes(List<CatalogType >) | |
![]() | Public | 10min | High | BlazorShared.Models .PagedCatalogItemResponse .get_CatalogItems() |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.Create (CreateCatalogItemRequest) |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.Edit (CatalogItem) |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.Delete(Int32) |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.GetById(Int32 ) |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.ListPaged (Int32) |
![]() | Public | 10min | High | BlazorShared.Interfaces .ICatalogItemService.List() |
![]() | Public | 10min | High | BlazorShared.Authorization .UserInfo.get_Claims() |
![]() | Public | 10min | High | BlazorAdmin .CustomAuthStateProvider .GetAuthenticationStateAsync() |
![]() | 10min | High | BlazorAdmin._Imports.Execute() | |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .ListPaged(Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .List() |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .GetById(Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .Create(CreateCatalogItemRequest) |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .Edit(CatalogItem) |
![]() | Public | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .Delete(Int32) |
![]() | 10min | High | BlazorAdmin.Services .CatalogItemService..ctor (ICatalogBrandService ,ICatalogTypeService,HttpService ,BaseUrlConfiguration,ILogger <CatalogItemService>) | |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.Create (CreateCatalogItemRequest) |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.Edit (CatalogItem) |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.Delete(Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.GetById(Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.ListPaged (Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services .CatalogItemService.List() |
![]() | 10min | High | BlazorAdmin.Services.HttpService. .ctor(HttpClient ,BaseUrlConfiguration) | |
![]() | Public | 10min | High | BlazorAdmin.Services.HttpService .HttpGet<T>(String) |
![]() | Public | 10min | High | BlazorAdmin.Services.HttpService .HttpDelete<T>(String,Int32) |
![]() | Public | 10min | High | BlazorAdmin.Services.HttpService .HttpPost<T>(String,Object) |
![]() | Public | 10min | High | BlazorAdmin.Services.HttpService .HttpPut<T>(String,Object) |
![]() | Public | 10min | High | BlazorAdmin.JavaScript.Cookies .GetCookie(String) |
![]() | Public | 10min | High | BlazorAdmin.JavaScript.Css .HideBodyOverflow() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .List.get_CatalogBrandService() |
![]() | 10min | High | BlazorAdmin.Pages.CatalogItemPage .List.set_CatalogBrandService (ICatalogBrandService) | |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .List.get_CatalogTypeService() |
![]() | 10min | High | BlazorAdmin.Pages.CatalogItemPage .List.set_CatalogTypeService (ICatalogTypeService) | |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Create.get_Brands() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Create.get_Types() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Delete.get_Brands() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Delete.get_Types() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Details.get_Brands() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Details.get_Types() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Edit.get_Brands() |
![]() | Public | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Edit.get_Types() |
![]() | 10min | High | Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck..ctor (IHttpContextAccessor ,LinkGenerator) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Services .BasketViewModelService..ctor (IAsyncRepository<Basket> ,IAsyncRepository<CatalogItem> ,IUriComposer) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Services .CatalogItemViewModelService..ctor (IAsyncRepository<CatalogItem>) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Services .CatalogViewModelService..ctor (ILoggerFactory,IAsyncRepository <CatalogItem>,IAsyncRepository <CatalogBrand>,IAsyncRepository <CatalogType>,IUriComposer) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Pages .Basket.IndexModel..ctor (IBasketService ,IBasketViewModelService ,SignInManager<ApplicationUser>) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Basket.InvokeAsync(String) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Features .OrderDetails .GetOrderDetailsHandler..ctor (IOrderRepository) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Features .MyOrders.GetMyOrdersHandler..ctor (IOrderRepository) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.Index (IndexViewModel) | |
![]() | 10min | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel..ctor(SignInManager <ApplicationUser>,ILogger <LogoutModel>) | |
![]() | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemRequest..ctor() | |
![]() | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .GetByIdCatalogItemRequest..ctor() | |
![]() | Public | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest .get_PageSize() |
![]() | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest .set_PageSize(Int32) | |
![]() | Public | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest .get_PageIndex() |
![]() | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest .set_PageIndex(Int32) | |
![]() | 10min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest..ctor () |
![]() | Critical Rule Violated: API Breaking Changes: Fields |
• How to Fix Issues of this Rule: Make sure that public fields that used to be presented to clients, still remain public now, and in the future. If a public field must really be removed, you can tag it with System.ObsoleteAttribute with a workaround message during a few public releases, until it gets removed definitely. Notice that this rule doesn't match fields removed that were tagged as obsolete. Issues of this rule have a severity equal to High because an API Breaking change can provoque significant friction with consumers of the API.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1502:APIBreakingChangesFields", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 field matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 field | NewVisibility | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T>._dbContext |
![]() | Critical Rule Violated: API Breaking Changes: Interfaces and Abstract Classes |
• How to Fix Issues of this Rule: Make sure that the public contracts of interfaces and abstract classes that used to be presented to clients, remain stable now, and in the future. If a public contract must really be changed, you can tag abstract methods that will be removed with System.ObsoleteAttribute with a workaround message during a few public releases, until it gets removed definitely. Issues of this rule have a severity equal to High because an API Breaking change can provoque significant friction with consummers of the API. The severity is not set to Critical because an interface is not necessarily meant to be implemented by the consummer of the API.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1503:APIBreakingChangesInterfacesAndAbstractClasses", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 types | methodsAdded | methodsRemoved | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() | 1 method
| 1 method
| 10min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IBasketService |
![]() | 2 methods
| no method | 10min | High | Microsoft.eShopWeb.Web.Interfaces .IBasketViewModelService |
Code Coverage 370 |
![]() | Rule Violated: Code should be tested |
• How to Fix Issues of this Rule: Write unit tests to test and cover the methods and their parent classes matched by this rule.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1600:CodeShouldBeTested", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
581 methods matched
- The following list of methods is truncated and contains only the first 100 methods of the 581 methods matched.
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
581 methods | Percentage Coverage | # lines of code (LOC) | # lines of code not covered | Cyclomatic Complexity (CC) | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|---|---|
![]() ![]() | 0% | 18 | 18 | 5 | 1h 28min | 39min | BlazorAdmin.Helpers.ToastComponent .BuildToastSettings(ToastLevel ,String) |
![]() ![]() | 0% | 96 | 96 | 16 | 4h 18min | 12min | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .BuildTargetModel(ModelBuilder) |
![]() ![]() | 0% | 5 | 5 | 2 | 16min | 11min | BlazorAdmin.Services.ToastService .StartCountdown() |
![]() ![]() | 0% | 88 | 88 | 16 | 3h 56min | 11min | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel .BuildTargetModel(ModelBuilder) |
![]() ![]() | 0% | 88 | 88 | 16 | 3h 56min | 11min | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId .BuildTargetModel(ModelBuilder) |
![]() ![]() | 0% | 4 | 4 | 2 | 13min | 8min | BlazorAdmin.Services.ToastService .SetCountdown() |
![]() ![]() | 0% | 3 | 3 | 1 | 5min | 8min | BlazorAdmin.Helpers.ToastComponent .ShowToast(String,ToastLevel) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 31s | 7min | BlazorAdmin.Helpers.ToastComponent .set_IsVisible(Boolean) |
![]() ![]() | 0% | 9 | 9 | 1 | 16min | 7min | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemEndpoint .HandleAsync (UpdateCatalogItemRequest) |
![]() ![]() | 0% | 6 | 6 | 2 | 18min | 5min | Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware .HandleExceptionAsync(HttpContext ,Exception) |
![]() ![]() | 73.33% | 15 | 4 | 6 | 28min | 5min | Microsoft.eShopWeb.Web.Pages .Basket.IndexModel .GetOrSetBasketCookieAndUserName() |
![]() ![]() | 0% | 6 | 6 | 2 | 18min | 5min | Microsoft.eShopWeb.Web.Controllers .ManageController .LoadSharedKeyAndQrCodeUriAsync (ApplicationUser ,EnableAuthenticatorViewModel) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 45s | 4min 15s | BlazorAdmin.Helpers.ToastComponent .get_ToastService() |
![]() ![]() | 0% | 32 | 32 | 15 | 1h 27min | 4min 7s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel.Up (MigrationBuilder) |
![]() ![]() | 0% | 12 | 12 | 3 | 36min | 4min 3s | BlazorAdmin.Services .CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse>.List ( ) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 31s | 3min 36s | BlazorAdmin.Helpers.ToastComponent .set_Heading(String) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 31s | 3min 36s | BlazorAdmin.Helpers.ToastComponent .set_Message(String) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 31s | 3min 36s | BlazorAdmin.Helpers.ToastComponent .set_BackgroundCssClass(String) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 31s | 3min 36s | BlazorAdmin.Helpers.ToastComponent .set_IconCssClass(String) |
![]() ![]() | 0% | 4 | 4 | 1 | 8min | 3min 33s | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeListEndpoint .HandleAsync() |
![]() ![]() | 0% | 4 | 4 | 1 | 8min | 3min 33s | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .CatalogBrandListEndpoint .HandleAsync() |
![]() ![]() | 0% | 2 | 2 | 1 | 4min 8s | 3min 21s | BlazorAdmin.Helpers.ToastComponent .HideToast() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 3min 7s | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel .set_RecoveryCodes(String[]) |
![]() ![]() | 0% | 1 | 1 | 1 | 4min 3s | 3min 4s | BlazorAdmin.Services.ToastService .HideToast(Object,ElapsedEventArgs ) |
![]() ![]() | 0% | 3 | 3 | 1 | 8min | 3min 2s | Microsoft.eShopWeb.Web.Services .BasketViewModelService .CreateBasketForUser(String) |
![]() ![]() | 0% | 2 | 2 | 1 | 5min | 2min 48s | BlazorAdmin.Services.ToastService .ShowToast(String,ToastLevel) |
![]() ![]() | 0% | 21 | 21 | 0 | 10min | 2min 44s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ExternalLogins .ExecuteAsync() |
![]() ![]() | 52.94% | 17 | 8 | 7 | 42min | 2min 38s | Microsoft.eShopWeb.Web.Controllers .ManageController.MyAccount (IndexViewModel) |
![]() ![]() | 0% | 4 | 4 | 1 | 8min | 2min 35s | BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse>.List() |
![]() ![]() | 0% | 19 | 19 | 0 | 9min | 2min 29s | Microsoft.eShopWeb.Web.Pages.Order .Views_Order_Detail.ExecuteAsync( ) |
![]() ![]() | 63.16% | 19 | 7 | 7 | 36min | 2min 18s | Microsoft.eShopWeb.Infrastructure .Data.CatalogContextSeed.SeedAsync (CatalogContext,ILogger,Int32) |
![]() ![]() | 0% | 6 | 6 | 3 | 19min | 2min 11s | Microsoft.eShopWeb.Web.Controllers .ManageController .GenerateRecoveryCodesWarning() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models .CatalogBrandResponse.get_List() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models .CatalogBrandResponse.set_List (List<CatalogBrand>) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models .CatalogTypeResponse.get_List() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models .CatalogTypeResponse.set_List(List <CatalogType>) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models.ErrorDetails .get_StatusCode() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models.ErrorDetails .set_StatusCode(Int32) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models.ErrorDetails .get_Message() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models.ErrorDetails .set_Message(String) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Models.ErrorDetails .ToString() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Attributes .EndpointAttribute.get_Name() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | BlazorShared.Attributes .EndpointAttribute.set_Name(String ) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.ApplicationCore .Exceptions.DuplicateException. .ctor(String) |
![]() ![]() | 83.33% | 12 | 2 | 7 | 11min | 2min 0s | Microsoft.eShopWeb.Infrastructure .Dependencies.ConfigureServices (IConfiguration,IServiceCollection ) |
![]() ![]() | 0% | 10 | 10 | 1 | 5min | 2min 0s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel.Down (MigrationBuilder) |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId.Up (MigrationBuilder) |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId.Down (MigrationBuilder) |
![]() ![]() | 0% | 4 | 4 | 1 | 2min 31s | 2min 0s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .Up(MigrationBuilder) |
![]() ![]() | 0% | 4 | 4 | 1 | 2min 31s | 2min 0s | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .Down(MigrationBuilder) |
![]() ![]() | 0% | 3 | 3 | 1 | 2min 0s | 2min 0s | Program+<>c.<<Main>$>b__0_0 (CookieAuthenticationOptions) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 0s | 2min 0s | Program+<>c.<<Main>$>b__0_9 (KeyValuePair<String ,HealthReportEntry>) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 0s | 2min 0s | Program+<>c.<<Main>$>b__0_10 (HealthCheckRegistration) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 0s | 2min 0s | Program+<>c.<<Main>$>b__0_11 (HealthCheckRegistration) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 0s | 2min 0s | Program+<>c__DisplayClass0_0.< <Main>$>b__5(IServiceProvider) |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 0s | 2min 0s | Program+<>c__DisplayClass0_0.< <Main>$>b__6(HttpContext,Func<Task >) |
![]() ![]() | 0% | 2 | 2 | 1 | 3min 26s | 2min 0s | Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck..ctor (IOptions<BaseUrlConfiguration>) |
![]() ![]() | 66.67% | 6 | 2 | 2 | 5min | 2min 0s | Microsoft.eShopWeb.Web.Services .BasketViewModelService .GetOrCreateBasketForUser(String) |
![]() ![]() | 0% | 2 | 2 | 1 | 3min 26s | 2min 0s | Microsoft.eShopWeb.Web.Services .CatalogItemViewModelService..ctor (IRepository<CatalogItem>) |
![]() ![]() | 28.57% | 7 | 5 | 3 | 15min | 2min 0s | Microsoft.eShopWeb.Web .Configuration .RevokeAuthenticationEvents .ValidatePrincipal (CookieValidatePrincipalContext) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel .get_RecoveryCodes() |
![]() ![]() | 0% | 3 | 3 | 2 | 3min 34s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Pages_Error.ExecuteAsync() |
![]() ![]() | 84.62% | 13 | 2 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Pages_Index.ExecuteAsync() |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 1s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Pages_Privacy.ExecuteAsync() |
![]() ![]() | 0% | 14 | 14 | 0 | 6min | 2min 0s | Microsoft.eShopWeb.Web.Pages.Order .Views_Order_MyOrders .ExecuteAsync () |
![]() ![]() | 0% | 14 | 14 | 12 | 36min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ChangePassword .ExecuteAsync() |
![]() ![]() | 0% | 3 | 3 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_Disable2fa .ExecuteAsync() |
![]() ![]() | 0% | 9 | 9 | 12 | 24min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_EnableAuthenticator .ExecuteAsync() |
![]() ![]() | 0% | 3 | 3 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_GenerateRecoveryCode s.ExecuteAsync() |
![]() ![]() | 80% | 15 | 3 | 12 | 7min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_MyAccount .ExecuteAsync() |
![]() ![]() | 0% | 3 | 3 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ResetAuthenticator .ExecuteAsync() |
![]() ![]() | 0% | 10 | 10 | 9 | 26min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_SetPassword .ExecuteAsync() |
![]() ![]() | 0% | 8 | 8 | 2 | 8min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ShowRecoverCodes .ExecuteAsync() |
![]() ![]() | 0% | 9 | 9 | 4 | 13min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_TwoFactorAuthenticat ion.ExecuteAsync() |
![]() ![]() | 50% | 6 | 3 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage__ManageNav .ExecuteAsync() |
![]() ![]() | 0% | 2 | 2 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Account.Views_Account_Lockout .ExecuteAsync() |
![]() ![]() | 0% | 12 | 12 | 9 | 31min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Account .Views_Account_LoginWith2fa .ExecuteAsync() |
![]() ![]() | 94.12% | 17 | 1 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Basket.Pages_Basket_Checkout .ExecuteAsync() |
![]() ![]() | 0% | 11 | 11 | 11 | 29min | 2min 0s | Microsoft.eShopWeb.Web.Pages.Admin .Pages_Admin_EditCatalogItem .ExecuteAsync() |
![]() ![]() | 0% | 3 | 3 | 2 | 3min 34s | 2min 0s | Microsoft.eShopWeb.Web.Pages.Admin .Pages_Admin_Index.ExecuteAsync() |
![]() ![]() | 0% | 6 | 6 | 0 | 3min 13s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Pages_Shared__editCatalog .ExecuteAsync() |
![]() ![]() | 65% | 20 | 7 | 0 | 3min 22s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Pages_Shared__pagination .ExecuteAsync() |
![]() ![]() | 0% | 1 | 1 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Views_Shared_Error .ExecuteAsync() |
![]() ![]() | 0% | 5 | 5 | 3 | 6min | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared .Views_Shared__CookieConsentPartia l.ExecuteAsync() |
![]() ![]() | 66.67% | 6 | 2 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Views_Shared__Layout .ExecuteAsync() |
![]() ![]() | 80% | 5 | 1 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Views_Shared__LoginPartial .ExecuteAsync() |
![]() ![]() | 80% | 5 | 1 | 3 | 4min 47s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Basket.GetAnnonymousIdFromCookie ( ) |
![]() ![]() | 0% | 2 | 2 | 0 | 2min 0s | 2min 0s | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Pages_Shared_Components_BasketCom ponent_Default.ExecuteAsync() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails .get_UserName() |
![]() ![]() | 66.67% | 6 | 2 | 3 | 6min | 2min 0s | Microsoft.eShopWeb.Web.Features .OrderDetails .GetOrderDetailsHandler.Handle (GetOrderDetails,CancellationToken ) |
![]() ![]() | 0% | 5 | 5 | 2 | 13min | 2min 0s | Microsoft.eShopWeb.Web.Controllers .ManageController .ShowRecoveryCodes() |
![]() ![]() | 0% | 4 | 4 | 1 | 5min | 2min 0s | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel..ctor(SignInManager <ApplicationUser>,ILogger <LogoutModel>,IMemoryCache) |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 1s | 2min 0s | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Conf irmEmail.ExecuteAsync() |
![]() ![]() | 0% | 2 | 2 | 1 | 2min 1s | 2min 0s | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Logo ut.ExecuteAsync() |
![]() ![]() | 0% | 13 | 13 | 11 | 33min | 2min 0s | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Regi ster.ExecuteAsync() |
![]() ![]() | 33.33% | 3 | 2 | 2 | 5min | 2min 0s | Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware .InvokeAsync(HttpContext) |
![]() ![]() | 33.33% | 3 | 2 | 2 | 5min | 2min 0s | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeListEndpoint.AddRoute (IEndpointRouteBuilder) |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest .get_PictureBase64() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest .get_PictureName() |
![]() ![]() | 0% | 1 | 1 | 1 | 2min 17s | 2min 0s | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemResponse..ctor() |
![]() | Rule Violated: New Methods should be tested |
• How to Fix Issues of this Rule: Write unit-tests to cover the code of most methods and classes added.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1601:NewMethodsShouldBeTested", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
97 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
97 methods | Percentage Coverage | # lines of code (LOC) | # lines of code not covered | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() | 0% | 96 | 96 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .BuildTargetModel(ModelBuilder) |
![]() | 0% | 88 | 88 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel .BuildTargetModel(ModelBuilder) |
![]() | 0% | 88 | 88 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId .BuildTargetModel(ModelBuilder) |
![]() | 0% | 32 | 32 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel.Up (MigrationBuilder) |
![]() | 0% | 21 | 21 | 10min | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ExternalLogins .ExecuteAsync() |
![]() | 0% | 19 | 19 | 10min | High | Microsoft.eShopWeb.Web.Pages.Order .Views_Order_Detail.ExecuteAsync( ) |
![]() | 0% | 18 | 18 | 10min | High | BlazorAdmin.Helpers.ToastComponent .BuildToastSettings(ToastLevel ,String) |
![]() | 0% | 14 | 14 | 10min | High | Microsoft.eShopWeb.Web.Pages.Order .Views_Order_MyOrders .ExecuteAsync () |
![]() | 0% | 14 | 14 | 10min | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ChangePassword .ExecuteAsync() |
![]() | 0% | 13 | 13 | 10min | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Regi ster.ExecuteAsync() |
![]() | 0% | 12 | 12 | 10min | High | Microsoft.eShopWeb.Web.Pages .Account .Views_Account_LoginWith2fa .ExecuteAsync() |
![]() | 0% | 12 | 12 | 10min | High | BlazorAdmin.Services .CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse>.List ( ) |
![]() | 0% | 11 | 11 | 10min | High | Microsoft.eShopWeb.Web.Pages.Admin .Pages_Admin_EditCatalogItem .ExecuteAsync() |
![]() | 0% | 10 | 10 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.InitialModel.Down (MigrationBuilder) |
![]() | 0% | 10 | 10 | 10min | High | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_SetPassword .ExecuteAsync() |
![]() | 0% | 9 | 9 | 9min | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_EnableAuthenticator .ExecuteAsync() |
![]() | 0% | 9 | 9 | 9min | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_TwoFactorAuthenticat ion.ExecuteAsync() |
![]() | 0% | 9 | 9 | 9min | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemEndpoint .HandleAsync (UpdateCatalogItemRequest) |
![]() | 0% | 8 | 8 | 8min | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ShowRecoverCodes .ExecuteAsync() |
![]() | 28.57% | 7 | 5 | 5min | High | Microsoft.eShopWeb.Web .Configuration .RevokeAuthenticationEvents .ValidatePrincipal (CookieValidatePrincipalContext) |
![]() | 0% | 6 | 6 | 6min | High | Microsoft.eShopWeb.Web.Pages .Shared.Pages_Shared__editCatalog .ExecuteAsync() |
![]() | 0% | 6 | 6 | 6min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .GenerateRecoveryCodesWarning() |
![]() | 0% | 6 | 6 | 6min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .LoadSharedKeyAndQrCodeUriAsync (ApplicationUser ,EnableAuthenticatorViewModel) |
![]() | 0% | 6 | 6 | 6min | High | Microsoft.eShopWeb.PublicApi .Middleware.ExceptionMiddleware .HandleExceptionAsync(HttpContext ,Exception) |
![]() | 0% | 5 | 5 | 5min | High | Microsoft.eShopWeb.Web.Pages .Shared .Views_Shared__CookieConsentPartia l.ExecuteAsync() |
![]() | 0% | 5 | 5 | 5min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .ShowRecoveryCodes() |
![]() | 0% | 5 | 5 | 5min | High | BlazorAdmin.Services .CatalogItemService..ctor (ICatalogLookupDataService <CatalogBrand> ,ICatalogLookupDataService <CatalogType>,HttpService,ILogger <CatalogItemService>) |
![]() | 0% | 5 | 5 | 5min | High | BlazorAdmin.Services.ToastService .StartCountdown() |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .Up(MigrationBuilder) |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixShipToAddress .Down(MigrationBuilder) |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel..ctor(SignInManager <ApplicationUser>,ILogger <LogoutModel>,IMemoryCache) |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeListEndpoint .HandleAsync() |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .CatalogBrandListEndpoint .HandleAsync() |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services .CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse>. .ctor (ILocalStorageService ,CatalogLookupDataService <TLookupData,TReponse>,ILogger <CachedCatalogLookupDataServiceDec orator<TLookupData,TReponse>>) |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse>..ctor (HttpClient,IOptions <BaseUrlConfiguration>,ILogger <CatalogLookupDataService <TLookupData,TReponse>>) |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse>.List() |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services.HttpService. .ctor(HttpClient,IOptions <BaseUrlConfiguration> ,ToastService) |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services.ToastService .SetCountdown() |
![]() | 0% | 3 | 3 | 3min 46s | High | Program+<>c.<<Main>$>b__0_0 (CookieAuthenticationOptions) |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Pages .Pages_Error.ExecuteAsync() |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_Disable2fa .ExecuteAsync() |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_GenerateRecoveryCode s.ExecuteAsync() |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ResetAuthenticator .ExecuteAsync() |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Pages.Admin .Pages_Admin_Index.ExecuteAsync() |
![]() | 0% | 3 | 3 | 3min 46s | High | BlazorAdmin.Helpers.ToastComponent .ShowToast(String,ToastLevel) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId.Up (MigrationBuilder) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations.FixBuyerId.Down (MigrationBuilder) |
![]() | 0% | 2 | 2 | 2min 53s | High | Program+<>c__DisplayClass0_0.< <Main>$>b__6(HttpContext,Func<Task >) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck..ctor (IOptions<BaseUrlConfiguration>) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Services .CatalogItemViewModelService..ctor (IRepository<CatalogItem>) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Pages .Pages_Privacy.ExecuteAsync() |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Pages .Account.Views_Account_Lockout .ExecuteAsync() |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Pages_Shared_Components_BasketCom ponent_Default.ExecuteAsync() |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Conf irmEmail.ExecuteAsync() |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Logo ut.ExecuteAsync() |
![]() | 0% | 2 | 2 | 2min 53s | High | BlazorAdmin.Shared.Toast .BuildRenderTree(RenderTreeBuilder ) |
![]() | 0% | 2 | 2 | 2min 53s | High | BlazorAdmin.Services.ToastService .ShowToast(String,ToastLevel) |
![]() | 0% | 2 | 2 | 2min 53s | High | BlazorAdmin.Helpers.ToastComponent .OnInitialized() |
![]() | 0% | 2 | 2 | 2min 53s | High | BlazorAdmin.Helpers.ToastComponent .HideToast() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models .CatalogBrandResponse.get_List() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models .CatalogBrandResponse.set_List (List<CatalogBrand>) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models .CatalogTypeResponse.get_List() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models .CatalogTypeResponse.set_List(List <CatalogType>) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models.ErrorDetails .get_StatusCode() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models.ErrorDetails .set_StatusCode(Int32) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models.ErrorDetails .get_Message() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models.ErrorDetails .set_Message(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Models.ErrorDetails .ToString() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Attributes .EndpointAttribute.get_Name() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorShared.Attributes .EndpointAttribute.set_Name(String ) |
![]() | 0% | 1 | 1 | 2min 0s | High | Microsoft.eShopWeb.ApplicationCore .Exceptions.DuplicateException. .ctor(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c.<<Main>$>b__0_9 (KeyValuePair<String ,HealthReportEntry>) |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c.<<Main>$>b__0_10 (HealthCheckRegistration) |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c.<<Main>$>b__0_11 (HealthCheckRegistration) |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c__DisplayClass0_0.< <Main>$>b__5(IServiceProvider) |
![]() | 0% | 1 | 1 | 2min 0s | High | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel .get_RecoveryCodes() |
![]() | 0% | 1 | 1 | 2min 0s | High | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel .set_RecoveryCodes(String[]) |
![]() | 0% | 1 | 1 | 2min 0s | High | Microsoft.eShopWeb.Web.Pages .Shared.Views_Shared_Error .ExecuteAsync() |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c.<<Main>$>b__0_1 (IServiceProvider) |
![]() | 0% | 1 | 1 | 2min 0s | High | Program+<>c__DisplayClass0_0.< <Main>$>b__0(IServiceProvider) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Services.ToastService .HideToast(Object,ElapsedEventArgs ) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Services.ToastService .Dispose() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_ToastService() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_ToastService(ToastService) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_Heading() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_Heading(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_Message() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_Message(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_IsVisible() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_IsVisible(Boolean) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_BackgroundCssClass() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_BackgroundCssClass(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .get_IconCssClass() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .set_IconCssClass(String) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Helpers.ToastComponent .Dispose() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Pages.CatalogItemPage .List.set_CatalogBrandService (ICatalogLookupDataService <CatalogBrand>) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Pages.CatalogItemPage .List.set_CatalogTypeService (ICatalogLookupDataService <CatalogType>) |
![]() | Rule Violated: Methods refactored should be tested |
• How to Fix Issues of this Rule: Write unit-tests to cover the code of most methods and classes refactored.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1602:MethodsRefactoredShouldBeTested", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
41 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
41 methods | Percentage Coverage | # lines of code (LOC) | # lines of code not covered | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() | 0% | 96 | 96 | 10min | High | Microsoft.eShopWeb.Infrastructure .Data.Migrations .CatalogContextModelSnapshot .BuildModel(ModelBuilder) |
![]() | 0% | 77 | 77 | 10min | High | Microsoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel .BuildTargetModel(ModelBuilder) |
![]() | 0% | 77 | 77 | 10min | High | Microsoft.eShopWeb.Infrastructure .Identity.Migrations .AppIdentityDbContextModelSnapshot .BuildModel(ModelBuilder) |
![]() | 0% | 34 | 34 | 10min | High | Microsoft.eShopWeb.Infrastructure .Identity.Migrations .InitialIdentityModel.Up (MigrationBuilder) |
![]() | 0% | 20 | 20 | 10min | High | BlazorAdmin.Pages.CatalogItemPage .List.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 17 | 17 | 10min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .EnableAuthenticator (EnableAuthenticatorViewModel) |
![]() | 0% | 17 | 17 | 10min | High | BlazorAdmin.Services .CatalogItemService.ListPaged (Int32) |
![]() | 0% | 17 | 17 | 10min | High | BlazorAdmin.Services .CatalogItemService.List() |
![]() | 0% | 14 | 14 | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Edit.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 13 | 13 | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Create.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 12 | 12 | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .ListPaged(Int32) |
![]() | 0% | 12 | 12 | 10min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .List() |
![]() | 0% | 12 | 12 | 10min | High | BlazorAdmin.Services .CatalogItemService.GetById(Int32) |
![]() | 0% | 11 | 11 | 10min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .SendVerificationEmail (IndexViewModel) |
![]() | 0% | 10 | 10 | 10min | High | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel.OnPost(String) |
![]() | 0% | 10 | 10 | 10min | High | BlazorAdmin.Pages.CatalogItemPage .Delete.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 9 | 9 | 9min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .GenerateRecoveryCodes() |
![]() | 0% | 9 | 9 | 9min | High | BlazorAdmin.Shared .CustomInputSelect<TValue> .TryParseValueFromString(String ,TValue&,String&) |
![]() | 0% | 9 | 9 | 9min | High | BlazorAdmin.Pages.CatalogItemPage .Details.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 7 | 7 | 7min | High | Microsoft.eShopWeb.Web .HealthChecks.ApiHealthCheck .CheckHealthAsync (HealthCheckContext ,CancellationToken) |
![]() | 0% | 7 | 7 | 7min | High | BlazorAdmin.Services.HttpService .HttpPost<T>(String,Object) |
![]() | 0% | 6 | 6 | 6min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .EnableAuthenticator() |
![]() | 0% | 6 | 6 | 6min | High | BlazorAdmin.Services.HttpService .HttpPut<T>(String,Object) |
![]() | 0% | 6 | 6 | 6min | High | BlazorAdmin.Pages.CatalogItemPage .List.OnAfterRenderAsync(Boolean) |
![]() | 0% | 5 | 5 | 5min | High | BlazorAdmin.Services .CachedCatalogItemServiceDecorator .RefreshLocalStorageList() |
![]() | 0% | 4 | 4 | 4min 40s | High | Microsoft.eShopWeb.Web.Controllers .OrderController.Detail(Int32) |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Services.HttpService .HttpDelete<T>(String,Int32) |
![]() | 0% | 4 | 4 | 4min 40s | High | BlazorAdmin.Pages.CatalogItemPage .Create.CreateClick() |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer. .ctor(String) |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Services .BasketViewModelService .CreateBasketForUser(String) |
![]() | 0% | 3 | 3 | 3min 46s | High | Microsoft.eShopWeb.Web.Services .CatalogItemViewModelService .UpdateCatalogItem (CatalogItemViewModel) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.ApplicationCore .Entities.CatalogItem.UpdateBrand (Int32) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.ApplicationCore .Entities.CatalogItem.UpdateType (Int32) |
![]() | 0% | 2 | 2 | 2min 53s | High | Microsoft.eShopWeb.Web.Controllers .OrderController.MyOrders() |
![]() | 0% | 2 | 2 | 2min 53s | High | BlazorAdmin.Services .CatalogItemService.Create (CreateCatalogItemRequest) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.App.BuildRenderTree (RenderTreeBuilder) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Shared.MainLayout .BuildRenderTree(RenderTreeBuilder ) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Shared.NavMenu .BuildRenderTree(RenderTreeBuilder ) |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Shared.RedirectToLogin .OnInitialized() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Pages.CatalogItemPage .List.get_CatalogBrandService() |
![]() | 0% | 1 | 1 | 2min 0s | High | BlazorAdmin.Pages.CatalogItemPage .List.get_CatalogTypeService() |
![]() | Rule Violated: Assemblies Namespaces and Types should be tested |
• How to Fix Issues of this Rule: Write unit and integration tests to cover, even partially, code elements matched by this rule. Then use issues of the rules Code should be tested, New Methods should be tested and Methods refactored should be tested to write more tests where it matters most, and eventually refactor some code to make it more testable.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1603:AssembliesNamespacesAndTypesShouldBeTested", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
75 code elements parent matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
75 code elements parent | # lines of code not covered | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 33 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages.Order |
![]() ![]() | 28 | 4min 0s | Low | Microsoft.eShopWeb.Web.Controllers .UserController |
![]() ![]() | 21 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ExternalLogins |
![]() ![]() | 14 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ChangePassword |
![]() ![]() | 14 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Account |
![]() ![]() | 13 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Regi ster |
![]() ![]() | 10 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_SetPassword |
![]() ![]() | 9 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_EnableAuthenticator |
![]() ![]() | 9 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_TwoFactorAuthenticat ion |
![]() ![]() | 8 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.ChangePasswordViewModel |
![]() ![]() | 8 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.ExternalLoginsViewModel |
![]() ![]() | 8 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ShowRecoverCodes |
![]() ![]() | 8 | 4min 0s | Low | Microsoft.eShopWeb.Web.Controllers .OrderController |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage .EnableAuthenticatorViewModel |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.SetPasswordViewModel |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage .TwoFactorAuthenticationViewModel |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Shared.Pages_Shared__editCatalog |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .ListCatalogTypesResponse |
![]() ![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .ListCatalogBrandsResponse |
![]() ![]() | 5 | 4min 0s | Low | BlazorShared.Models.ErrorDetails |
![]() ![]() | 5 | 4min 0s | Low | BlazorShared.Models .PagedCatalogItemResponse |
![]() ![]() | 5 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Shared .Views_Shared__CookieConsentPartia l |
![]() ![]() | 4 | 4min 0s | Low | BlazorShared.Models.LookupData |
![]() ![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.RemoveLoginViewModel |
![]() ![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogTypeEndpoints .CatalogTypeDto |
![]() ![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogBrandEndpoints .CatalogBrandDto |
![]() ![]() | 3 | 4min 0s | Low | BlazorShared.Models .CatalogBrandResponse |
![]() ![]() | 3 | 4min 0s | Low | BlazorShared.Models .CatalogTypeResponse |
![]() ![]() | 3 | 4min 0s | Low | BlazorShared.Models .EditCatalogItemResult |
![]() ![]() | 3 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Pages_Error |
![]() ![]() | 3 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage.Views_Manage_Disable2fa |
![]() ![]() | 3 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_GenerateRecoveryCode s |
![]() ![]() | 3 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Manage .Views_Manage_ResetAuthenticator |
![]() ![]() | 2 | 4min 0s | Low | BlazorShared.Attributes |
![]() ![]() | 2 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel |
![]() ![]() | 2 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Pages_Privacy |
![]() ![]() | 2 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Pages_Shared_Components_BasketCom ponent_Default |
![]() ![]() | 2 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Conf irmEmail |
![]() ![]() | 2 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .Areas_Identity_Pages_Account_Logo ut |
![]() ![]() | 2 | 4min 0s | Low | {anonymous namespace} in assembly BlazorAdmin |
![]() ![]() | 1 | 4min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Exceptions.DuplicateException |
![]() ![]() | 1 | 4min 0s | Low | Microsoft.eShopWeb.Infrastructure .Services |
![]() ![]() | 1 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .Shared.Views_Shared_Error |
![]() | 422 | 4min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Migrations |
![]() | 199 | 4min 0s | Low | BlazorAdmin.Pages.CatalogItemPage |
![]() | 195 | 4min 0s | Low | Microsoft.eShopWeb.Infrastructure .Identity.Migrations |
![]() | 172 | 4min 0s | Low | BlazorAdmin.Services |
![]() | 53 | 4min 0s | Low | BlazorAdmin.Helpers |
![]() | 29 | 4min 0s | Low | BlazorAdmin .CustomAuthStateProvider |
![]() | 27 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .RegisterModel |
![]() | 26 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Account |
![]() | 24 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages.Admin |
![]() | 23 | 4min 0s | Low | BlazorAdmin.Shared |
![]() | 19 | 4min 0s | Low | BlazorShared.Authorization |
![]() | 19 | 4min 0s | Low | Microsoft.eShopWeb.Web .HealthChecks |
![]() | 18 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemRequest |
![]() | 16 | 4min 0s | Low | BlazorAdmin.JavaScript |
![]() | 14 | 4min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate |
![]() | 14 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .LogoutModel |
![]() | 12 | 4min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.FileItem |
![]() | 11 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .ConfirmEmailModel |
![]() | 9 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints.UserInfo |
![]() | 8 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints.ClaimValue |
![]() | 7 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CustomSchemaFilters |
![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .File |
![]() | 6 | 4min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account .RegisterModel+InputModel |
![]() | 5 | 4min 0s | Low | Microsoft.eShopWeb.Web.Services .CatalogItemViewModelService |
![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Exceptions .EmptyBasketOnCheckoutException |
![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.Web.Pages .ErrorModel |
![]() | 4 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .UpdateCatalogItemResponse |
![]() | 3 | 4min 0s | Low | Microsoft.eShopWeb.PublicApi .ImageValidators |
![]() | 2 | 4min 0s | Low | BlazorAdmin.Pages |
![]() | 1 | 4min 0s | Low | Microsoft.AspNetCore.Mvc |
![]() | 1 | 4min 0s | Low | Microsoft.eShopWeb.Web.Services .EmailSenderExtensions |
![]() | 1 | 4min 0s | Low | BlazorAdmin.App |
![]() | Rule Violated: Types that used to be 100% covered by tests should still be 100% covered |
• How to Fix Issues of this Rule: Write more unit-tests dedicated to cover code not covered anymore. If you find some hard-to-test code, it is certainly a sign that this code is not well designed and hence, needs refactoring. You'll find code impossible to cover by unit-tests, like calls to MessageBox.Show(). An infrastructure must be defined to be able to mock such code at test-time.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1606:TypesThatUsedToBe100PercentCoveredByTestsShouldStillBe100PercentCovered", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
8 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
8 methods | Percentage Coverage | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 66.67% | 5min | High | Microsoft.eShopWeb.Web.Services .BasketViewModelService .GetOrCreateBasketForUser(String) |
![]() | 0% | 5min | High | Microsoft.eShopWeb.Web.Services .BasketViewModelService .CreateBasketForUser(String) |
![]() | 0% | 2min 0s | High | Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails .get_UserName() |
![]() | 66.67% | 2min 53s | High | Microsoft.eShopWeb.Web.Features .OrderDetails .GetOrderDetailsHandler.Handle (GetOrderDetails,CancellationToken ) |
![]() | 0% | 2min 53s | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest .get_PictureBase64() |
![]() | 0% | 2min 53s | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemRequest .get_PictureName() |
![]() | 0% | 2min 0s | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CreateCatalogItemResponse..ctor() |
![]() | 0% | 2min 0s | High | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemResponse .set_Status(String) |
![]() | Rule Violated: Types 100% covered should be tagged with FullCoveredAttribute |
• How to Fix Issues of this Rule: Just tag types 100% covered by tests with the FullCoveredAttribute that can be found in NDepend.API.dll, or by an attribute of yours defined in your own code (in which case this rule must be adapted).
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1608:Types100PercentCoveredShouldBeTaggedWithFullCoveredAttribute", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
58 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
58 types | # lines of code (LOC) | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 3 | 3min 0s | Low | BlazorShared.Models .CreateCatalogItemResponse |
![]() ![]() | 3 | 3min 0s | Low | BlazorShared.Models .DeleteCatalogItemResponse |
![]() ![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogItemNameSpecification |
![]() ![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .OrderWithItemsByIdSpec |
![]() ![]() | 46 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Services.BasketService |
![]() ![]() | 20 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Services.OrderService |
![]() ![]() | 1 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Exceptions .BasketNotFoundException |
![]() ![]() | 1 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.EfRepository<T> |
![]() ![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Queries.BasketQueryService |
![]() ![]() | 10 | 3min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .Manage.IndexViewModel |
![]() ![]() | 11 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CatalogItemGetByIdEndpoint |
![]() ![]() | 21 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CatalogItemListPagedEndpoint |
![]() ![]() | 13 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemRequest |
![]() ![]() | 8 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .ListPagedCatalogItemResponse |
![]() ![]() | 9 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemEndpoint |
![]() ![]() | 13 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints .AuthenticateEndpoint |
![]() | 4 | 3min 0s | Low | BlazorShared.BaseUrlConfiguration |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.CatalogSettings |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.JsonExtensions |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .BasketWithItemsSpecification |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterPaginatedSpecificati on |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogFilterSpecification |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .CatalogItemsSpecification |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Specifications .CustomerOrdersWithItemsSpecificat ion |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Services.UriComposer |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Entities.CatalogBrand |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.ApplicationCore .Entities.CatalogType |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContext |
![]() | 8 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Identity.AppIdentityDbContextSeed |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config.BasketConfiguration |
![]() | 1 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config .BasketItemConfiguration |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config .CatalogBrandConfiguration |
![]() | 7 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config .CatalogItemConfiguration |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config .CatalogTypeConfiguration |
![]() | 11 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config.OrderConfiguration |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.Infrastructure .Data.Config .OrderItemConfiguration |
![]() | 32 | 3min 0s | Low | Microsoft.eShopWeb.Web.Services .CatalogViewModelService |
![]() | 5 | 3min 0s | Low | Microsoft.eShopWeb.Web.Extensions .CacheHelpers |
![]() | 11 | 3min 0s | Low | Microsoft.eShopWeb.Web .Configuration .ConfigureCookieSettings |
![]() | 9 | 3min 0s | Low | Microsoft.eShopWeb.Web .Configuration .ConfigureCoreServices |
![]() | 7 | 3min 0s | Low | Microsoft.eShopWeb.Web .Configuration .ConfigureWebServices |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .BasketComponentViewModel |
![]() | 12 | 3min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .CatalogIndexViewModel |
![]() | 8 | 3min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .CatalogItemViewModel |
![]() | 12 | 3min 0s | Low | Microsoft.eShopWeb.Web.ViewModels .PaginationInfoViewModel |
![]() | 6 | 3min 0s | Low | Microsoft.eShopWeb.Web.Pages .IndexModel |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.Web.Features .MyOrders.GetMyOrders |
![]() | 1 | 3min 0s | Low | Microsoft.eShopWeb.Web.Areas .Identity.IdentityHostingStartup |
![]() | 2 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .BaseMessage |
![]() | 3 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .BaseResponse |
![]() | 6 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .MappingProfile |
![]() | 14 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .CatalogItemDto |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .GetByIdCatalogItemRequest |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .GetByIdCatalogItemResponse |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .CatalogItemEndpoints .DeleteCatalogItemRequest |
![]() | 4 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints.AuthenticateRequest |
![]() | 26 | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints .AuthenticateResponse |
![]() | 7 | 3min 0s | Low | BlazorAdmin.ServicesConfiguration |
![]() | Rule Violated: Methods should have a low C.R.A.P score |
• How to Fix Issues of this Rule: In such situation, it is recommended to both refactor the complex method logic into several smaller and less complex methods (that might belong to some new types especially created), and also write unit-tests to full cover the refactored logic. You'll find code impossible to cover by unit-tests, like calls to MessageBox.Show(). An infrastructure must be defined to be able to mock such code at test-time.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1609:MethodsShouldHaveALowCRAPScore", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 methods | CRAP | CC | Percentage Coverage | # lines of code (LOC) | Debt | Severity | Full Name |
---|---|---|---|---|---|---|---|
![]() | 42 | 6 | 0% | 25 | 10min | High | Microsoft.eShopWeb.Web.Controllers .UserController.CreateUserInfo (ClaimsPrincipal) |
![]() | 42 | 6 | 0% | 16 | 10min | High | BlazorAdmin .CustomAuthStateProvider.FetchUser () |
Dead Code 310 |
|
![]() | Rule Violated: Potentially Dead Methods |
• How to Fix Issues of this Rule: Static analysis cannot provide an exact list of dead methods, because there are several ways to invoke a method dynamically (like through reflection). For each method matched by this query, first investigate if the method is invoked somehow (like through reflection). If the method is really never invoked, it is important to remove it to avoid maintaining useless code. If you estimate the code of the method might be used in the future, at least comment it, and provide an explanatory comment about the future intentions. If a method is invoked somehow, but still is matched by this rule, you can tag it with the attribute IsNotDeadCodeAttribute found in NDepend.API.dll to avoid matching the method again. You can also provide your own attribute for this need, but then you'll need to adapt this code rule. Issues of this rule have a Debt equal to 10 minutes because it only takes a short while to investigate if a method can be safely discarded. On top of these 10 minutes, the depth of usage of such method adds up 3 minutes per unity because dead method only called by dead code takes a bit more time to be investigated. The Annual Interest of issues of this rule, the annual cost to not fix such issue, is proportional to the type #lines of code, because the bigger the method is, the more it slows down maintenance.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1701:PotentiallyDeadMethods", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
4 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
4 methods | depth | MethodsCallingMe | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|
![]() | 0 | no method | 10min | 9min | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Address. .ctor() |
![]() | 0 | no method | 10min | 9min | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate .CatalogItemOrdered..ctor() |
![]() | 0 | no method | 10min | 11min | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order. .ctor() |
![]() | 0 | no method | 10min | 9min | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate .OrderItem ..ctor() |
Visibility 640 |
![]() | Rule Violated: Avoid publicly visible constant fields |
• How to Fix Issues of this Rule: Declare matched fields as static readonly instead of constant. This way, the field value is safely changeable without the need to recompile client assemblies. Notice that enumeration value fields suffer from the same potential pitfall. But enumeration values cannot be declared as static readonly hence the rule comes with the condition && !f.IsEnumValue to avoid matching these. Unless you decide to banish public enumerations, just let the rule as is.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1804:AvoidPubliclyVisibleConstantFields", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
11 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
11 fields | Debt | Severity | Full Name |
---|---|---|---|
![]() ![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web .Configuration .ConfigureCookieSettings .ValidityMinutesPeriod |
![]() ![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web .Configuration .ConfigureCookieSettings .IdentifierCookieName |
![]() | 0min 30s | Medium | BlazorShared.BaseUrlConfiguration .CONFIG_NAME |
![]() | 0min 30s | Medium | BlazorShared.Authorization .Constants+Roles.ADMINISTRATORS |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.ApplicationCore .Constants.AuthorizationConstants .AUTH_KEY |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.ApplicationCore .Constants.AuthorizationConstants .DEFAULT_PASSWORD |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.ApplicationCore .Constants.AuthorizationConstants .JWT_SECRET_KEY |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web.Constants .BASKET_COOKIENAME |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web.Constants .ITEMS_PER_PAGE |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web.Constants .DEFAULT_USERNAME |
![]() | 0min 30s | Medium | Microsoft.eShopWeb.Web.Constants .BASKET_ID |
![]() | Rule Violated: Fields should be declared as private |
• How to Fix Issues of this Rule: Declare a matched mutable field as private, or declare it as readonly. If code outside the type needs to access the field you can encapsulate the field accesses in a read-write property. At least with a read-write property you can set a debug breakpoint on the property setter, which makes easier to track write-accesses in case of problem.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1805:FieldsShouldBeDeclaredAsPrivate", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 field matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 field | Visibility | outsideMethodsAssigningMe | Debt | Annual Interest | Full Name |
---|---|---|---|---|---|
![]() | Protected | 1 method
| 1min 20s | 6min | Microsoft.eShopWeb.PublicApi .BaseMessage._correlationId |
![]() | Rule Violated: Constructors of abstract classes should be declared as protected or private |
• How to Fix Issues of this Rule: To fix a violation of this rule, either declare the constructor as protected, or do not declare the type as abstract.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1806:ConstructorsOfAbstractClassesShouldBeDeclaredAsProtectedOrPrivate", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | ctors | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 2 methods
| 0min 30s | Medium | Microsoft.eShopWeb.PublicApi .BaseResponse |
![]() | Rule Violated: Avoid public methods not publicly visible |
• How to Fix Issues of this Rule: Declare the method as internal if it is used outside of its type, else declare it as private.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1807:AvoidPublicMethodsNotPubliclyVisible", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 methods | parentTypeVisibility | declareMethodAs | methodsCaller | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() | Internal | Internal | 2 methods
| 0min 30s | Low | BlazorAdmin.Helpers .RefreshBroadcast.get_Instance() |
![]() | Internal | Internal | 2 methods
| 0min 30s | Low | BlazorAdmin.Helpers .RefreshBroadcast .CallRequestRefresh() |
Immutability 930 |
![]() | Rule Violated: Fields should be marked as ReadOnly when possible |
• How to Fix Issues of this Rule: Declare the field with the C# readonly keyword (ReadOnly in VB.NET). This way the intention that the field value shouldn't change is made explicit.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1900:FieldsShouldBeMarkedAsReadOnlyWhenPossible", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 fields | MethodsReadingMeButNotAssigningMe | MethodsAssigningMe | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() ![]() | 1 method
| no method | 5min | Medium | BlazorAdmin.Pages.CatalogItemPage .Create._badFileMessage |
![]() ![]() | 1 method
| no method | 5min | Medium | BlazorAdmin.Pages.CatalogItemPage .Edit._badFileMessage |
![]() | 2 methods
| no method | 5min | Medium | Microsoft.eShopWeb.ApplicationCore .Entities.BuyerAggregate.Buyer ._paymentMethods |
![]() | Rule Violated: Avoid static fields with a mutable field type |
• How to Fix Issues of this Rule: To fix violations of this rule, make sure to hold mutable states through objects that are passed explicitly everywhere they need to be consumed, in opposition to mutable object hold by a static field that makes it modifiable from a bit everywhere in the program.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1902:AvoidStaticFieldsWithAMutableFieldType", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 fields | mutableFieldType | isFieldImmutable | isFieldReadOnly | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() | ![]() | Immutable | ReadOnly | 10min | Medium | BlazorShared.Authorization .UserInfo.Anonymous |
![]() | ![]() | Immutable | ReadOnly | 10min | Medium | Microsoft.eShopWeb.PublicApi .AuthEndpoints.UserInfo.Anonymous |
![]() | Rule Violated: Do not declare read only mutable reference types |
• How to Fix Issues of this Rule: To fix a violation of this rule, replace the field type with an immutable type, or declare the field as private. By default issues of this rule have a Low severity because they reflect more an advice than a problem.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND1907:DoNotDeclareReadOnlyMutableReferenceTypes", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 fields | FieldType | FieldVisibility | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() | ![]() | Public | 3min 0s | Low | BlazorShared.Authorization .UserInfo.Anonymous |
![]() | ![]() | Public | 3min 0s | Low | Microsoft.eShopWeb.PublicApi .AuthEndpoints.UserInfo.Anonymous |
Naming Conventions 1461 |
|
![]() | Rule Violated: Instance fields naming convention |
• How to Fix Issues of this Rule: Once the rule has been adapted to your own naming convention make sure to name all matched instance fields adequately.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2000:InstanceFieldsNamingConvention", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 field matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 field | Size of instance | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 4 | 3min 0s | Medium | BlazorAdmin.Services.ToastService .Countdown |
![]() | Rule Violated: Static fields naming convention |
• How to Fix Issues of this Rule: Once the rule has been adapted to your own naming convention make sure to name all matched static fields adequately.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2001:StaticFieldsNamingConvention", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 fields | Size of instance | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | N/A | 3min 0s | Medium | Microsoft.eShopWeb.JsonExtensions ._jsonOptions |
![]() | N/A | 3min 0s | Medium | Microsoft.eShopWeb.Web.Extensions .CacheHelpers._itemsKeyTemplate |
![]() | Rule Violated: Abstract base class should be suffixed with 'Base' |
• How to Fix Issues of this Rule: Suffix the names of matched base classes with Base.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2003:AbstractBaseClassShouldBeSuffixedWithBase", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 types | Debt | Severity | Full Name |
---|---|---|---|
![]() | 5min | Medium | BlazorShared.Models.LookupData |
![]() | 5min | Medium | Microsoft.eShopWeb.ApplicationCore .Entities.BaseEntity |
![]() | 5min | Medium | Microsoft.eShopWeb.PublicApi .BaseMessage |
![]() | Critical Rule Violated: Avoid having different types with same name |
• How to Fix Issues of this Rule: To fix a violation of this rule, rename concerned types.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2012:AvoidHavingDifferentTypesWithSameName", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
10 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
10 types | types | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 2 types
| 10min | High | BlazorShared.Models.CatalogBrand |
![]() | 2 types
| 10min | High | BlazorShared.Models.CatalogItem |
![]() | 2 types
| 10min | High | BlazorShared.Models.CatalogType |
![]() | 2 types
| 10min | High | BlazorShared.Models .CreateCatalogItemRequest |
![]() | 2 types
| 10min | High | BlazorShared.Models .CreateCatalogItemResponse |
![]() | 2 types
| 10min | High | BlazorShared.Models .DeleteCatalogItemResponse |
![]() | 2 types
| 10min | High | BlazorShared.Authorization .ClaimValue |
![]() | 2 types
| 10min | High | BlazorShared.Authorization .UserInfo |
![]() | 2 types
| 10min | High | Microsoft.eShopWeb.ApplicationCore .Interfaces.IEmailSender |
![]() | 2 types
| 10min | High | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket |
![]() | Rule Violated: Avoid prefixing type name with parent namespace name |
• How to Fix Issues of this Rule: To fix a violation of this rule, remove the prefix from the type name.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2013:AvoidPrefixingTypeNameWithParentNamespaceName", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
6 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
6 types | namespaceName | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | Identity | 10min | Medium | Microsoft.eShopWeb.Infrastructure .Identity .IdentityTokenClaimService |
![]() | Manage | 10min | Medium | Microsoft.eShopWeb.Web.Views .Manage.ManageNavPages |
![]() | File | 10min | Medium | Microsoft.eShopWeb.Web.ViewModels .File.FileViewModel |
![]() | Basket | 10min | Medium | Microsoft.eShopWeb.Web.Pages .Basket.BasketItemViewModel |
![]() | Basket | 10min | Medium | Microsoft.eShopWeb.Web.Pages .Basket.BasketViewModel |
![]() | Identity | 10min | Medium | Microsoft.eShopWeb.Web.Areas .Identity.IdentityHostingStartup |
![]() | Rule Violated: Avoid naming types and namespaces with the same identifier |
• How to Fix Issues of this Rule: To fix a violation of this rule, renamed the concerned type or namespace.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2014:AvoidNamingTypesAndNamespacesWithTheSameIdentifier", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
8 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
8 types | namespaces | Debt | Severity | Full Name |
---|---|---|---|---|
![]() | 1 namespace
| 12min | High | BlazorShared.Authorization .Constants |
![]() | 1 namespace
| 12min | High | Microsoft.eShopWeb.ApplicationCore .Entities.OrderAggregate.Order |
![]() | 2 namespaces
| 12min | High | Microsoft.eShopWeb.ApplicationCore .Entities.BasketAggregate.Basket |
![]() | 1 namespace
| 12min | High | Microsoft.eShopWeb.Web.Constants |
![]() | 2 namespaces
| 12min | High | Microsoft.eShopWeb.Web.Pages .Shared.Components.BasketComponent .Basket |
![]() | 1 namespace
| 12min | High | BlazorAdmin.JavaScript.Cookies |
![]() | 1 namespace
| 12min | High | BlazorAdmin.Pages.CatalogItemPage .Create |
![]() | 1 namespace
| 12min | High | BlazorAdmin.Pages.CatalogItemPage .Edit |
![]() | Rule Violated: Avoid various capitalizations for method name |
• How to Fix Issues of this Rule: Choose a single capitalization for the method name used accross the whole application. Or alternatively make the distinction clear by having different method names that don't only differ by capitalization. The technical-debt for each issue, the estimated cost to fix an issue, is proportional to the number of capitalizations found (2 minimum).
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2020:AvoidVariousCapitalizationsForMethodName", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 methods | methods | nbCapitalizations | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() | 5 methods
| 2 | 12min | Medium | Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails .get_UserName() |
![]() | 5 methods
| 2 | 12min | Medium | Microsoft.eShopWeb.Web.Features .OrderDetails.GetOrderDetails .set_UserName(String) |
Source Files Organization 330 |
![]() | Rule Violated: Namespace name should correspond to file location |
• How to Fix Issues of this Rule: To fix a violation of this rule, make sure that the type parent namespace and the directory sub-paths that contains the type source file, are mirrored. Make sure to first check the boolean justACaseSensitiveIssue, in which case the issue is easier to fix.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2103:NamespaceNameShouldCorrespondToFileLocation", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
5 types matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
5 types | dirShouldContain | sourceFilePath | nbSourceDeclConcerned | justACaseSensitiveIssue | Debt | Severity | Full Name |
---|---|---|---|---|---|---|---|
![]() | eShopWeb | ![]() | 1 | False | 3min 0s | Medium | Microsoft.eShopWeb.CatalogSettings |
![]() | eShopWeb | ![]() | 1 | False | 3min 0s | Medium | Microsoft.eShopWeb.JsonExtensions |
![]() | GuardClauses | ![]() | 1 | False | 3min 0s | Medium | Ardalis.GuardClauses.BasketGuards |
![]() | AspNetCore Mvc | ![]() | 1 | False | 3min 0s | Medium | Microsoft.AspNetCore.Mvc .UrlHelperExtensions |
![]() | Web Services | ![]() | 1 | False | 3min 0s | Medium | Microsoft.eShopWeb.Web.Services .EmailSenderExtensions |
![]() | Rule Violated: Types with source files stored in the same directory, should be declared in the same namespace |
• How to Fix Issues of this Rule: Violations of this rule are types in the typesOutOfMainNamespace column. Typically such type … • … is contained in the wrong namespace but its source file is stored in the right directory. In such situation the type should be contained in main namespace. • … is contained in the right namespace but its source file is stored in the wrong directory In such situation the source file of the type must be moved to the proper parent namespace directory. • … is declared in multiple source files, stored in different directories. In such situation it is preferable that all source files are stored in a single directory. The estimated Debt, which means the effort to fix such issue, is equal to 2 minutes plus 5 minutes per type in typesOutOfMainNamespace.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2104:TypesWithSourceFilesStoredInTheSameDirectoryShouldBeDeclaredInTheSameNamespace", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 namespaces matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 namespaces | typesOutOfMainNamespace | typesInMainNamespace | Debt | Severity | Full Name |
---|---|---|---|---|---|
![]() ![]() | 1 type
| 1 type
| 7min | High | Microsoft.eShopWeb |
![]() ![]() | 1 type
| 5 types
| 7min | High | Microsoft.eShopWeb.PublicApi |
![]() | 2 types
| 1 type
| 12min | High | Microsoft.AspNetCore.Mvc |
![]() | Rule Violated: Types declared in the same namespace, should have their source files stored in the same directory |
• How to Fix Issues of this Rule: Violations of this rule are types in the typesDeclaredOutOfMainDir column. Typically such type… • … is contained in the wrong namespace but its source file is stored in the right directory. In such situation the type should be contained in the namespace corresponding to the parent directory. • … is contained in the right namespace but its source file is stored in the wrong directory. In such situation the source file of the type must be moved to the main directory. • … is declared in multiple source files, stored in different directories. In such situation it is preferable that all source files are stored in a single directory. The estimated Debt, which means the effort to fix such issue, is equal to 2 minutes plus 5 minutes per type in typesDeclaredOutOfMainDir.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2105:TypesDeclaredInTheSameNamespaceShouldHaveTheirSourceFilesStoredInTheSameDirectory", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
2 namespaces matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
2 namespaces | typesDeclaredOutOfMainDir | mainDir | typesDeclaredInMainDir | Debt | Severity | Full Name |
---|---|---|---|---|---|---|
![]() | 1 type
| ![]() | 1 type
| 7min | High | Microsoft.eShopWeb |
![]() | 1 type
| ![]() | 4 types
| 7min | High | Microsoft.eShopWeb.Web.Services |
![]() .NET Framework Usage 2140 |
System 730 |
![]() | Rule Violated: Mark attributes with AttributeUsageAttribute |
• How to Fix Issues of this Rule: To fix a violation of this rule, specify targets for the attribute by using AttributeUsageAttribute with the proper AttributeTargets values.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2203:MarkAttributesWithAttributeUsageAttribute", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
1 type matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
1 type | Debt | Severity | Full Name |
---|---|---|---|
![]() ![]() | 5min | High | BlazorShared.Attributes .EndpointAttribute |
![]() | Rule Violated: Do not raise too general exception types |
• How to Fix Issues of this Rule: To fix a violation of this rule, change the type of the thrown exception to either a more derived type that already exists in the framework, or create your own type that derives from System.Exception. The estimated Debt, which means the effort to fix such issue, is equal to 15 minutes per method matched, plus 5 minutes per too general exception types instantiated by the method.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2207:DoNotRaiseTooGeneralExceptionTypes", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
18 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
18 methods | exceptionsCreated | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.MyAccount (IndexViewModel) |
![]() ![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .GenerateRecoveryCodesWarning() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.MyAccount() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .SendVerificationEmail (IndexViewModel) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.ChangePassword( ) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.ChangePassword (ChangePasswordViewModel) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.SetPassword() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.SetPassword (SetPasswordViewModel) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.ExternalLogins( ) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .LinkLoginCallback() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.RemoveLogin (RemoveLoginViewModel) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .TwoFactorAuthentication() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .Disable2faWarning() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController.Disable2fa() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .EnableAuthenticator() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .EnableAuthenticator (EnableAuthenticatorViewModel) |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .ResetAuthenticator() |
![]() | 1 type
| 20min | High | Microsoft.eShopWeb.Web.Controllers .ManageController .GenerateRecoveryCodes() |
![]() | Rule Violated: Uri fields should be of type System.Uri |
• How to Fix Issues of this Rule: Rename the field, or change the field type to System.Uri. By default issues of this rule have a Low severity because they reflect more an advice than a problem.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2209:UriFieldsShouldBeOfTypeSystemUri", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
3 fields matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
3 fields | FieldType | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | ![]() | 5min | Low | Program+<>c__DisplayClass0_0 .catalogBaseUrl |
![]() ![]() | ![]() | 5min | Low | BlazorAdmin.Services .CatalogLookupDataService <TLookupData,TReponse>._apiUrl |
![]() | ![]() | 5min | Low | BlazorAdmin.Services.HttpService ._apiUrl |
System.Collections 010 |
|
![]() | Rule Violated: Collection properties should be read only |
• How to Fix Issues of this Rule: To fix a violation of this rule, make the property read-only and, if the design requires it, add methods to clear and re-populate the collection.
• How to Suppress an Issue of this Rule: In source code, tag the concerned code element with this attribute: [SuppressMessage("NDepend", "ND2300:CollectionPropertiesShouldBeReadOnly", Justification="...")] This attribute requires the compilation symbol CODE_ANALYSIS to be set on each Visual Studio project relying on it. Without CODE_ANALYSIS symbol defined, the attribute is not compiled and the issues are not suppressed.
4 methods matched
-
Formatting: bold means added, underlined means code was changed,
strike-boldmeans removed (since baseline)
4 methods | CollectionType | Debt | Severity | Full Name |
---|---|---|---|---|
![]() ![]() | ![]() | 10min | Medium | Microsoft.eShopWeb.Web.ViewModels .Manage.ShowRecoveryCodesViewModel .set_RecoveryCodes(String[]) |
![]() | ![]() | 10min | Medium | Microsoft.eShopWeb.Web.ViewModels .Manage.ExternalLoginsViewModel .set_CurrentLogins(IList <UserLoginInfo>) |
![]() | ![]() | 10min | Medium | Microsoft.eShopWeb.Web.ViewModels .Manage.ExternalLoginsViewModel .set_OtherLogins(IList <AuthenticationScheme>) |
![]() | ![]() | 10min | Medium | Microsoft.eShopWeb.Web.Areas .Identity.Pages.Account.LoginModel .set_ExternalLogins(IList <AuthenticationScheme>) |
Hot Spots
![]() | Code Query: Types Hot Spots |
163 types matched
163 types | Debt | Issues | Annual Interest | Breaking Point | # lines of code (LOC) | DebtRating | DebtRatio | Full Name |
---|---|---|---|---|---|---|---|---|
![]() | 2d 4h | First 5 of 53 issues
| 1d 2h | 2y 8d | 207 | E | 58.32 | Microsoft.eShopWeb.Web.Controllers .ManageController |
![]() | 4h 43min | First 5 of 19 issues
| 4h 38min | 1y 5d | 55 | D | 48.91 | BlazorAdmin.Services .CatalogItemService |
![]() | 3h 22min | First 5 of 17 issues
| 3h 33min | 347d | 44 | D | 41.93 | BlazorAdmin.Services .CachedCatalogItemServiceDecorator |
![]() | 3h 10min | First 5 of 35 issues
| 1d 0h | 140d | 38 | D | 34.97 | BlazorAdmin.Helpers.ToastComponent |
![]() | 2h 44min | First 5 of 32 issues
| 4h 4min | 245d |