162 lines
4.9 KiB
C#
162 lines
4.9 KiB
C#
|
// <copyright>
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
// </copyright>
|
||
|
|
||
|
namespace System.Activities.DynamicUpdate
|
||
|
{
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Collections.ObjectModel;
|
||
|
using System.Runtime;
|
||
|
using System.Runtime.Serialization;
|
||
|
|
||
|
[Serializable]
|
||
|
[DataContract]
|
||
|
public class ActivityBlockingUpdate
|
||
|
{
|
||
|
[NonSerialized]
|
||
|
private Activity activity;
|
||
|
|
||
|
string activityInstanceId;
|
||
|
string originalActivityId;
|
||
|
string updatedActivityId;
|
||
|
string reason;
|
||
|
|
||
|
public ActivityBlockingUpdate(Activity activity, string originalActivityId, string reason)
|
||
|
: this(activity, originalActivityId, reason, null)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public ActivityBlockingUpdate(Activity activity, string originalActivityId, string reason, string activityInstanceId)
|
||
|
{
|
||
|
this.activity = activity;
|
||
|
this.Reason = reason;
|
||
|
this.OriginalActivityId = originalActivityId;
|
||
|
this.ActivityInstanceId = activityInstanceId;
|
||
|
if (activity != null)
|
||
|
{
|
||
|
this.UpdatedActivityId = activity.Id;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public ActivityBlockingUpdate(string updatedActivityId, string originalActivityId, string reason)
|
||
|
: this(updatedActivityId, originalActivityId, reason, null)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public ActivityBlockingUpdate(string updatedActivityId, string originalActivityId, string reason, string activityInstanceId)
|
||
|
{
|
||
|
this.UpdatedActivityId = updatedActivityId;
|
||
|
this.OriginalActivityId = originalActivityId;
|
||
|
this.ActivityInstanceId = activityInstanceId;
|
||
|
this.Reason = reason;
|
||
|
}
|
||
|
|
||
|
public Activity Activity
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.activity;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string ActivityInstanceId
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.activityInstanceId;
|
||
|
}
|
||
|
private set
|
||
|
{
|
||
|
this.activityInstanceId = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string OriginalActivityId
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.originalActivityId;
|
||
|
}
|
||
|
private set
|
||
|
{
|
||
|
this.originalActivityId = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string UpdatedActivityId
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.updatedActivityId;
|
||
|
}
|
||
|
private set
|
||
|
{
|
||
|
this.updatedActivityId = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public string Reason
|
||
|
{
|
||
|
get
|
||
|
{
|
||
|
return this.reason;
|
||
|
}
|
||
|
private set
|
||
|
{
|
||
|
this.reason = value;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[DataMember(EmitDefaultValue = false, Name = "ActivityInstanceId")]
|
||
|
internal string SerializedActivityInstanceId
|
||
|
{
|
||
|
get { return this.ActivityInstanceId; }
|
||
|
set { this.ActivityInstanceId = value; }
|
||
|
}
|
||
|
|
||
|
[DataMember(EmitDefaultValue = false, Name = "OriginalActivityId")]
|
||
|
internal string SerializedOriginalActivityId
|
||
|
{
|
||
|
get { return this.OriginalActivityId; }
|
||
|
set { this.OriginalActivityId = value; }
|
||
|
}
|
||
|
|
||
|
[DataMember(EmitDefaultValue = false, Name = "UpdatedActivityId")]
|
||
|
internal string SerializedUpdatedActivityId
|
||
|
{
|
||
|
get { return this.UpdatedActivityId; }
|
||
|
set { this.UpdatedActivityId = value; }
|
||
|
}
|
||
|
|
||
|
[DataMember(EmitDefaultValue = false, Name = "Reason")]
|
||
|
internal string SerializedReason
|
||
|
{
|
||
|
get { return this.Reason; }
|
||
|
set { this.Reason = value; }
|
||
|
}
|
||
|
|
||
|
internal static void AddBlockingActivity(ref Collection<ActivityBlockingUpdate> blockingActivities, Activity activity, string originalActivityId, string reason, string activityInstanceId)
|
||
|
{
|
||
|
if (blockingActivities == null)
|
||
|
{
|
||
|
blockingActivities = new Collection<ActivityBlockingUpdate>();
|
||
|
}
|
||
|
|
||
|
ActivityBlockingUpdate blockingActivity = new ActivityBlockingUpdate(activity, originalActivityId, reason, activityInstanceId);
|
||
|
blockingActivities.Add(blockingActivity);
|
||
|
}
|
||
|
|
||
|
internal static void AddBlockingActivity(ref Collection<ActivityBlockingUpdate> blockingActivities, string updatedActivityId, string originalActivityId, string reason, string activityInstanceId)
|
||
|
{
|
||
|
if (blockingActivities == null)
|
||
|
{
|
||
|
blockingActivities = new Collection<ActivityBlockingUpdate>();
|
||
|
}
|
||
|
|
||
|
ActivityBlockingUpdate blockingActivity = new ActivityBlockingUpdate(updatedActivityId, originalActivityId, reason, activityInstanceId);
|
||
|
blockingActivities.Add(blockingActivity);
|
||
|
}
|
||
|
}
|
||
|
}
|