/// <summary>
/// Saves the test data.
/// </summary>
private void SaveData(TestData testData)
{
m_currentDataSet.DataSetName = HistorianCB.SelectedItem as string;
m_currentDataSet.AggregateName = AggregateCB.SelectedItem as string;
m_currentDataSet.PercentBad = (byte)PercentBadNP.Value;
m_currentDataSet.PercentGood = (byte)PercentGoodNP.Value;
m_currentDataSet.ProcessingInterval = (uint)ProcessingIntervalNP.Value;
m_currentDataSet.Stepped = SteppedCK.Checked;
m_currentDataSet.TreatUncertainAsBad = TreatUncertainAsBadCK.Checked;
m_currentDataSet.UseSlopedExtrapolation = UseSlopedExtrapolationCK.Checked;
m_currentDataSet.Name = TestData.GetName(m_currentDataSet);
ResetRowState();
List<TestData.DataValue> values = new List<TestData.DataValue>();
DataView view = new DataView(m_dataset.Tables[0], "RowState = 'OK'", "Timestamp", DataViewRowState.CurrentRows);
foreach (DataRowView row in view)
{
TestData.DataValue dv = new TestData.DataValue();
dv.WrappedValue = TestData.ValidateValue(row[3]);
dv.StatusCode = TestData.ValidateQuality(row[4]);
dv.SourceTimestamp = TestData.ValidateTimestamp(row[0]);
string comment = row[8] as string;
if (!String.IsNullOrEmpty(comment))
{
dv.Comment = comment;
}
values.Add(dv);
}
testData.SetProcessedValues(m_currentDataSet, values);
if (Object.ReferenceEquals(TestNameCB.SelectedItem, m_currentDataSet))
{
int index = TestNameCB.SelectedIndex;
TestNameCB.Items.RemoveAt(index);
TestNameCB.Items.Insert(index, m_currentDataSet);
TestNameCB.SelectedIndex = index;
}
}