public static string CompareLogic(GKAdvancedLogic targetLogic) { var result =""; if (LogicToCopy.HasOnClause && !targetLogic.HasOnClause) result += "\nЦелевой объект не содержит \"Условие Включения\""; if (LogicToCopy.HasOnNowClause && !targetLogic.HasOnNowClause) result += "\nЦелевой объект не содержит \"Условие Включения Немедленно\""; if (LogicToCopy.HasOffClause && !targetLogic.HasOffClause) result += "\nЦелевой объект не содержит \"Условие Выключения\""; if (LogicToCopy.HasOffNowClause && !targetLogic.HasOffNowClause) result += "\nЦелевой объект не содержит \"Условие Выключения Немедленно\""; if (LogicToCopy.HasStopClause && !targetLogic.HasStopClause) result += "\nЦелевой объект не содержит \"Условие Останова\""; if (!LogicToCopy.HasOnClause && targetLogic.HasOnClause) result += "\nЦелевой объект дополнительно содержит \"Условие Включения\""; if (!LogicToCopy.HasOnNowClause && targetLogic.HasOnNowClause) result += "\nЦелевой объект дополнительно содержит \"Условие Включения Немедленно\""; if (!LogicToCopy.HasOffClause && targetLogic.HasOffClause) result += "\nЦелевой объект дополнительно содержит \"Условие Выключения\""; if (!LogicToCopy.HasOffNowClause && targetLogic.HasOffNowClause) result += "\nЦелевой объект дополнительно содержит \"Условие Выключения Немедленно\""; if (!LogicToCopy.HasStopClause && targetLogic.HasStopClause) result += "\nЦелевой объект дополнительно содержит \"Условие Останова\""; return result; }
public static GKLogic PasteLogic(GKAdvancedLogic targetLogic) { var gkLogic = new GKLogic(); if (targetLogic.HasOnClause) gkLogic.OnClausesGroup = LogicToCopy.OnClausesGroup; if (targetLogic.HasOnNowClause) gkLogic.OnNowClausesGroup = LogicToCopy.OnNowClausesGroup; if (targetLogic.HasOffClause) { gkLogic.OffClausesGroup = LogicToCopy.OffClausesGroup; gkLogic.UseOffCounterLogic = LogicToCopy.UseOffCounterLogic; } if (targetLogic.HasOffNowClause) gkLogic.OffNowClausesGroup = LogicToCopy.OffNowClausesGroup; if (targetLogic.HasStopClause) gkLogic.StopClausesGroup = LogicToCopy.StopClausesGroup; return gkLogic; }
public static void CopyLogic(GKLogic sourceLogic, bool hasOnClause = false, bool hasOnNowClause = false, bool hasOffClause = false, bool hasOffNowClause = false, bool hasStopClause = false) { LogicToCopy = new GKAdvancedLogic(hasOnClause, hasOnNowClause, hasOffClause, hasOffNowClause, hasStopClause); if (hasOnClause) LogicToCopy.OnClausesGroup = sourceLogic.OnClausesGroup.Clone(); if (hasOnNowClause) LogicToCopy.OnNowClausesGroup = sourceLogic.OnNowClausesGroup.Clone(); if (hasOffClause) { LogicToCopy.OffClausesGroup = sourceLogic.OffClausesGroup.Clone(); LogicToCopy.UseOffCounterLogic = sourceLogic.UseOffCounterLogic; } if (hasOffNowClause) LogicToCopy.OffNowClausesGroup = sourceLogic.OffNowClausesGroup.Clone(); if (hasStopClause) LogicToCopy.StopClausesGroup = sourceLogic.StopClausesGroup.Clone(); LogicToCopy.UseOffCounterLogic = sourceLogic.UseOffCounterLogic; }