public virtual string GetNewViewName() { var takenNames = new HashSet <string>(BuiltInViewSpecs.Select(viewSpec => viewSpec.Name)); takenNames.UnionWith(CustomViewSpecs.Select(viewSpec => viewSpec.Name)); const string baseName = "CustomView"; for (int index = 1;; index++) { string name = baseName + index; if (!takenNames.Contains(name)) { return(name); } } }
public virtual ViewSpec MakeEditable(ViewSpec viewSpec) { if (!IsReadOnly(viewSpec) && !string.IsNullOrEmpty(viewSpec.Name)) { return(viewSpec); } var viewNames = new HashSet <string>(BuiltInViewSpecs.Select(builtInViewSpec => builtInViewSpec.Name)); viewNames.UnionWith(CustomViewSpecs.Select(customViewSpec => customViewSpec.Name)); for (int index = 1; ; index++) { string name = "CustomView" + index; if (!viewNames.Contains(name)) { return(viewSpec.SetName(name)); } } }