public static int GetGroupDepth(this SpectrumSourceGroup group) { if (group.Name == "/") { return(0); } int count = 0; foreach (char c in group.Name) { if (c == '/') { ++count; } } return(count); }
public static bool IsImmediateChildOf(this SpectrumSourceGroup childGroup, SpectrumSourceGroup parentGroup) { return(childGroup.IsChildOf(parentGroup) && childGroup.GetGroupDepth() - 1 == parentGroup.GetGroupDepth()); }
public static bool IsChildOf(this SpectrumSourceGroup childGroup, SpectrumSourceGroup parentGroup) { return(childGroup.Name.StartsWith(parentGroup.Name == "/" ? "/" : (parentGroup.Name + "/"))); }
public void Add(SpectrumSourceGroup ssg) { insertRow(Table.SpectrumSourceGroup, new object[] { ssg.Id, ssg.Name }); }