void ButtonSave_Click(object sender, RoutedEventArgs e) { #if SILVERLIGHT Storyboard sb = new Storyboard(); sb = Application.Current.Resources["ButtonPressAnimation"] as Storyboard; sb.Completed += new EventHandler(delegate(object obj, EventArgs es) { sb.Stop(); }); Storyboard.SetTarget(sb, ButtonSaveTransform); sb.Begin(); #endif if (IsValid()) { OutputStreamDeviceDigital outputStreamDeviceDigital = new OutputStreamDeviceDigital(); App app = (App)Application.Current; outputStreamDeviceDigital.NodeID = app.NodeValue; outputStreamDeviceDigital.OutputStreamDeviceID = m_sourceOutputStreamDeviceID; outputStreamDeviceDigital.Label = TextBoxLabel.Text.CleanText(); outputStreamDeviceDigital.LoadOrder = TextBoxLoadOrder.Text.ToInteger(); outputStreamDeviceDigital.MaskValue = TextBoxMaskValue.Text.ToInteger(); if (m_inEditMode == true && m_outputStreamDeviceDigitalID > 0) { outputStreamDeviceDigital.ID = m_outputStreamDeviceDigitalID; SaveOutputStreamDeviceDigital(outputStreamDeviceDigital, false); } else SaveOutputStreamDeviceDigital(outputStreamDeviceDigital, true); } }
public static string SaveOutputStreamDeviceDigital(DataConnection connection, OutputStreamDeviceDigital outputStreamDeviceDigital, 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 OutputStreamDeviceDigital (NodeID, OutputStreamDeviceID, Label, LoadOrder, MaskValue, UpdatedBy, UpdatedOn, CreatedBy, CreatedOn) " + "Values (@nodeID, @outputStreamDeviceID, @label, @loadOrder, @maskValue, @updatedBy, @updatedOn, @createdBy, @createdOn)"; else command.CommandText = "Update OutputStreamDeviceDigital Set NodeID = @nodeID, OutputStreamDeviceID = @outputStreamDeviceID, Label = @label, " + "LoadOrder = @loadOrder, MaskValue = @maskValue, UpdatedBy = @updatedBy, UpdatedOn = @updatedOn Where ID = @id"; command.Parameters.Add(AddWithValue(command, "@nodeID", outputStreamDeviceDigital.NodeID)); command.Parameters.Add(AddWithValue(command, "@outputStreamDeviceID", outputStreamDeviceDigital.OutputStreamDeviceID)); command.Parameters.Add(AddWithValue(command, "@label", outputStreamDeviceDigital.Label)); command.Parameters.Add(AddWithValue(command, "@loadOrder", outputStreamDeviceDigital.LoadOrder)); command.Parameters.Add(AddWithValue(command, "@maskValue", outputStreamDeviceDigital.MaskValue)); 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", outputStreamDeviceDigital.ID)); } command.ExecuteNonQuery(); return "Output Stream Device Digital Information Saved Successfully"; } finally { if (createdConnection && connection != null) connection.Dispose(); } }
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(); } }
void SaveOutputStreamDeviceDigital(OutputStreamDeviceDigital outputStreamDeviceDigital, bool isNew) { SystemMessages sm; try { string result = CommonFunctions.SaveOutputStreamDeviceDigital(null, outputStreamDeviceDigital, isNew); sm = new SystemMessages(new Message() { UserMessage = result, SystemMessage = string.Empty, UserMessageType = MessageType.Success }, ButtonType.OkOnly); GetOutputStreamDeviceDigitalList(); //ClearForm(); ListBoxOutputStreamDeviceDigitalList.SelectedItem = ((List<OutputStreamDeviceDigital>)ListBoxOutputStreamDeviceDigitalList.ItemsSource).Find(c => c.Label == outputStreamDeviceDigital.Label); } catch (Exception ex) { CommonFunctions.LogException(null, "WPF.SaveOutputStreamDeviceDigital", ex); sm = new SystemMessages(new Message() { UserMessage = "Failed to Save Output Stream Device Digital Information", SystemMessage = ex.Message, UserMessageType = MessageType.Error }, ButtonType.OkOnly); } sm.Owner = Window.GetWindow(this); sm.WindowStartupLocation = WindowStartupLocation.CenterOwner; sm.ShowPopup(); }