Пример #1
0
 private static FSMDataAccess dataAccess()
 {
     if(_data == null)
     {
         _data = new FSMDataAccess();
     }
     return _data;
 }
Пример #2
0
        private ObservableCollection<Group> GenerateGroups()
        {
            ObservableCollection<Group> groups = new ObservableCollection<Group>();

            var data = new FSMDataAccess();

            //create the mode group with menu items
            var modesGroup = new Group()
            {
                Title = "Modes",
                LargeImagePath = @"/XamOutlookBarDataBinding;component/Images/Mail32.png",
                SmallImagePath = @"/XamOutlookBarDataBinding;component/Images/Mail16.png"
            };

            var rootModeItem = new MenuItem() { Title = "Active Modes", IsExpanded = true };
            var modes = data.GetModes();
            foreach (var item in modes)
            {
                modesGroup.Items.Add(new MenuItem() { Title = item.ModeName, Key = item.ModeID, Desrption = item.Description, ImagePath = @"/XamOutlookBarDataBinding;component/Images/InboxFolder16.png" });
            }
            groups.Add(modesGroup);

            //create the states group with items
            var statesGroup = new Group()
            {
                Title = "States",
                LargeImagePath = @"/XamOutlookBarDataBinding;component/Images/Contact32.png",
                SmallImagePath = @"/XamOutlookBarDataBinding;component/Images/Contact16.png"
            };
            var rootStateItem = new MenuItem() { Title = "Current Mode States", IsExpanded = true };
            var states = data.GetStates();
            foreach (var item in states)
            {
                rootModeItem.Children.Add(new MenuItem() { Title = item.StateName, Key = item.StateID, Desrption = item.Description, ImagePath = @"/XamOutlookBarDataBinding;component/Images/InboxFolder16.png" });
            }
            statesGroup.Items.Add(rootStateItem);
            rootStateItem = new MenuItem() { Title = "Available States", IsExpanded = true };
            states = data.GetStates();
            foreach (var item in states)
            {
                rootModeItem.Children.Add(new MenuItem() { Title = item.StateName, Key = item.StateID, Desrption = item.Description, ImagePath = @"/XamOutlookBarDataBinding;component/Images/InboxFolder16.png" });
            }
            statesGroup.Items.Add(rootStateItem);

            groups.Add(statesGroup);

            //create the events group with items
            var eventsGroup = new Group()
            {
                Title = "Events",
                LargeImagePath = @"/XamOutlookBarDataBinding;component/Images/Contact32.png",
                SmallImagePath = @"/XamOutlookBarDataBinding;component/Images/Contact16.png"
            };
            var rootEventItem = new MenuItem() { Title = "Current Mode Events", IsExpanded = true };
            var events = data.GetEvents();
            foreach (var item in events)
            {
                rootModeItem.Children.Add(new MenuItem() { Title = item.EventName, Key = item.EventID, Desrption = item.Description, ImagePath = @"/XamOutlookBarDataBinding;component/Images/InboxFolder16.png" });
            }
            eventsGroup.Items.Add(rootEventItem);
            rootEventItem = new MenuItem() { Title = "Available Events", IsExpanded = true };
            events = data.GetEvents();
            foreach (var item in events)
            {
                rootModeItem.Children.Add(new MenuItem() { Title = item.EventName, Key = item.EventID, Desrption = item.Description, ImagePath = @"/XamOutlookBarDataBinding;component/Images/InboxFolder16.png" });
            }
            eventsGroup.Items.Add(rootEventItem);

            groups.Add(eventsGroup);

            return groups;
        }