public void ProcessSignal( SignalRequirementsSignalRequirement signalRequirement )
{
InstrumentDAO dao = new InstrumentDAO();
List<Tuple<string, object, string>> attributes = new List<Tuple<string, object, string>>();
foreach (SignalRequirementsSignalRequirementTsfClassAttribute attribute in signalRequirement.TsfClassAttribute)
{
TsfClassAttributeName name = attribute.Name;
if (attribute.Value != null)
{
if (attribute.Value.Item is DatumType)
{
DatumType datum = attribute.Value.Item as DatumType;
Object value = Datum.GetNominalDatumValue(datum);
if (value != null)
{
attributes.Add(new Tuple<string, object, string>(name.Value, value, datum.unitQualifier));
}
}
}
}
lvInstruments.BeginUpdate();
try
{
foreach (ListViewItem lvi in lvInstruments.Items)
lvi.BackColor = Color.White;
ICollection<object> ids = dao.FindCapableEquipment(attributes);
foreach (ListViewItem lvi in lvInstruments.Items)
{
var testStationInstrumentData = lvi.Tag as TestStationInstrumentData;
if (testStationInstrumentData != null)
{
var instrument = testStationInstrumentData.InstrumentDescription;
if (instrument != null)
{
foreach (var id in ids)
{
if (id.Equals( instrument.uuid ))
lvi.BackColor = Color.PaleGreen;
}
}
}
}
}
catch (Exception e2)
{
LogManager.Debug("Error In TSF Class: {0}", signalRequirement.TsfClass.tsfClassName);
foreach (Tuple<string, object, string> tuple in attributes)
{
LogManager.Debug(" {0} = {1} {2}", tuple.Item1, tuple.Item2, tuple.Item3);
}
}
lvInstruments.EndUpdate();
}