public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var errors = new List <ValidationResult>(); var existingTags = HttpRequestStorage.DatabaseEntities.Tags.ToList(); if (!TagModelExtensions.IsTagNameUnique(existingTags, TagName, TagID)) { errors.Add(new SitkaValidationResult <EditViewModel, string>(FirmaValidationMessages.TagNameUnique, x => x.TagName)); } return(errors); }
public IndexGridSpec(bool hasDeletePermissions) { if (hasDeletePermissions) { Add(string.Empty, x => DhtmlxGridHtmlHelpers.MakeDeleteIconAndLinkBootstrap(TagModelExtensions.GetDeleteUrl(x), true), 30); } Add(FieldDefinitionEnum.TagName.ToType().ToGridHeaderString(), a => UrlTemplate.MakeHrefString(TagModelExtensions.GetDetailUrl(a), a.GetDisplayName()), 200, DhtmlxGridColumnFilterType.Html); Add(FieldDefinitionEnum.TagDescription.ToType().ToGridHeaderString(), a => a.TagDescription, 600); Add($"# of {FieldDefinitionEnum.Project.ToType().GetFieldDefinitionLabelPluralized()}", a => a.ProjectTags.Count, 65); }