/// <summary> /// Initializes a new instance of the <see cref="LogicAppRun"/> class. /// </summary> public LogicAppRun( string id, LogicAppActionStatus status, object error, string correlationId, LogicAppTrigger trigger, IEnumerable <LogicAppAction> actions, IDictionary <string, string> trackedProperties, DateTimeOffset?startTime = null, DateTimeOffset?endTime = null) { Guard.NotNull(id, nameof(id)); actions = actions ?? Enumerable.Empty <LogicAppAction>(); Guard.For <ArgumentException>(() => actions.Any(action => action is null), "One or more actions is 'null'"); trackedProperties = trackedProperties ?? new Dictionary <string, string>(); Guard.For <ArgumentException>(() => trackedProperties.Any(prop => prop.Key is null), "One or more tracked properties has 'null' as 'Key'"); Id = id; Status = status; Error = error; CorrelationId = correlationId; Trigger = trigger; Actions = actions; TrackedProperties = new ReadOnlyDictionary <string, string>(trackedProperties); StartTime = startTime; EndTime = endTime; }
/// <summary> /// Initializes a new instance of the <see cref="LogicAppTrigger"/> class. /// </summary> public LogicAppTrigger( string name, LogicAppActionStatus status, object inputs, object outputs, object error, DateTimeOffset?startTime = null, DateTimeOffset?endTime = null) { Guard.NotNull(name, nameof(name)); Name = name; Status = status; Inputs = inputs; Outputs = outputs; Error = error; StartTime = startTime; EndTime = endTime; }
/// <summary> /// Initializes a new instance of the <see cref="LogicAppAction"/> class. /// </summary> public LogicAppAction( string name, LogicAppActionStatus status, object error, dynamic inputs, dynamic outputs, IDictionary <string, string> trackedProperties, DateTimeOffset?startTime = null, DateTimeOffset?endTime = null) { Guard.NotNull(name, nameof(name)); Name = name; Status = status; Error = error; Inputs = inputs; Outputs = outputs; TrackedProperties = new ReadOnlyDictionary <string, string>(trackedProperties ?? new Dictionary <string, string>()); StartTime = startTime; EndTime = endTime; }