Exemplo n.º 1
0
        public static SignGroupInfo[] FindAllGroups(SignGroupInfo group)
        {
            List <SignGroupInfo> groups = new List <SignGroupInfo>();

            PopulateGroups(group, groups);
            return(groups.ToArray());
        }
Exemplo n.º 2
0
        public static SignInfo[] FindAllSigns(SignGroupInfo group)
        {
            List <SignInfo> signs = new List <SignInfo>();

            PopulateSigns(group, signs);
            return(signs.ToArray());
        }
Exemplo n.º 3
0
 private void OnDashboardAdded(SignGroupInfo parent)
 {
     if (_dashboardAdded != null)
     {
         DashboardAddEventArgs e = new DashboardAddEventArgs(parent);
         _dashboardAdded(this, e);
     }
 }
Exemplo n.º 4
0
 private bool OnDashboardAdding(SignGroupInfo parent)
 {
     if (_dashboardAdding != null)
     {
         DashboardAddEventArgs e = new DashboardAddEventArgs(parent);
         _dashboardAdding(this, e);
         return(e.Cancel);
     }
     return(false);
 }
Exemplo n.º 5
0
        private static void PopulateGroups(SignGroupInfo group, List <SignGroupInfo> groups)
        {
            if (group == null || group.IsEmpty || group.Groups.Length == 0)
            {
                return;
            }
            groups.AddRange(group.Groups);

            if (group.Groups.Length > 0)
            {
                foreach (SignGroupInfo item in group.Groups)
                {
                    PopulateGroups(item, groups);
                }
            }
        }
Exemplo n.º 6
0
        private static void PopulateSigns(SignGroupInfo group, List <SignInfo> signs)
        {
            if (group == null || group.IsEmpty /*|| group.Signs.Length == 0*/)
            {
                return;
            }

            if (group.Signs.Length > 0)
            {
                signs.AddRange(group.Signs);
            }

            if (group.Groups.Length > 0)
            {
                foreach (SignGroupInfo item in group.Groups)
                {
                    PopulateSigns(item, signs);
                }
            }
        }
Exemplo n.º 7
0
        private static void PopulateRelation(SignGroupInfo[] items, SignGroupInfo parent)
        {
            if (items.Length > 0)
            {
                _allGroups.AddRange(items);
                foreach (SignGroupInfo group in items)
                {
                    group.Parent = parent;

                    PopulateRelation(group.Groups, group);

                    if (group.Signs.Length > 0)
                    {
                        _allSigns.AddRange(group.Signs);
                        foreach (SignInfo sign in group.Signs)
                        {
                            sign.Parent = group;
                        }
                    }
                }
            }
        }
Exemplo n.º 8
0
 public DashboardAddEventArgs(SignGroupInfo group)
 {
     Parent = group;
 }