public TestWorkflowAdmin(xWorkflowAdmin wfa) { Description = wfa.Description; Permissions = new TestAccessControlList(wfa.Permissions); SemanticAliases = new SemanticAliases { Value = string.Join(";", wfa.SemanticAliases) }; States = new StatesAdmin(); foreach (xStateAdmin stateAdmin in wfa.States) { States.Add(-1, new TestStateAdmin(stateAdmin)); } StateTransitions = new StateTransitions(); foreach (xStateTransition transition in wfa.StateTransitions) { StateTransitions.Add(-1, new TestStateTransition(transition)); } Workflow = new TestWorkflow(wfa.Workflow); }
/// <summary> /// Utility method used to remove an alias from a semantic aliases object. /// </summary> /// <param name="aliases"><see cref="SemanticAliases"/></param> /// <param name="toRemove">Alias to remove</param> /// <returns>True when removed.</returns> private bool removeAlias(SemanticAliases aliases, string toRemove) { // Get the aliases. List<string> results = aliases.Value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList(); // Check for aliases. if (results.Any()) { // There are aliases, process them. if (results.Contains(toRemove)) { // Remove this alias. results.Remove(toRemove); aliases.Value = string.Join("; ", results); return true; } } return false; }