internal HtmlDataQualityCategory( [CanBeNull] DataQualityCategory category, [CanBeNull] HtmlDataQualityCategoryOptions options, [NotNull] HtmlDataQualityCategoryComparer categoryComparer, [NotNull] HtmlQualitySpecificationElementComparer elementComparer) { Assert.ArgumentNotNull(categoryComparer, nameof(categoryComparer)); Assert.ArgumentNotNull(elementComparer, nameof(elementComparer)); _category = category; _categoryComparer = categoryComparer; _elementComparer = elementComparer; if (category == null) { _isUndefinedCategory = true; _uniqueName = "<nocategory>"; _name = string.Empty; _abbreviation = string.Empty; } else { _isUndefinedCategory = false; _uniqueName = category.GetQualifiedName("||"); _name = GetDisplayName(category, options); _abbreviation = category.Abbreviation ?? string.Empty; } }
private static HtmlDataQualityCategory AddDataQualityCategory( [CanBeNull] DataQualityCategory category, [NotNull] HtmlDataQualityCategoryComparer categoryComparer, [NotNull] HtmlQualitySpecificationElementComparer elementComparer, [NotNull] IDictionary <string, HtmlDataQualityCategory> reportCategories, [CanBeNull] IHtmlDataQualityCategoryOptionsProvider optionsProvider = null) { string key = GetCategoryKey(category); HtmlDataQualityCategory result; if (reportCategories.TryGetValue(key, out result)) { // already added (including parents) return(result); } HtmlDataQualityCategoryOptions options = GetReportCategoryOptions(optionsProvider, category); if (category != null && options != null && options.IgnoreCategoryLevel) { // skip this category level result = AddDataQualityCategory(category.ParentCategory, categoryComparer, elementComparer, reportCategories, optionsProvider); reportCategories.Add(key, result); return(result); } result = new HtmlDataQualityCategory(category, options, categoryComparer, elementComparer); reportCategories.Add(key, result); if (category != null && category.ParentCategory != null) { HtmlDataQualityCategory parent = AddDataQualityCategory(category.ParentCategory, categoryComparer, elementComparer, reportCategories, optionsProvider); if (!parent.IsUndefinedCategory) { result.ParentCategory = parent; result.ParentCategory.IncludeSubCategory(result); } } return(result); }
private static string GetDisplayName( [NotNull] DataQualityCategory category, [CanBeNull] HtmlDataQualityCategoryOptions options) { if (options == null) { return(category.Name); } string aliasName = options.AliasName; return(StringUtils.IsNotEmpty(aliasName) ? aliasName : category.Name); }
public HtmlReportDataQualityCategory( [CanBeNull] DataQualityCategory category, [NotNull] IList <ExceptionCategory> exceptionCategories, [CanBeNull] HtmlDataQualityCategoryOptions options, [NotNull] HtmlReportDataQualityCategoryComparer categoryComparer, [NotNull] HtmlReportQualityConditionComparer qualityConditionComparer, [NotNull] HtmlReportIssueGroupComparer issueGroupComparer) { Assert.ArgumentNotNull(categoryComparer, nameof(categoryComparer)); Assert.ArgumentNotNull(exceptionCategories, nameof(exceptionCategories)); Assert.ArgumentNotNull(qualityConditionComparer, nameof(qualityConditionComparer)); Assert.ArgumentNotNull(issueGroupComparer, nameof(issueGroupComparer)); _category = category; _exceptionCategories = exceptionCategories; _categoryComparer = categoryComparer; _qualityConditionComparer = qualityConditionComparer; _issueGroupComparer = issueGroupComparer; if (category == null) { IsUndefinedCategory = true; _uniqueName = "<nocategory>"; Name = string.Empty; Abbreviation = string.Empty; Description = string.Empty; } else { IsUndefinedCategory = false; _uniqueName = category.GetQualifiedName("||"); Name = GetDisplayName(category, options); Abbreviation = category.Abbreviation ?? string.Empty; Description = category.Description ?? string.Empty; } }