private static void AddOutputStreamMeasurement(TableOperations <Measurement> measurementTable, TableOperations <OutputStreamMeasurement> outputStreamMeasurementTable, int outputStreamID, string sourceSignalReference, string destSignalReference) { Measurement measurement = measurementTable.QueryRecordWhere("SignalReference = {0}", $"{sourceSignalReference}"); if (measurement == null) { Console.WriteLine($"Failed to lookup Measurement record with SignalReference of \"{sourceSignalReference}\""); } else { OutputStreamMeasurement outputStreamMeasurement = outputStreamMeasurementTable.QueryRecordWhere("AdapterID = {0} AND SignalReference = {1}", outputStreamID, destSignalReference); if (outputStreamMeasurement == null) { outputStreamMeasurement = new OutputStreamMeasurement { NodeID = nodeID, AdapterID = outputStreamID, HistorianID = measurement.HistorianID, PointID = measurement.PointID, SignalReference = destSignalReference, CreatedOn = DateTime.UtcNow, CreatedBy = currentUserID, UpdatedOn = DateTime.UtcNow, UpdatedBy = currentUserID }; outputStreamMeasurementTable.AddNewRecord(outputStreamMeasurement); } } }
void ButtonAdd_Click(object sender, RoutedEventArgs e) { if (m_measurementsToBeAdded.Count > 0) { App app = (App)Application.Current; //string[] format is {Name=PointID, Tooltip=SignalReference, Tag=HistorianID} foreach (KeyValuePair <string, string[]> measurement in m_measurementsToBeAdded) { OutputStreamMeasurement outputStreamMeasurement = new OutputStreamMeasurement(); outputStreamMeasurement.NodeID = app.NodeValue; outputStreamMeasurement.AdapterID = m_sourceOutputStreamID; outputStreamMeasurement.HistorianID = string.IsNullOrEmpty(measurement.Value[2]) ? (int?)null : Convert.ToInt32(measurement.Value[2]); outputStreamMeasurement.PointID = Convert.ToInt32(measurement.Value[0]); outputStreamMeasurement.SignalReference = measurement.Value[1].Replace(measurement.Value[1].Substring(0, measurement.Value[1].LastIndexOf("-")), "<UNASSIGNED>"); m_client.SaveOutputStreamMeasurementAsync(outputStreamMeasurement, true); } SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Output Stream Measurements Added Successfully", SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); sm.ShowPopup(); m_client.GetMeasurementsForOutputStreamAsync(app.NodeValue, m_sourceOutputStreamID); } else { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Please Select Measurement(s) to Add", SystemMessage = string.Empty, UserMessageType = MessageType.Information }, ButtonType.OkOnly); sm.ShowPopup(); } }
void ListBoxOutputStreamMeasurementList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (ListBoxOutputStreamMeasurementList.SelectedIndex >= 0) { m_selectedOutputStreamMeasurement = ListBoxOutputStreamMeasurementList.SelectedItem as OutputStreamMeasurement; GridOutputStreamMeasurementDetail.DataContext = m_selectedOutputStreamMeasurement; m_inEditMode = true; m_outputStreamMeasurementID = m_selectedOutputStreamMeasurement.ID; ButtonSave.Tag = "Update"; } }
void ButtonAdd_Click(object sender, RoutedEventArgs e) { try { if (m_measurementsToBeAdded.Count > 0) { App app = (App)Application.Current; //string[] format is {Name=PointID, Tooltip=SignalReference, Tag=HistorianID} foreach (KeyValuePair <string, string[]> measurement in m_measurementsToBeAdded) { OutputStreamMeasurement outputStreamMeasurement = new OutputStreamMeasurement(); outputStreamMeasurement.NodeID = app.NodeValue; outputStreamMeasurement.AdapterID = m_sourceOutputStreamID; outputStreamMeasurement.HistorianID = string.IsNullOrEmpty(measurement.Value[2]) ? (int?)null : Convert.ToInt32(measurement.Value[2]); outputStreamMeasurement.PointID = Convert.ToInt32(measurement.Value[0]); outputStreamMeasurement.SignalReference = measurement.Value[1].Replace(measurement.Value[1].Substring(0, measurement.Value[1].LastIndexOf("-")), "<UNASSIGNED>"); CommonFunctions.SaveOutputStreamMeasurement(null, outputStreamMeasurement, true); } SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Output Stream Measurements Added Successfully", SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); GetMeasurementsForOutputStream(app.NodeValue, m_sourceOutputStreamID); } else { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Please Select Measurement(s) to Add", SystemMessage = string.Empty, UserMessageType = MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); } } catch (Exception ex) { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Failed to Add Measurements to Output Stream", SystemMessage = ex.Message, UserMessageType = MessageType.Error }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); } }
public OutputStreamMeasurementsUserControl() { InitializeComponent(); Initialize(); #if !SILVERLIGHT ButtonSave.Content = new BitmapImage(new Uri(@"images/Save.png", UriKind.Relative)); ButtonClear.Content = new BitmapImage(new Uri(@"images/Cancel.png", UriKind.Relative)); #endif m_selectedOutputStreamMeasurement = new OutputStreamMeasurement(); Loaded += new RoutedEventHandler(OutputStreamMeasurements_Loaded); ButtonSave.Click += new RoutedEventHandler(ButtonSave_Click); ButtonClear.Click += new RoutedEventHandler(ButtonClear_Click); ButtonSourceMeasurement.Click += new RoutedEventHandler(ButtonSourceMeasurement_Click); ListBoxOutputStreamMeasurementList.SelectionChanged += new SelectionChangedEventHandler(ListBoxOutputStreamMeasurementList_SelectionChanged); }
private void ButtonAddMore_Click(object sender, RoutedEventArgs e) { IEnumerable <Measurement> selectedMeasurements; ObservableCollection <Measurement> addedMeasurements; // Determine which of the selected measurements have been added to the output stream measurements selectedMeasurements = Measurement.LoadFromKeys(null, MeasurementPager.SelectedMeasurements.ToList()); addedMeasurements = new ObservableCollection <Measurement>(selectedMeasurements); // Add measurements to output stream measurements OutputStreamMeasurement.AddMeasurements(null, m_outputStreamID, addedMeasurements); m_dataContext = new OutputStreamMeasurements(m_outputStreamID, 23); this.DataContext = m_dataContext; PopupAddMore.IsOpen = false; }
public string SaveOutputStreamMeasurement(OutputStreamMeasurement outputStreamMeasurement, bool isNew) { try { return(CommonFunctions.SaveOutputStreamMeasurement(null, outputStreamMeasurement, isNew)); } catch (Exception ex) { CommonFunctions.LogException(null, "Service.SaveOutputStreamMeasurement", ex); CustomServiceFault fault = new CustomServiceFault() { UserMessage = "Failed to Save Output Stream Measurement Information", SystemMessage = ex.Message }; throw new FaultException <CustomServiceFault>(fault); } }
void ButtonAdd_Click(object sender, RoutedEventArgs e) { if (m_measurementsToBeAdded.Count > 0) { App app = (App)Application.Current; //string[] format is {Name=PointID, Tooltip=SignalReference, Tag=HistorianID} foreach (KeyValuePair<string, string[]> measurement in m_measurementsToBeAdded) { OutputStreamMeasurement outputStreamMeasurement = new OutputStreamMeasurement(); outputStreamMeasurement.NodeID = app.NodeValue; outputStreamMeasurement.AdapterID = m_sourceOutputStreamID; outputStreamMeasurement.HistorianID = string.IsNullOrEmpty(measurement.Value[2]) ? (int?)null : Convert.ToInt32(measurement.Value[2]); outputStreamMeasurement.PointID = Convert.ToInt32(measurement.Value[0]); outputStreamMeasurement.SignalReference = measurement.Value[1].Replace(measurement.Value[1].Substring(0, measurement.Value[1].LastIndexOf("-")), "<UNASSIGNED>"); m_client.SaveOutputStreamMeasurementAsync(outputStreamMeasurement, true); } SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Output Stream Measurements Added Successfully", SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); sm.ShowPopup(); m_client.GetMeasurementsForOutputStreamAsync(app.NodeValue, m_sourceOutputStreamID); } else { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Please Select Measurement(s) to Add", SystemMessage = string.Empty, UserMessageType = MessageType.Information }, ButtonType.OkOnly); sm.ShowPopup(); } }
void ButtonAdd_Click(object sender, RoutedEventArgs e) { try { if (m_measurementsToBeAdded.Count > 0) { App app = (App)Application.Current; //string[] format is {Name=PointID, Tooltip=SignalReference, Tag=HistorianID} foreach (KeyValuePair<string, string[]> measurement in m_measurementsToBeAdded) { OutputStreamMeasurement outputStreamMeasurement = new OutputStreamMeasurement(); outputStreamMeasurement.NodeID = app.NodeValue; outputStreamMeasurement.AdapterID = m_sourceOutputStreamID; outputStreamMeasurement.HistorianID = string.IsNullOrEmpty(measurement.Value[2]) ? (int?)null : Convert.ToInt32(measurement.Value[2]); outputStreamMeasurement.PointID = Convert.ToInt32(measurement.Value[0]); outputStreamMeasurement.SignalReference = measurement.Value[1].Replace(measurement.Value[1].Substring(0, measurement.Value[1].LastIndexOf("-")), "<UNASSIGNED>"); CommonFunctions.SaveOutputStreamMeasurement(null, outputStreamMeasurement, true); } SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Output Stream Measurements Added Successfully", SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); GetMeasurementsForOutputStream(app.NodeValue, m_sourceOutputStreamID); } else { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Please Select Measurement(s) to Add", SystemMessage = string.Empty, UserMessageType = MessageType.Information }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); } } catch (Exception ex) { SystemMessages sm = new SystemMessages(new Message() { UserMessage = "Failed to Add Measurements to Output Stream", SystemMessage = ex.Message, UserMessageType = MessageType.Error }, ButtonType.OkOnly); sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sm.ShowPopup(); } }
public static string AddDevices(DataConnection connection, int outputStreamID, Dictionary<int, string> devicesToBeAdded, bool addDigitals, bool addAnalogs) { bool createdConnection = false; try { if (connection == null) { connection = new DataConnection(); createdConnection = true; } foreach (KeyValuePair<int, string> deviceInfo in devicesToBeAdded) //loop through all the devices that needs to be added. { Device device = new Device(); device = GetDeviceByDeviceID(connection, deviceInfo.Key); //Get all the information about the device to be added. OutputStreamDevice outputStreamDevice = new OutputStreamDevice(); outputStreamDevice.NodeID = device.NodeID; outputStreamDevice.AdapterID = outputStreamID; outputStreamDevice.Acronym = device.Acronym; outputStreamDevice.BpaAcronym = string.Empty; outputStreamDevice.Name = device.Name; outputStreamDevice.LoadOrder = device.LoadOrder; outputStreamDevice.Enabled = true; outputStreamDevice.PhasorDataFormat = string.Empty; outputStreamDevice.FrequencyDataFormat = string.Empty; outputStreamDevice.AnalogDataFormat = string.Empty; outputStreamDevice.CoordinateFormat = string.Empty; outputStreamDevice.IdCode = device.AccessID; SaveOutputStreamDevice(connection, outputStreamDevice, true, string.Empty); //save in to OutputStreamDevice Table. int savedOutputStreamDeviceID = GetOutputStreamDevice(connection, outputStreamID, device.Acronym).ID; //******************************************** List<Phasor> phasorList = new List<Phasor>(); phasorList = GetPhasorList(connection, deviceInfo.Key); //Get all the phasor information for the device to be added. foreach (Phasor phasor in phasorList) { OutputStreamDevicePhasor outputStreamDevicePhasor = new OutputStreamDevicePhasor(); //Add all phasors one by one into OutputStreamDevicePhasor table. outputStreamDevicePhasor.NodeID = device.NodeID; outputStreamDevicePhasor.OutputStreamDeviceID = savedOutputStreamDeviceID; outputStreamDevicePhasor.Label = phasor.Label; outputStreamDevicePhasor.Type = phasor.Type; outputStreamDevicePhasor.Phase = phasor.Phase; outputStreamDevicePhasor.LoadOrder = phasor.SourceIndex; outputStreamDevicePhasor.ScalingValue = 0; SaveOutputStreamDevicePhasor(connection, outputStreamDevicePhasor, true); } //******************************************** //******************************************** List<Measurement> measurementList = new List<Measurement>(); measurementList = GetMeasurementsByDevice(connection, deviceInfo.Key); int analogIndex = 0; foreach (Measurement measurement in measurementList) { if (measurement.SignalAcronym != "STAT") { OutputStreamMeasurement outputStreamMeasurement = new OutputStreamMeasurement(); outputStreamMeasurement.NodeID = device.NodeID; outputStreamMeasurement.AdapterID = outputStreamID; outputStreamMeasurement.HistorianID = measurement.HistorianID; outputStreamMeasurement.PointID = measurement.PointID; outputStreamMeasurement.SignalReference = measurement.SignalReference; if (measurement.SignalAcronym == "ALOG") { if (addAnalogs) { SaveOutputStreamMeasurement(connection, outputStreamMeasurement, true); OutputStreamDeviceAnalog outputStreamDeviceAnalog = new OutputStreamDeviceAnalog(); outputStreamDeviceAnalog.NodeID = device.NodeID; outputStreamDeviceAnalog.OutputStreamDeviceID = savedOutputStreamDeviceID; outputStreamDeviceAnalog.Label = device.Acronym.Length > 12 ? device.Acronym.Substring(0, 12) + ":A" + analogIndex.ToString() : device.Acronym + ":A" + analogIndex.ToString(); // measurement.PointTag; outputStreamDeviceAnalog.Type = 0; //default outputStreamDeviceAnalog.LoadOrder = Convert.ToInt32(measurement.SignalReference.Substring((measurement.SignalReference.LastIndexOf("-") + 3))); outputStreamDeviceAnalog.ScalingValue = 0; SaveOutputStreamDeviceAnalog(connection, outputStreamDeviceAnalog, true); analogIndex += 1; } } else if (measurement.SignalAcronym == "DIGI") { if (addDigitals) { SaveOutputStreamMeasurement(connection, outputStreamMeasurement, true); OutputStreamDeviceDigital outputStreamDeviceDigital = new OutputStreamDeviceDigital(); outputStreamDeviceDigital.NodeID = device.NodeID; outputStreamDeviceDigital.OutputStreamDeviceID = savedOutputStreamDeviceID; outputStreamDeviceDigital.Label = digitalLabel; // measurement.PointTag; outputStreamDeviceDigital.LoadOrder = Convert.ToInt32(measurement.SignalReference.Substring((measurement.SignalReference.LastIndexOf("-") + 3))); outputStreamDeviceDigital.MaskValue = 0; SaveOutputStreamDeviceDigital(connection, outputStreamDeviceDigital, true); } } else SaveOutputStreamMeasurement(connection, outputStreamMeasurement, true); } } //******************************************** } return "Output Stream Device(s) Added Successfully"; } finally { if (createdConnection && connection != null) connection.Dispose(); } }
public static string SaveOutputStreamMeasurement(DataConnection connection, OutputStreamMeasurement outputStreamMeasurement, bool isNew) { //DataConnection connection = new DataConnection(); bool createdConnection = false; try { if (connection == null) { connection = new DataConnection(); createdConnection = true; } IDbCommand command = connection.Connection.CreateCommand(); command.CommandType = CommandType.Text; if (isNew) command.CommandText = "Insert Into OutputStreamMeasurement (NodeID, AdapterID, HistorianID, PointID, SignalReference, UpdatedBy, UpdatedOn, CreatedBy, CreatedOn) " + "Values (@nodeID, @adapterID, @historianID, @pointID, @signalReference, @updatedBy, @updatedOn, @createdBy, @createdOn)"; else command.CommandText = "Update OutputStreamMeasurement Set NodeID = @nodeID, AdapterID = @adapterID, HistorianID = @historianID, " + "PointID = @pointID, SignalReference = @signalReference, UpdatedBy = @updatedBy, UpdatedOn = @updatedOn WHERE ID = @id"; command.Parameters.Add(AddWithValue(command, "@nodeID", outputStreamMeasurement.NodeID)); command.Parameters.Add(AddWithValue(command, "@adapterID", outputStreamMeasurement.AdapterID)); command.Parameters.Add(AddWithValue(command, "@historianID", outputStreamMeasurement.HistorianID ?? (object)DBNull.Value)); command.Parameters.Add(AddWithValue(command, "@pointID", outputStreamMeasurement.PointID)); command.Parameters.Add(AddWithValue(command, "@signalReference", outputStreamMeasurement.SignalReference)); command.Parameters.Add(AddWithValue(command, "@updatedBy", s_currentUser)); command.Parameters.Add(AddWithValue(command, "@updatedOn", command.Connection.ConnectionString.Contains("Microsoft.Jet.OLEDB") ? DateTime.UtcNow.Date : DateTime.UtcNow)); if (isNew) { command.Parameters.Add(AddWithValue(command, "@createdBy", s_currentUser)); command.Parameters.Add(AddWithValue(command, "@createdOn", command.Connection.ConnectionString.Contains("Microsoft.Jet.OLEDB") ? DateTime.UtcNow.Date : DateTime.UtcNow)); } else { command.Parameters.Add(AddWithValue(command, "@id", outputStreamMeasurement.ID)); } command.ExecuteNonQuery(); return "Output Stream Measurement Information Saved Successfully"; } finally { if (createdConnection && connection != null) connection.Dispose(); } }