private static ReleaseAction ParseReleaseAction(XElement node) { var stageActivity = XName.Get("StageActivity", "clr-namespace:Microsoft.TeamFoundation.Release.Data.Model;assembly=Microsoft.TeamFoundation.Release.Data"); var firstNodeDescendant = node.Descendants(stageActivity).First(); var componentId = int.Parse(firstNodeDescendant.Attribute("ComponentId").Value); var workflowActivityId = Guid.Parse(firstNodeDescendant.Attribute("WorkflowActivityId").Value); var itemType = node.Name.LocalName == ActionActivity.LocalName ? BlockType.Action : node.Name.LocalName == ComponentActivity.LocalName ? BlockType.Component : BlockType.Undefined; var action = new ReleaseAction { DisplayName = node.Attribute("DisplayName").Value, DisplayNameIsMeaningful = true, Enabled = !bool.Parse(node.Attribute("IsSkipped").Value), ItemType = itemType, ComponentId = componentId, WorkflowActivityId = workflowActivityId }; FireActionParsedEvent(action); return action; }
private static ScriptAction CreateScriptAction(RMComponent component, ReleaseAction action) { return new ScriptAction { Enabled = action.Enabled, DisplayName = action.DisplayName, Sequence = action.Sequence, IsComponent = action.IsComponent, DeployerToolId = component.DeployerToolId, FileExtensionFilter = component.FileExtensionFilter, Command = component.Command, Arguments = component.Arguments, VariableReplacementMethod = component.VariableReplacementMethod, ConfigurationVariables = component.ConfigurationVariables }; }
private static GenerationEventArgs GetActionGenerationArgs(ReleaseAction action, GenerationEventType eventType) { return new GenerationEventArgs { BlockType = action.ItemType, DisplayName = action.DisplayName, Sequence = action.Sequence, IsEnabled = action.Enabled, IsContainer = false, GenerationEventType = eventType }; }
internal static void FireActionParsedEvent(ReleaseAction action) { ActionParsed?.Invoke( null, new ActionParsedEventArgs { DisplayName = action.DisplayName, ItemType = action.ItemType }); }