Пример #1
0
		public ExportConfigurationStep()
		{
			IsExportDevices = new Argument();
			IsExportDoors = new Argument();
			IsExportZones = new Argument();
			PathArgument = new Argument();
		}
Пример #2
0
		public void UpdateArguments()
		{
			Arguments = new List<ArgumentViewModel>();
			int i = 0;
			if (ScheduleProcedure.Arguments == null)
				ScheduleProcedure.Arguments = new List<Argument>();
			foreach (var variable in Procedure.Arguments)
			{
				var argument = new Argument();
				if (ScheduleProcedure.Arguments.Count <= i)
				{
					argument = InitializeArgumemt(variable);
				}
				else
				{
					if (!CheckSignature(ScheduleProcedure.Arguments[i], variable))
					{
						argument = InitializeArgumemt(variable);
					}
					else
						argument = ScheduleProcedure.Arguments[i];
				}
				var argumentViewModel = new ArgumentViewModel(argument, null, null, true, CallingProcedure != null);
				argumentViewModel.Name = variable.Name;
				argumentViewModel.IsList = variable.IsList;
				argumentViewModel.Update(GetVariables(argumentViewModel), argumentViewModel.ExplicitType, argumentViewModel.EnumType, argumentViewModel.ObjectType, argumentViewModel.IsList);
				Arguments.Add(argumentViewModel);
				i++;
			}
			ScheduleProcedure.Arguments = new List<Argument>();
			foreach (var argument in Arguments)
				ScheduleProcedure.Arguments.Add(argument.Argument);
			OnPropertyChanged(() => Arguments);
		}
Пример #3
0
		public CreateColorStep()
		{
			AArgument = new Argument();
			RArgument = new Argument();
			GArgument = new Argument();
			BArgument = new Argument();
			ResultArgument = new Argument();
		}
Пример #4
0
		public ExportJournalStep()
		{
			IsExportJournalArgument = new Argument();
			IsExportPassJournalArgument = new Argument();
			MinDateArgument = new Argument();
			MaxDateArgument = new Argument();
			PathArgument = new Argument();
		}
Пример #5
0
		public ForStep()
		{
			IndexerArgument = new Argument();
			InitialValueArgument = new Argument();
			ValueArgument = new Argument();
			IteratorArgument = new Argument();
			ConditionType = ConditionType.IsLess;
		}
Пример #6
0
		public ShowDialogStep()
		{
			Width = 300;
			Height = 300;
			MinWidth = 300;
			MinHeight = 300;
			AllowClose = true;
			WindowIDArgument = new Argument();
		}
Пример #7
0
		Argument InitializeArgumemt(Variable variable)
		{
			var argument = new Argument();
			argument.VariableScope = VariableScope.GlobalVariable;
			argument.ExplicitType = variable.ExplicitType;
			argument.EnumType = variable.EnumType;
			argument.ObjectType = variable.ObjectType;
			argument.Value = variable.Value;
			return argument;
		}
Пример #8
0
		public void UpdateArguments()
		{
			Arguments = new List<ArgumentViewModel>();
			foreach (var variable in Procedure.Arguments)
			{
				var argument = new Argument();
				var argumentViewModel = new ArgumentViewModel(variable);
				Arguments.Add(argumentViewModel);
			}
			OnPropertyChanged(() => Arguments);
		}
Пример #9
0
		public SendEmailStep()
		{
			EMailAddressFromArgument = new Argument();
			EMailAddressToArgument = new Argument();
			EMailTitleArgument = new Argument();
			EMailContentArgument = new Argument();
			SmtpArgument = new Argument();
			PortArgument = new Argument();
			LoginArgument = new Argument();
			PasswordArgument = new Argument();
		}
Пример #10
0
		bool CheckSignature(Argument argument, Variable variable)
		{
			if (argument.ExplicitType != variable.ExplicitType)
				return false;
			if (argument.ExplicitType != ExplicitType.Object && argument.ExplicitType != ExplicitType.Enum)
				return true;
			if (argument.ExplicitType != ExplicitType.Object)
				return (argument.ObjectType == variable.ObjectType);
			if (argument.ExplicitType != ExplicitType.Enum)
				return (argument.EnumType == variable.EnumType);
			return false;
		}
Пример #11
0
		public RviOpenWindowStep()
		{
			NameArgument = new Argument();
			NameArgument.StringValue = "";
			XArgument = new Argument();
			XArgument.IntValue = 0;
			YArgument = new Argument();
			YArgument.IntValue = 0;
			MonitorNumberArgument = new Argument();
			MonitorNumberArgument.IntValue = 1;
			LoginArgument = new Argument();
			LoginArgument.StringValue = "";
			IpArgument = new Argument();
			IpArgument.StringValue = "";
		}
Пример #12
0
		public PauseStep()
		{
			PauseArgument = new Argument();
			PauseArgument.IntValue = 1;
		}
Пример #13
0
		public StartRecordStep()
		{
			CameraArgument = new Argument();
			EventUIDArgument = new Argument();
			TimeoutArgument = new Argument();
		}
Пример #14
0
		public PtzStep()
		{
			CameraArgument = new Argument();
			PtzNumberArgument = new Argument();
		}
Пример #15
0
		public ControlGKDeviceStep()
		{
			GKDeviceArgument = new Argument();
		}
Пример #16
0
		public GenerateGuidStep()
		{
			ResultArgument = new Argument();
		}
Пример #17
0
		bool ValidateArgument(Procedure procedure, ProcedureStep step, Argument argument)
		{
			var localVariables = new List<Variable>(Procedure.Variables);
			localVariables.AddRange(new List<Variable>(Procedure.Arguments));
			if (argument.VariableScope == VariableScope.GlobalVariable)
			{
				var variable = ClientManager.SystemConfiguration.AutomationConfiguration.GlobalVariables.FirstOrDefault(x => x.Uid == argument.VariableUid);
				if (variable == null)
				{
					Errors.Add(new ProcedureStepValidationError(step, "Все переменные должны быть инициализированы", ValidationErrorLevel.CannotSave));
					return false;
				}
				else if (variable.ContextType == ContextType.Client && procedure.ContextType == ContextType.Server)
				{
					Errors.Add(new ProcedureStepValidationError(step, "Глобальная переменная \"" + variable.Name + "\" будет определена на сервере, т.к. контекст исполнения процедуры - сервер", ValidationErrorLevel.Warning));
					return false;
				}
			}
			if (argument.VariableScope == VariableScope.LocalVariable)
				if (localVariables.All(x => x.Uid != argument.VariableUid))
				{
					Errors.Add(new ProcedureStepValidationError(step, "Все переменные должны быть инициализированы", ValidationErrorLevel.CannotSave));
					return false;
				}
			return true;
		}
Пример #18
0
		public NowStep()
		{
			ResultArgument = new Argument();
		}
Пример #19
0
		public ElementProperty()
		{
			ElementUid = new Guid();
			ValueArgument = new Argument();
		}
Пример #20
0
		public FindObjectCondition()
		{
			SourceArgument = new Argument();
		}
Пример #21
0
		public JournalStep()
		{
			MessageArgument = new Argument();
		}
Пример #22
0
		public CloseDialogStep()
		{
			WindowIDArgument = new Argument();
		}
Пример #23
0
		public HttpRequestStep()
		{
			UrlArgument = new Argument();
			ContentArgument = new Argument();
			ResponseArgument = new Argument();
		}
Пример #24
0
		void InvalidateArgument(Procedure procedure, Argument argument)
		{
			var localVariables = new List<Variable>(procedure.Variables);
			localVariables.AddRange(new List<Variable>(procedure.Arguments));
			if (argument.VariableScope == VariableScope.GlobalVariable)
				if (GlobalVariables.All(x => x.Uid != argument.VariableUid))
					argument.VariableUid = Guid.Empty;
			if (argument.VariableScope == VariableScope.LocalVariable)
				if (localVariables.All(x => x.Uid != argument.VariableUid))
					argument.VariableUid = Guid.Empty;
		}
Пример #25
0
		public GetListCountStep()
		{
			ListArgument = new Argument();
			CountArgument = new Argument();
		}
Пример #26
0
		void InvalidateArgument(Argument argument)
		{
			if (argument.VariableScope != VariableScope.ExplicitValue)
				if (GlobalVariables.All(x => x.Uid != argument.VariableUid))
					argument.VariableUid = Guid.Empty;
		}
Пример #27
0
		public ControlGKDoorStep()
		{
			DoorArgument = new Argument();
		}
Пример #28
0
		Argument InitializeArgumemt(Variable variable)
		{
			var argument = new Argument();
			argument.VariableScope = VariableScope.GlobalVariable;
			argument.Value = variable.Value;
			return argument;
		}
Пример #29
0
		public ControlGKGuardZoneStep()
		{
			GKGuardZoneArgument = new Argument();
		}
Пример #30
0
		public ChangeListStep()
		{
			ListArgument = new Argument();
			ItemArgument = new Argument();
		}