/// <summary> /// Представляет объект Directive Treshold в виде массива байтов для хранения в базе данных /// </summary> /// <returns></returns> public byte[] ToBinary() { List <byte> data = new List <byte>(SerializedDataLength); data.AddRange(DbTypes.Int64ToByteArray(EffectiveDate.Ticks)); data.AddRange(FirstPerformanceSinceNew.ConvertToByteArray()); data.AddRange(FirstPerformanceSinceEffectiveDate.ConvertToByteArray()); data.AddRange(FirstNotification.ConvertToByteArray()); data.Add((byte)(FirstPerformanceConditionType == ThresholdConditionType.WhicheverLater ? 1 : 0)); data.Add((byte)(PerformRepeatedly ? 1 : 0)); data.AddRange(RepeatInterval.ConvertToByteArray()); data.AddRange(RepeatNotification.ConvertToByteArray()); data.Add((byte)(RepeatPerformanceConditionType == ThresholdConditionType.WhicheverLater ? 1 : 0)); return(data.ToArray()); }
/// <summary> /// Возвращает условие первого выполнения директиыв /// </summary> /// <returns></returns> private string FirstPerformanceToString() { string res = ""; // ресурсы заполнены // выводим результат if (!FirstPerformanceSinceNew.IsNullOrZero()) { res = LifelengthToString(FirstPerformanceSinceNew, "f.p"); } if (!FirstNotification.IsNullOrZero()) { res += LifelengthToString(FirstNotification, "f.p.n"); } return("Perform at " + res.Trim()); }