public ICIndicatorLogicViewModel(GKBase gkBase, ICIndicatorLogic icIndicatorLogic)
		{
			Blink1ClausesGroup = new ClauseGroupViewModel(gkBase, icIndicatorLogic.Blink1ClausesGroup);
			Blink3ClausesGroup = new ClauseGroupViewModel(gkBase, icIndicatorLogic.Blink3ClausesGroup);
			OffClausesGroup = new ClauseGroupViewModel(gkBase, icIndicatorLogic.OffClausesGroup);
			UseOffCounterLogic = icIndicatorLogic.UseOffCounterLogic;
		}
		public ICIndicatorLogic GetModel()
		{
			var result = new ICIndicatorLogic();
			result.Blink1ClausesGroup = Blink1ClausesGroup.GetClauseGroup();
			result.Blink3ClausesGroup = Blink3ClausesGroup.GetClauseGroup();
			result.OffClausesGroup = OffClausesGroup.GetClauseGroup();
			result.UseOffCounterLogic = UseOffCounterLogic;
			return result;
		}
Beispiel #3
0
		public GKLogic()
		{
			OnClausesGroup = new GKClauseGroup();
			On2ClausesGroup = new GKClauseGroup();
			OffClausesGroup = new GKClauseGroup();
			OnNowClausesGroup = new GKClauseGroup();
			OffNowClausesGroup = new GKClauseGroup();
			StopClausesGroup = new GKClauseGroup();
			UseOffCounterLogic = true;
			RedIndicatorLogic = new ICIndicatorLogic();
			GreenIndicatorLogic = new ICIndicatorLogic();
			YellowIndicatorLogic = new ICIndicatorLogic();
		}
		public void InvalidateICIndicatorLogic(GKBase gkBase, ICIndicatorLogic icIndicatorLogic)
		{
			icIndicatorLogic.Blink1ClausesGroup = InvalidateOneClauseGroup(gkBase, icIndicatorLogic.Blink1ClausesGroup);
			icIndicatorLogic.Blink3ClausesGroup = InvalidateOneClauseGroup(gkBase, icIndicatorLogic.Blink3ClausesGroup);
			icIndicatorLogic.OffClausesGroup = InvalidateOneClauseGroup(gkBase, icIndicatorLogic.OffClausesGroup);
		}
Beispiel #5
0
		public void LinkICIndicatorLogic(GKBase gkBase, ICIndicatorLogic indicatorLogic)
		{
			LinkLogic(gkBase, indicatorLogic.Blink1ClausesGroup);
			LinkLogic(gkBase, indicatorLogic.Blink3ClausesGroup);
			if (!indicatorLogic.UseOffCounterLogic)
			{
				LinkLogic(gkBase, indicatorLogic.OffClausesGroup);
			}
		}
		static void AppendICIndicatorLogic(ICIndicatorLogic logic, string name, List<StringBuilder> list)
		{
			
			var result = AppendClauseGroupString(logic.Blink1ClausesGroup, name +  ": Условие мерцания 1 сек", list);
			var clauseName = "Условие мерцания 3 сек";
			if (!result) 
				clauseName = name + ": " + clauseName;
			result = AppendClauseGroupString(logic.Blink3ClausesGroup, clauseName, list);
			clauseName = "Условие отключения";
			if (!result) 
				clauseName = name + ": " + clauseName;
			AppendClauseGroupString(logic.OffClausesGroup, clauseName, list);
		}