2020-03-05 12:59:43 +00:00
|
|
|
|
///
|
|
|
|
|
|
/// Copyright (c) 2020 Sensus Slovensko a.s.
|
|
|
|
|
|
///
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Xml.Serialization;
|
|
|
|
|
|
using Config.Entities;
|
|
|
|
|
|
using TBF.BenchControl.Generic;
|
|
|
|
|
|
using TBF.Resources;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
namespace TBF.BenchControl.Output.EventTriggers.Standard
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Serializable configuration of Output.EventTriggers.Standard component.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public class TriggerCfg : ComponentCfgBase, Generic.IComponentCfg, Config.Entities.IParamsProvider
|
|
|
|
|
|
{
|
|
|
|
|
|
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(TriggerCfg) })[0];
|
|
|
|
|
|
public override XmlSerializer GetSerializer() { return Serializer; }
|
|
|
|
|
|
|
|
|
|
|
|
public IComponentCfgCtrl GetControl() { return new Configs.ParamsProvider.ComponentCfgCtrl(this, null); }
|
|
|
|
|
|
|
|
|
|
|
|
///
|
|
|
|
|
|
/// Serialized parameters
|
|
|
|
|
|
///
|
|
|
|
|
|
public string EventSource;
|
2020-05-04 11:58:57 +00:00
|
|
|
|
public int FailedWMsPct; /// 0 = off, 1..100% event is triggered when percentage reaches this level
|
2020-03-05 12:59:43 +00:00
|
|
|
|
public string Mid1Name;
|
2020-05-04 11:58:57 +00:00
|
|
|
|
public double Mid1ErrAfterCorr; /// [%] Event triggered when rel. error of MID1 against a scale after a correction reached this level
|
|
|
|
|
|
public double Mid1Err; /// [%] Event triggered when rel. error of MID1 against a scale reached this level
|
|
|
|
|
|
public string Mid2Name;
|
|
|
|
|
|
public double Mid2ErrAfterCorr; /// [%] Event triggered when rel. error of MID2 against a scale after a correction reached this level
|
|
|
|
|
|
public double Mid2Err; /// [%] Event triggered when rel. error of MID2 against a scale reached this level
|
|
|
|
|
|
public string Mid3Name;
|
|
|
|
|
|
public double Mid3ErrAfterCorr; /// [%] Event triggered when rel. error of MID3 against a scale after a correction reached this level
|
|
|
|
|
|
public double Mid3Err; /// [%] Event triggered when rel. error of MID3 against a scale reached this level
|
|
|
|
|
|
public string Mid4Name;
|
|
|
|
|
|
public double Mid4ErrAfterCorr; /// [%] Event triggered when rel. error of MID4 against a scale after a correction reached this level
|
|
|
|
|
|
public double Mid4Err; /// [%] Event triggered when rel. error of MID4 against a scale reached this level
|
|
|
|
|
|
public string Mid5Name;
|
|
|
|
|
|
public double Mid5ErrAfterCorr; /// [%] Event triggered when rel. error of MID5 against a scale after a correction reached this level
|
|
|
|
|
|
public double Mid5Err; /// [%] Event triggered when rel. error of MID5 against a scale reached this level
|
2020-03-05 12:59:43 +00:00
|
|
|
|
public bool E1;
|
|
|
|
|
|
public bool E2;
|
|
|
|
|
|
public bool E3;
|
|
|
|
|
|
public bool E4;
|
|
|
|
|
|
public bool E5;
|
|
|
|
|
|
public bool E6;
|
|
|
|
|
|
public bool E7;
|
|
|
|
|
|
public bool E8;
|
|
|
|
|
|
public bool E9;
|
|
|
|
|
|
public bool E10;
|
|
|
|
|
|
public bool E11;
|
|
|
|
|
|
public bool E12;
|
|
|
|
|
|
public bool E13;
|
|
|
|
|
|
public bool E14;
|
|
|
|
|
|
public bool E15;
|
|
|
|
|
|
public bool E16;
|
|
|
|
|
|
public bool E21;
|
|
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
|
|
|
|
|
public bool E26;
|
|
|
|
|
|
public bool E27;
|
|
|
|
|
|
public bool E28;
|
|
|
|
|
|
#endif
|
2020-05-06 10:41:42 +00:00
|
|
|
|
public bool E36;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
|
2020-05-04 11:58:57 +00:00
|
|
|
|
/// Private parameterless constructor invoked by all other (public) constructors
|
2020-03-05 12:59:43 +00:00
|
|
|
|
TriggerCfg() {}
|
|
|
|
|
|
|
|
|
|
|
|
public TriggerCfg(string name, IComponentFactory factory)
|
|
|
|
|
|
: this()
|
|
|
|
|
|
{
|
|
|
|
|
|
Name = name;
|
|
|
|
|
|
Factory = factory;
|
|
|
|
|
|
ParentName = string.Empty;
|
|
|
|
|
|
InitializeAll();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ComponentName { get { return Name; } }
|
|
|
|
|
|
|
|
|
|
|
|
public void InitializeAll()
|
|
|
|
|
|
{
|
2020-05-06 10:41:42 +00:00
|
|
|
|
EventSource = "Výsledky"; /// 0
|
2020-05-04 11:58:57 +00:00
|
|
|
|
FailedWMsPct = 20; /// 1
|
|
|
|
|
|
Mid1Name = "I1"; /// 2
|
|
|
|
|
|
Mid1ErrAfterCorr = 0.3; /// 3
|
|
|
|
|
|
Mid1Err = 0.6; /// 4
|
|
|
|
|
|
Mid2Name = "I2"; /// 5
|
|
|
|
|
|
Mid2ErrAfterCorr = 0.3; /// 6
|
|
|
|
|
|
Mid2Err = 0.6; /// 7
|
|
|
|
|
|
Mid3Name = "I3"; /// 8
|
|
|
|
|
|
Mid3ErrAfterCorr = 0.3; /// 9
|
|
|
|
|
|
Mid3Err = 0.6; /// 10
|
|
|
|
|
|
Mid4Name = ""; /// 11
|
|
|
|
|
|
Mid4ErrAfterCorr = 0.3; /// 12
|
|
|
|
|
|
Mid4Err = 0.6; /// 13
|
|
|
|
|
|
Mid5Name = ""; /// 14
|
|
|
|
|
|
Mid5ErrAfterCorr = 0.3; /// 15
|
|
|
|
|
|
Mid5Err = 0.6; /// 16
|
|
|
|
|
|
E1 = false; /// 17
|
|
|
|
|
|
E2 = false; /// 18
|
|
|
|
|
|
E3 = false; /// 19
|
|
|
|
|
|
E4 = false; /// 20
|
|
|
|
|
|
E5 = false; /// 21
|
|
|
|
|
|
E6 = false; /// 22
|
|
|
|
|
|
E7 = false; /// 23
|
|
|
|
|
|
E8 = false; /// 24
|
|
|
|
|
|
E9 = false; /// 25
|
|
|
|
|
|
E10 = false; /// 26
|
|
|
|
|
|
E11 = false; /// 27
|
|
|
|
|
|
E12 = false; /// 28
|
|
|
|
|
|
E13 = false; /// 29
|
|
|
|
|
|
E14 = false; /// 30
|
|
|
|
|
|
E15 = false; /// 31
|
|
|
|
|
|
E16 = false; /// 32
|
|
|
|
|
|
E21 = false; /// 33
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
2020-05-06 10:41:42 +00:00
|
|
|
|
E26 = false; /// 34
|
|
|
|
|
|
E27 = false; /// 35
|
|
|
|
|
|
E28 = false; /// 36
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
2020-05-06 10:41:42 +00:00
|
|
|
|
E36 = true; /// 34 or 37
|
2020-03-05 12:59:43 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
string[] paramNames = new string[]
|
|
|
|
|
|
{
|
2020-05-04 11:58:57 +00:00
|
|
|
|
"Event source", /// 0
|
|
|
|
|
|
"Percentage of failed meters", /// 1
|
|
|
|
|
|
"MID 1 name", /// 2
|
|
|
|
|
|
"MID 1 rel.err.after corr.", /// 3
|
|
|
|
|
|
"MID 1 rel.error", /// 4
|
|
|
|
|
|
"MID 2 name", /// 5
|
|
|
|
|
|
"MID 2 rel.err.after corr.", /// 6
|
|
|
|
|
|
"MID 2 rel.error", /// 7
|
|
|
|
|
|
"MID 3 name", /// 8
|
|
|
|
|
|
"MID 3 rel.err.after corr.", /// 9
|
|
|
|
|
|
"MID 3 rel.error", /// 10
|
|
|
|
|
|
"MID 4 name", /// 11
|
|
|
|
|
|
"MID 4 rel.err.after corr.", /// 12
|
|
|
|
|
|
"MID 4 rel.error", /// 13
|
|
|
|
|
|
"MID 5 name", /// 14
|
|
|
|
|
|
"MID 5 rel.err.after corr.", /// 15
|
|
|
|
|
|
"MID 5 rel.error", /// 16
|
|
|
|
|
|
"E1", /// 17
|
|
|
|
|
|
"E2", /// 18
|
|
|
|
|
|
"E3", /// 19
|
|
|
|
|
|
"E4", /// 20
|
|
|
|
|
|
"E5", /// 21
|
|
|
|
|
|
"E6", /// 22
|
|
|
|
|
|
"E7", /// 23
|
|
|
|
|
|
"E8", /// 24
|
|
|
|
|
|
"E9", /// 25
|
|
|
|
|
|
"E10", /// 26
|
|
|
|
|
|
"E11", /// 27
|
|
|
|
|
|
"E12", /// 28
|
|
|
|
|
|
"E13", /// 29
|
|
|
|
|
|
"E14", /// 30
|
|
|
|
|
|
"E15", /// 31
|
|
|
|
|
|
"E16", /// 32
|
|
|
|
|
|
"E21", /// 33
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
2020-05-06 10:41:42 +00:00
|
|
|
|
"E26", /// 34
|
|
|
|
|
|
"E27", /// 35
|
|
|
|
|
|
"E28", /// 36
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
2020-05-06 10:41:42 +00:00
|
|
|
|
"E36", /// 34 or 37
|
2020-03-05 12:59:43 +00:00
|
|
|
|
};
|
|
|
|
|
|
public string ParamName(int i) { return paramNames[i]; }
|
|
|
|
|
|
public int ParamsCount() { return paramNames.Length; }
|
|
|
|
|
|
|
|
|
|
|
|
public IList<string> ParamValues(int i)
|
|
|
|
|
|
{
|
|
|
|
|
|
IList<string> listOfValues = new List<string>();
|
|
|
|
|
|
if (i >= 12)
|
|
|
|
|
|
{
|
|
|
|
|
|
listOfValues.Add(Strings.yes);
|
|
|
|
|
|
listOfValues.Add(Strings.no);
|
|
|
|
|
|
return listOfValues;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public string ToString(int i)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (i)
|
|
|
|
|
|
{
|
|
|
|
|
|
case -1: return string.Format("Name={0}, EventSource={1}, FailedWMsPct={2}, ...", Name, EventSource, FailedWMsPct);
|
|
|
|
|
|
case 0: return EventSource;
|
|
|
|
|
|
case 1: return FailedWMsPct.ToString();
|
|
|
|
|
|
case 2: return Mid1Name;
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 3: return Mid1ErrAfterCorr.ToString();
|
|
|
|
|
|
case 4: return Mid1Err.ToString();
|
|
|
|
|
|
case 5: return Mid2Name;
|
|
|
|
|
|
case 6: return Mid2ErrAfterCorr.ToString();
|
|
|
|
|
|
case 7: return Mid2Err.ToString();
|
|
|
|
|
|
case 8: return Mid3Name;
|
|
|
|
|
|
case 9: return Mid3ErrAfterCorr.ToString();
|
|
|
|
|
|
case 10: return Mid3Err.ToString();
|
|
|
|
|
|
case 11: return Mid4Name;
|
|
|
|
|
|
case 12: return Mid4ErrAfterCorr.ToString();
|
|
|
|
|
|
case 13: return Mid4Err.ToString();
|
|
|
|
|
|
case 14: return Mid5Name;
|
|
|
|
|
|
case 15: return Mid5ErrAfterCorr.ToString();
|
|
|
|
|
|
case 16: return Mid5Err.ToString();
|
|
|
|
|
|
case 17: return E1 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 18: return E2 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 19: return E3 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 20: return E4 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 21: return E5 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 22: return E6 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 23: return E7 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 24: return E8 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 25: return E9 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 26: return E10 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 27: return E11 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 28: return E12 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 29: return E13 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 30: return E14 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 31: return E15 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 32: return E16 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 33: return E21 ? Strings.yes : Strings.no;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
2020-05-06 10:41:42 +00:00
|
|
|
|
case 34: return E26 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 35: return E27 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 36: return E28 ? Strings.yes : Strings.no;
|
|
|
|
|
|
case 37: return E36 ? Strings.yes : Strings.no;
|
|
|
|
|
|
#else
|
|
|
|
|
|
case 34: return E36 ? Strings.yes : Strings.no;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
default: return string.Empty;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public CfgUpdateFlags UpdateParam(int i, string strValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (i)
|
|
|
|
|
|
{
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 0: EventSource = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 1: FailedWMsPct = int.Parse(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 2: Mid1Name = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 3: Mid1ErrAfterCorr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 4: Mid1Err = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 5: Mid2Name = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 6: Mid2ErrAfterCorr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 7: Mid2Err = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 8: Mid3Name = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 9: Mid3ErrAfterCorr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 10: Mid3Err = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 11: Mid4Name = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 12: Mid4ErrAfterCorr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 13: Mid4Err = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 14: Mid5Name = strValue; return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 15: Mid5ErrAfterCorr = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 16: Mid5Err = Utils.ParseUDouble(strValue); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 17: E1 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 18: E2 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 19: E3 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 20: E4 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 21: E5 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 22: E6 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 23: E7 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 24: E8 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 25: E9 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 26: E10 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 27: E11 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 28: E12 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 29: E12 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 30: E14 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 31: E15 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 32: E16 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 33: E21 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
2020-05-06 10:41:42 +00:00
|
|
|
|
case 34: E26 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 35: E27 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 36: E28 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
case 37: E36 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
|
|
|
|
|
#else
|
|
|
|
|
|
case 34: E36 = (strValue == Strings.yes); return CfgUpdateFlags.AnyChange;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
default: return CfgUpdateFlags.None;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Validate string form of a parameter value
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="i">Parameter index</param>
|
|
|
|
|
|
/// <param name="strValue">String form of a parameter</param>
|
|
|
|
|
|
/// <param name="message">Message in case value is not valid</param>
|
|
|
|
|
|
/// <returns>true when string form of a parameter is OK</returns>
|
|
|
|
|
|
public bool ValidateParam(int i, string strValue, out string message)
|
|
|
|
|
|
{
|
|
|
|
|
|
message = string.Empty;
|
|
|
|
|
|
int percentage;
|
|
|
|
|
|
double relError;
|
|
|
|
|
|
|
|
|
|
|
|
switch (i)
|
|
|
|
|
|
{
|
|
|
|
|
|
case 0:
|
|
|
|
|
|
case 2:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 5:
|
2020-03-05 12:59:43 +00:00
|
|
|
|
case 8:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 11:
|
|
|
|
|
|
case 14:
|
2020-03-05 12:59:43 +00:00
|
|
|
|
return true;
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
if (int.TryParse(strValue, out percentage) && (0 <= percentage) && (percentage <= 100)) return true;
|
|
|
|
|
|
message = "Percentage of failed meters is invalid, should be 1..100, 0 = off";
|
|
|
|
|
|
return false;
|
|
|
|
|
|
case 3:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 4:
|
|
|
|
|
|
case 6:
|
2020-03-05 12:59:43 +00:00
|
|
|
|
case 7:
|
|
|
|
|
|
case 9:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 10:
|
2020-03-05 12:59:43 +00:00
|
|
|
|
case 12:
|
|
|
|
|
|
case 13:
|
|
|
|
|
|
case 15:
|
|
|
|
|
|
case 16:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
if (Utils.TryParseUDouble(strValue, out relError)) return true;
|
|
|
|
|
|
message = "relative error of MID is invalid or less then 0";
|
|
|
|
|
|
return false;
|
2020-03-05 12:59:43 +00:00
|
|
|
|
case 17:
|
|
|
|
|
|
case 18:
|
|
|
|
|
|
case 19:
|
|
|
|
|
|
case 20:
|
|
|
|
|
|
case 21:
|
|
|
|
|
|
case 22:
|
|
|
|
|
|
case 23:
|
|
|
|
|
|
case 24:
|
|
|
|
|
|
case 25:
|
|
|
|
|
|
case 26:
|
|
|
|
|
|
case 27:
|
|
|
|
|
|
case 28:
|
|
|
|
|
|
case 29:
|
|
|
|
|
|
case 30:
|
|
|
|
|
|
case 31:
|
2020-05-04 11:58:57 +00:00
|
|
|
|
case 32:
|
|
|
|
|
|
case 33:
|
|
|
|
|
|
case 34:
|
|
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
|
|
|
|
|
case 35:
|
|
|
|
|
|
case 36:
|
|
|
|
|
|
case 37:
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
|
|
|
|
|
if (strValue == Strings.yes || strValue == Strings.no) return true;
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
|
message = "Invalid index";
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
message = ParamName(i) + " is invalid";
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void CopyContentTo(TriggerCfg prms)
|
|
|
|
|
|
{
|
2020-05-04 11:58:57 +00:00
|
|
|
|
prms.EventSource = this.EventSource; /// 0
|
|
|
|
|
|
prms.FailedWMsPct = this.FailedWMsPct; /// 1
|
|
|
|
|
|
prms.Mid1Name = this.Mid1Name; /// 2
|
|
|
|
|
|
prms.Mid1ErrAfterCorr = this.Mid1ErrAfterCorr; /// 3
|
|
|
|
|
|
prms.Mid1Err = this.Mid1Err; /// 4
|
|
|
|
|
|
prms.Mid2Name = this.Mid2Name; /// 5
|
|
|
|
|
|
prms.Mid2ErrAfterCorr = this.Mid2ErrAfterCorr; /// 6
|
|
|
|
|
|
prms.Mid2Err = this.Mid2Err; /// 7
|
|
|
|
|
|
prms.Mid3Name = this.Mid3Name; /// 8
|
|
|
|
|
|
prms.Mid3ErrAfterCorr = this.Mid3ErrAfterCorr; /// 9
|
|
|
|
|
|
prms.Mid3Err = this.Mid3Err; /// 10
|
|
|
|
|
|
prms.Mid4Name = this.Mid4Name; /// 11
|
|
|
|
|
|
prms.Mid4ErrAfterCorr = this.Mid4ErrAfterCorr; /// 12
|
|
|
|
|
|
prms.Mid4Err = this.Mid4Err; /// 13
|
|
|
|
|
|
prms.Mid5Name = this.Mid5Name; /// 14
|
|
|
|
|
|
prms.Mid5ErrAfterCorr = this.Mid5ErrAfterCorr; /// 15
|
|
|
|
|
|
prms.Mid5Err = this.Mid5Err; /// 16
|
|
|
|
|
|
prms.E1 = this.E1; /// 17
|
|
|
|
|
|
prms.E2 = this.E2; /// 18
|
|
|
|
|
|
prms.E3 = this.E3; /// 19
|
|
|
|
|
|
prms.E4 = this.E4; /// 20
|
|
|
|
|
|
prms.E5 = this.E5; /// 21
|
|
|
|
|
|
prms.E6 = this.E6; /// 22
|
|
|
|
|
|
prms.E7 = this.E7; /// 23
|
|
|
|
|
|
prms.E8 = this.E8; /// 24
|
|
|
|
|
|
prms.E9 = this.E9; /// 25
|
|
|
|
|
|
prms.E10 = this.E10; /// 26
|
|
|
|
|
|
prms.E11 = this.E11; /// 27
|
|
|
|
|
|
prms.E12 = this.E12; /// 28
|
|
|
|
|
|
prms.E13 = this.E13; /// 29
|
|
|
|
|
|
prms.E14 = this.E14; /// 30
|
|
|
|
|
|
prms.E15 = this.E15; /// 31
|
|
|
|
|
|
prms.E16 = this.E16; /// 32
|
|
|
|
|
|
prms.E21 = this.E21; /// 33
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#if TURA_IPERL || TURA_SPECIAL
|
2020-05-06 10:41:42 +00:00
|
|
|
|
prms.E26 = this.E26; /// 34
|
|
|
|
|
|
prms.E27 = this.E27; /// 35
|
|
|
|
|
|
prms.E28 = this.E28; /// 36
|
2020-03-05 12:59:43 +00:00
|
|
|
|
#endif
|
2020-05-06 10:41:42 +00:00
|
|
|
|
prms.E36 = this.E36; /// 34 or 37
|
2020-03-05 12:59:43 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Config.Entities.IParamsProvider Clone()
|
|
|
|
|
|
{
|
|
|
|
|
|
TriggerCfg pars = new TriggerCfg();
|
|
|
|
|
|
CopyContentTo(pars);
|
|
|
|
|
|
return pars;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public bool UpdateEmbeddedDbEntity()
|
|
|
|
|
|
{
|
|
|
|
|
|
return true; /// =OK, do nothing
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|