private static FSMDataAccess dataAccess() { if(_data == null) { _data = new FSMDataAccess(); } return _data; }
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; }