| try |
| { |
| tvStatus.Nodes.Clear(); |
| |
| RadTreeNode Root = new RadTreeNode(Resources.Globals.MenuCommandStatus); |
| Root.EnableContextMenu = false; // I DON'T want a context menu on the root node |
| |
| // controller menu |
| RadTreeViewContextMenu mnuController = new RadTreeViewContextMenu(); |
| mnuController.ID = "mnuController" + DateTime.UtcNow.ToString(); |
| mnuController.SkinID = "WebBlue"; |
| |
| RadMenuItem miControllerInit = new RadMenuItem(Resources.Globals.MenuInitialize); |
| miControllerInit.SkinID = "WebBlue"; |
| |
| RadMenuItem miSyncController = new RadMenuItem(Resources.Globals.MenuSyncControllerTimeMsg); |
| miSyncController.SkinID = "WebBlue"; |
| |
| mnuController.Items.Add(miControllerInit); |
| mnuController.Items.Add(miSyncController); |
| |
| // Reader menu |
| RadTreeViewContextMenu mnuReader = new RadTreeViewContextMenu(); |
| mnuReader.ID = "mnuReader" + DateTime.UtcNow.ToString(); |
| mnuReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miGrantAccess = new RadMenuItem(Resources.Globals.MenuGrantAccess); |
| miGrantAccess.SkinID = "WebBlue"; |
| |
| RadMenuItem miLockReader = new RadMenuItem(Resources.Globals.MenuLockReader); |
| miLockReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miUnlockReader = new RadMenuItem(Resources.Globals.MenuUnlockReader); |
| miUnlockReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miBeepReader = new RadMenuItem(Resources.Globals.MenuBeepReader); |
| miBeepReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miStopAlarm = new RadMenuItem("Turn Off Alarm"); |
| miStopAlarm.SkinID = "WebBlue"; |
| |
| mnuReader.Items.Add(miStopAlarm); |
| mnuReader.Items.Add(miGrantAccess); |
| mnuReader.Items.Add(miLockReader); |
| mnuReader.Items.Add(miUnlockReader); |
| mnuReader.Items.Add(miBeepReader); |
| |
| |
| // controller menu |
| RadTreeViewContextMenu mnuController = new RadTreeViewContextMenu(); |
| mnuController.ID = "mnuController" + DateTime.UtcNow.ToString(); |
| mnuController.SkinID = "WebBlue"; |
| |
| RadMenuItem miControllerInit = new RadMenuItem(Resources.Globals.MenuInitialize); |
| miControllerInit.SkinID = "WebBlue"; |
| |
| RadMenuItem miSyncController = new RadMenuItem(Resources.Globals.MenuSyncControllerTimeMsg); |
| miSyncController.SkinID = "WebBlue"; |
| |
| mnuController.Items.Add(miControllerInit); |
| mnuController.Items.Add(miSyncController); |
| |
| // Reader menu |
| RadTreeViewContextMenu mnuReader = new RadTreeViewContextMenu(); |
| mnuReader.ID = "mnuReader" + DateTime.UtcNow.ToString(); |
| mnuReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miGrantAccess = new RadMenuItem(Resources.Globals.MenuGrantAccess); |
| miGrantAccess.SkinID = "WebBlue"; |
| |
| RadMenuItem miLockReader = new RadMenuItem(Resources.Globals.MenuLockReader); |
| miLockReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miUnlockReader = new RadMenuItem(Resources.Globals.MenuUnlockReader); |
| miUnlockReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miBeepReader = new RadMenuItem(Resources.Globals.MenuBeepReader); |
| miBeepReader.SkinID = "WebBlue"; |
| |
| RadMenuItem miStopAlarm = new RadMenuItem("Turn Off Alarm"); |
| miStopAlarm.SkinID = "WebBlue"; |
| |
| mnuReader.Items.Add(miStopAlarm); |
| mnuReader.Items.Add(miGrantAccess); |
| mnuReader.Items.Add(miLockReader); |
| mnuReader.Items.Add(miUnlockReader); |
| mnuReader.Items.Add(miBeepReader); |
| |
| // add menus to treeview control |
| tvStatus.ContextMenus.Add(mnuController); |
| tvStatus.ContextMenus.Add(mnuReader); |
| |
| |
| // get data and populate controller nodes |
| EncAccess.AccessWS.Controller[] lstControllers = ws.Controller_GetAll(false); |
| |
| string ImageUrl = string.Empty; |
| string ControllerName = string.Empty; |
| |
| foreach (EncAccess.AccessWS.Controller controller in lstControllers) |
| { |
| // get status of Controller |
| bool bOnline = IsControllerOnline(controller); |
| |
| if (bOnline == true) |
| { |
| ControllerName = controller.HostName + " (Online)"; |
| ImageUrl = "Images/flag_green.png"; |
| } |
| else |
| { |
| ControllerName = controller.HostName + " (Offline)"; |
| ImageUrl = "Images/flag_yellow.png"; |
| } |
| |
| // create node for controller |
| RadTreeNode ndController = new RadTreeNode(Resources.Globals.MenuController + " - " + ControllerName); |
| ndController.Value = controller.ControllerID.ToString(); |
| ndController.ContextMenuID = "mnuController"; |
| ndController.EnableContextMenu = true; |
| ndController.ImageUrl = ImageUrl; |
| |
| // get all the readers for this controller |
| EncAccess.AccessWS.Reader[] lstReaders = ws.Reader_GetByControllerID(controller.ControllerID, false); |
| |
| RadTreeNode ndReaderRoot = new RadTreeNode(Resources.Globals.MenuReaders); |
| |
| foreach (EncAccess.AccessWS.Reader rdr in lstReaders) |
| { |
| EncAccess.AccessWS.ReaderStatusEnumeration status = ws.Reader_GetReaderStatus(rdr.ReaderID); |
| |
| string ReaderName = rdr.ReaderName; |
| |
| switch (status) |
| { |
| case EncAccess.AccessWS.ReaderStatusEnumeration.IN_ALARM: |
| ReaderName += " (Status = ALARM)"; |
| ImageUrl = "Images/flag_red.png"; |
| break; |
| case EncAccess.AccessWS.ReaderStatusEnumeration.FORCED_DOOR_OPEN: |
| ReaderName += " (Status = Forced Door Open)"; |
| ImageUrl = "Images/flag_yellow.png"; |
| break; |
| case EncAccess.AccessWS.ReaderStatusEnumeration.DOOR_OPEN: |
| ReaderName += " (Status = Door Open)"; |
| ImageUrl = "Images/doorgroup.jpg"; |
| break; |
| case EncAccess.AccessWS.ReaderStatusEnumeration.DOOR_CLOSED: |
| ReaderName += " (Status = Door Closed)"; |
| ImageUrl = "Images/flag_green.png"; |
| break; |
| } |
| |
| RadTreeNode ndReader = new RadTreeNode(ReaderName); |
| |
| ndReader.Value = rdr.ReaderID.ToString(); |
| ndReader.ContextMenuID = "mnuReader"; |
| ndReader.ImageUrl = ImageUrl; |
| |
| ndReaderRoot.Nodes.Add(ndReader); |
| } |
| |
| ndController.Nodes.Add(ndReaderRoot); |
| |
| Root.Nodes.Add(ndController); |
| } |
| |
| Root.Expanded = true; |
| tvStatus.Nodes.Add(Root); |
| } |
| catch (Exception ex) |
| { |
| throw ex; |
| } |
| } |
| |