void SaveWizardConfigurationInfo(string nodeID, ObservableCollection<WizardDeviceInfo> wizardDeviceInfoList, string connectionString, int? protocolID, int? companyID, int? historianID, int? interconnectionID, int? parentID, bool skipDisableRealTimeData) { SystemMessages sm; try { string result = CommonFunctions.SaveWizardConfigurationInfo(null, nodeID, new List<WizardDeviceInfo>(wizardDeviceInfoList), connectionString, protocolID, companyID, historianID, interconnectionID, parentID, skipDisableRealTimeData); if (m_activityWindow != null) m_activityWindow.Close(); sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = result, SystemMessage = string.Empty, UserMessageType = openPDCManager.Utilities.MessageType.Success }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); //Update Metadata in the openPDC Service. try { WindowsServiceClient serviceClient = ((App)Application.Current).ServiceClient; if (serviceClient != null && serviceClient.Helper.RemotingClient.CurrentState == TVA.Communication.ClientState.Connected) { //Send Initialize command to openPDC windows service. if (parentID != null) // devices are being added to PDC then initialize PDC only and not individual devices. { string runtimeID = CommonFunctions.GetRuntimeID(null, "Device", (int)parentID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Initialize " + runtimeID); } else //Otherwise go through the list and intialize each device by retrieving its runtime ID from database. { foreach (WizardDeviceInfo deviceInfo in wizardDeviceInfoList) { if (deviceInfo.Include) { Device device = CommonFunctions.GetDeviceByAcronym(null, deviceInfo.Acronym); if (device != null) { string runtimeID = CommonFunctions.GetRuntimeID(null, "Device", device.ID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Initialize " + runtimeID); } } } } if (historianID != null) { string runtimeID = CommonFunctions.GetRuntimeID(null, "Historian", (int)historianID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke " + runtimeID + " RefreshMetadata"); } // Also update Stat historian metadata. Historian statHistorian = CommonFunctions.GetHistorianByAcronym(null, "STAT"); if (statHistorian != null) { string statRuntimeID = CommonFunctions.GetRuntimeID(null, "Historian", statHistorian.ID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke " + statRuntimeID + " RefreshMetadata"); } // Issue reload statistics command for CommonPhasorServices to pick up change in statistics measurement if any. CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke 0 ReloadStatistics"); CommonFunctions.SendCommandToWindowsService(serviceClient, "RefreshRoutes"); } else { sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = "Failed to Perform Configuration Changes", SystemMessage = "Application is disconnected from the openPDC Service.", UserMessageType = openPDCManager.Utilities.MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); } //navigate to browse devices screen. BrowseDevicesUserControl browseDevices = new BrowseDevicesUserControl(); ((MasterLayoutWindow)Window.GetWindow(this)).ContentFrame.Navigate(browseDevices); } catch (Exception ex) { if (m_activityWindow != null) m_activityWindow.Close(); sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = "Failed to Perform Configuration Changes", SystemMessage = ex.Message, UserMessageType = openPDCManager.Utilities.MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); CommonFunctions.LogException(null, "SaveWizardConfigurationInfo.RefreshMetadata", ex); } } catch (Exception ex) { CommonFunctions.LogException(null, "WPF.SaveWizardConfigurationInfo", ex); sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = "Failed to Save Configuration Information", SystemMessage = ex.Message, UserMessageType = openPDCManager.Utilities.MessageType.Error }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); } nextButtonClicked = false; if (m_activityWindow != null) m_activityWindow.Close(); }
private void MenuItem_Click(object sender, RoutedEventArgs e) { MenuItem item = (MenuItem)e.OriginalSource; //if no node is defined then force user to add node. if (UserControlSelectNode.ComboboxNode.Items.Count == 0) { NodesUserControl nodesUserControl = new NodesUserControl(); ContentFrame.Navigate(nodesUserControl); } else if (item.Name == "CustomInputs") { AdapterUserControl adapter = new AdapterUserControl(); adapter.TypeOfAdapter = AdapterType.Input; ContentFrame.Navigate(adapter); } else if (item.Name == "CustomActions") { AdapterUserControl adapter = new AdapterUserControl(); adapter.TypeOfAdapter = AdapterType.Action; ContentFrame.Navigate(adapter); } else if (item.Name == "CustomOutputs") { AdapterUserControl adapter = new AdapterUserControl(); adapter.TypeOfAdapter = AdapterType.Output; ContentFrame.Navigate(adapter); } else if (item.Name == "CalculatedMeasurements") { CalculatedMeasurementsUserControl calculatedMeasurementsUserControl = new CalculatedMeasurementsUserControl(); ContentFrame.Navigate(calculatedMeasurementsUserControl); } else if (item.Name == "Historians") { HistoriansUserControl historiansUserControl = new HistoriansUserControl(); ContentFrame.Navigate(historiansUserControl); } else if (item.Name == "Nodes") { NodesUserControl nodesUserControl = new NodesUserControl(); ContentFrame.Navigate(nodesUserControl); } else if (item.Name == "Companies") { CompaniesUserControl companiesUserControl = new CompaniesUserControl(); ContentFrame.Navigate(companiesUserControl); } else if (item.Name == "Vendors") { VendorUserControl vendorUserControl = new VendorUserControl(); ContentFrame.Navigate(vendorUserControl); } else if (item.Name == "VendorDevices") { VendorDevicesUserControl vendorDevicesUserControl = new VendorDevicesUserControl(); ContentFrame.Navigate(vendorDevicesUserControl); } else if (item.Name == "AddOtherDevice") { ManageOtherDevicesUserControl manageOtherDeviceUserControl = new ManageOtherDevicesUserControl(); ContentFrame.Navigate(manageOtherDeviceUserControl); } else if (item.Name == "OtherDevices") { OtherDevicesUserControl otherDevicesUserControl = new OtherDevicesUserControl(); ContentFrame.Navigate(otherDevicesUserControl); } else if (item.Name == "AddNew") { ManageDevicesUserControl manageDevicesUserControl = new ManageDevicesUserControl(); ContentFrame.Navigate(manageDevicesUserControl); } else if (item.Name == "BrowseDevices") { BrowseDevicesUserControl browse = new openPDCManager.Pages.Devices.BrowseDevicesUserControl(); ContentFrame.Navigate(browse); } else if (item.Name == "Measurements") { Measurements measurements = new Measurements(0); ContentFrame.Navigate(measurements); } else if (item.Name == "Home") { HomePageUserControl home = new HomePageUserControl(); ContentFrame.Navigate(home); } else if (item.Name == "IaonTree") { IaonTreeUserControl iaonTree = new IaonTreeUserControl(); ContentFrame.Navigate(iaonTree); } else if (item.Name == "RealTimeMeasurements") { DeviceMeasurementsUserControl deviceMeasurements = new DeviceMeasurementsUserControl(); ContentFrame.Navigate(deviceMeasurements); } else if (item.Name == "RealTimeStatistics") { RealTimeStatisticsUserControl realTimeStatistics = new RealTimeStatisticsUserControl(); ContentFrame.Navigate(realTimeStatistics); } else if (item.Name == "RemoteConsole") { MonitorUserControl monitorControl = new MonitorUserControl(); ContentFrame.Navigate(monitorControl); } else if (item.Name == "OutputStreams") { OutputStreamsUserControl outputStreams = new OutputStreamsUserControl(); ContentFrame.Navigate(outputStreams); } else if (item.Name == "InputMonitor") { //SubscriptionTest inputMonitor = new SubscriptionTest(); InputStatusUserControl inputMonitor = new InputStatusUserControl(); //InputMonitoringUserControl inputMonitor = new InputMonitoringUserControl(); ContentFrame.Navigate(inputMonitor); } else if (item.Name == "ConfigurationWizard") { InputWizardUserControl wizardControl = new InputWizardUserControl(); ContentFrame.Navigate(wizardControl); } else if (item.Name == "Settings") { SystemSettings systemSettings = new SystemSettings(); ContentFrame.Navigate(systemSettings); } else if (item.Name == "Security") { ApplicationSecurity security = new ApplicationSecurity(); ContentFrame.Navigate(security); } else if (item.Name == "Help") { try { // Check for internet connectivity. Dns.GetHostEntry("openpdc.codeplex.com"); // Launch the help page available on web. Process.Start("http://openpdc.codeplex.com/wikipage?title=Manager%20Configuration"); } catch { // Launch the offline copy of the help page. Process.Start("openPDCManagerHelp.mht"); } } }
public void SaveDevice(Device device, bool isNew, int digitalCount, int analogCount) { SystemMessages sm; DataConnection connection = new DataConnection(); try { string result = CommonFunctions.SaveDevice(connection, device, isNew, digitalCount, analogCount); //get the ID of the new device added to the system so we can associate that ID to the phasors of the original device. int deviceID; if (isNew) deviceID = CommonFunctions.GetDeviceByAcronym(connection, device.Acronym).ID; else deviceID = device.ID; if (m_deviceToCopy != null && isNew) //if we are copying device then make sure we copy phasors also. { List<Phasor> phasorList = CommonFunctions.GetPhasorList(connection, m_deviceToCopy.ID); foreach (Phasor phasor in phasorList) { phasor.DeviceID = deviceID; CommonFunctions.SavePhasor(connection, phasor, true); } } sm = new SystemMessages(new Message() { UserMessage = result, SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); //update statistic measurement for a device if device is being updated and acronym has changed. try { if (!isNew && !string.IsNullOrEmpty(m_oldAcronym) && m_oldAcronym != device.Acronym) { CommonFunctions.UpdateDeviceStatistics(connection, deviceID, m_oldAcronym, device.Acronym, m_oldDeviceName, device.Name); //also if acronym has changed then make those changes } } catch (Exception ex) { CommonFunctions.LogException(connection, "WPF.UpdateDeviceStatistics", ex); sm = new SystemMessages(new Message() { UserMessage = "Failed to Update Device Statistics", SystemMessage = ex.Message, UserMessageType = MessageType.Error }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); } //Update Metadata in the openPDC Service. try { if (serviceClient != null && serviceClient.Helper.RemotingClient.CurrentState == TVA.Communication.ClientState.Connected) { if (device.Enabled) //if device is enabled then send initialize command otherwise send reloadconfig command. CommonFunctions.SendCommandToWindowsService(serviceClient, "Initialize " + CommonFunctions.GetRuntimeID(connection, "Device", deviceID)); // Convert.ToInt32(TextBlockRuntimeID.Text)); else CommonFunctions.SendCommandToWindowsService(serviceClient, "ReloadConfig"); //we do this to make sure all statistical measurements are in the system. if (device.HistorianID != null) //Update historian metadata { string runtimeID = CommonFunctions.GetRuntimeID(connection, "Historian", (int)device.HistorianID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke " + runtimeID + " RefreshMetadata"); } //now also update Stat historian metadata. Historian statHistorian = CommonFunctions.GetHistorianByAcronym(connection, "STAT"); if (statHistorian != null) { string statRuntimeID = CommonFunctions.GetRuntimeID(connection, "Historian", statHistorian.ID); CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke " + statRuntimeID + " RefreshMetadata"); } CommonFunctions.SendCommandToWindowsService(serviceClient, "Invoke 0 ReloadStatistics"); CommonFunctions.SendCommandToWindowsService(serviceClient, "RefreshRoutes"); } else { sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = "Failed to Perform Configuration Changes", SystemMessage = "Application is disconnected from the openPDC Service.", UserMessageType = openPDCManager.Utilities.MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); } } catch (Exception ex) { sm = new SystemMessages(new openPDCManager.Utilities.Message() { UserMessage = "Failed to Perform Configuration Changes", SystemMessage = ex.Message, UserMessageType = openPDCManager.Utilities.MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); CommonFunctions.LogException(connection, "SaveDevice.RefreshMetadata", ex); } ClearForm(); //Navigate to Browse screen upon successful save. BrowseDevicesUserControl browseDevices = new BrowseDevicesUserControl(); ((MasterLayoutWindow)Window.GetWindow(this)).ContentFrame.Navigate(browseDevices); } catch (Exception ex) { CommonFunctions.LogException(connection, "WPF.SaveDevice", ex); sm = new SystemMessages(new Message() { UserMessage = "Failed to Save Device Information", SystemMessage = ex.Message, UserMessageType = MessageType.Error }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); } finally { if (connection != null) connection.Dispose(); } }
void HyperlinkBrowseDevices_Click(object sender, RoutedEventArgs e) { #if !SILVERLIGHT BrowseDevicesUserControl devices = new BrowseDevicesUserControl(); ((MasterLayoutWindow)Window.GetWindow(this)).ContentFrame.Navigate(devices); #endif }
private void ButtonDevices_Click(object sender, RoutedEventArgs e) { #if SILVERLIGHT this.ParentPage.NavigationService.Navigate(new Uri("/Pages/Devices/Browse.xaml", UriKind.Relative)); //System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("/Pages/Devices/Browse.xaml", UriKind.Relative)); #else BrowseDevicesUserControl browseDevices = new BrowseDevicesUserControl(); ((MasterLayoutWindow)Window.GetWindow(this)).ContentFrame.Navigate(browseDevices); #endif }