1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
// <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);
}
}
}
|