private bool IsItemVisible([NotNull] ValidationDescriptor item) { Debug.ArgumentNotNull(item, nameof(item)); if (HiddenItems.Contains(item.GetKey())) { return(false); } switch (item.Severity) { case SeverityLevel.Error: if (!ShowErrors) { return(false); } break; case SeverityLevel.Warning: if (!ShowWarnings) { return(false); } break; case SeverityLevel.Suggestion: if (!ShowSuggestions) { return(false); } break; case SeverityLevel.Hint: if (!ShowHints) { return(false); } break; } if (!string.IsNullOrEmpty(FilterText)) { var filtered = item.Title.IsFilterMatch(FilterText); filtered |= item.Problem.IsFilterMatch(FilterText); filtered |= item.Solution.IsFilterMatch(FilterText); if (!filtered) { return(false); } } return(true); }
private void ParseValidationElement([NotNull] XElement element) { Debug.ArgumentNotNull(element, nameof(element)); validations.Clear(); foreach (var item in element.Elements()) { var severity = SeverityLevel.None; var severityText = item.GetAttributeValue("severity").ToLowerInvariant(); switch (severityText) { case "error": severity = SeverityLevel.Error; break; case "warning": severity = SeverityLevel.Warning; break; case "suggestion": severity = SeverityLevel.Suggestion; break; case "hint": severity = SeverityLevel.Hint; break; } var record = new ValidationDescriptor(item.GetAttributeValue("name"), severity, item.GetAttributeValue("category"), item.GetElementValue("title"), item.GetElementValue("problem"), item.GetElementValue("solution")) { ExternalLink = item.GetAttributeValue("link") }; var id = item.GetAttributeValue("item"); if (!string.IsNullOrEmpty(id)) { var parts = id.Split('/'); var databaseUri = new DatabaseUri(Context.Site, new DatabaseName(parts[0])); var itemUri = new ItemUri(databaseUri, new ItemId(Guid.Parse(parts[1]))); var itemVersionUri = new ItemVersionUri(itemUri, new Language(parts[2]), new Data.Version(int.Parse(parts[3]))); record.ItemUri = itemVersionUri; record.ItemPath = item.GetAttributeValue("itempath"); } validations.Add(record); } RenderValidations(); }
public void Hide(ValidationDescriptor item) { Assert.ArgumentNotNull(item, nameof(item)); var key = item.GetKey(); if (HiddenItems.Contains(key)) { return; } HiddenItems += key; var profileName = GetProfileName(); AppHost.Settings.Set("Validation\\Site\\Hidden", profileName, HiddenItems); }
public void Disable(ValidationDescriptor item) { Assert.ArgumentNotNull(item, nameof(item)); var profileName = GetProfileName(); var key = "[" + item.Name + "]"; var inactive = AppHost.Settings.GetString(ValidationSiteProfiles, profileName, string.Empty); if (inactive.Contains(key)) { return; } inactive += key; AppHost.Settings.Set(ValidationSiteProfiles, profileName, inactive); }