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; |
} |
} |
|