/// <summary> /// Executes the logic for this workflow activity /// </summary> protected override void InternalExecute() { var itemUri = this.ItemUri.Get(ActivityContext); var itemId = this.ItemId.Get(ActivityContext); System.Uri result; switch (this.Action) { case GetWebAccessUrlAction.BuildDetails: result = WebAccess.GetBuildDetailsUri(this.ProjectCollection, itemUri); break; case GetWebAccessUrlAction.WorkItemEditor: result = WebAccess.GetWorkItemEditorUri(this.ProjectCollection, itemId); break; default: throw new ArgumentException("Action not supported"); } this.Result.Set(this.ActivityContext, result); }