public WorkflowAdmin AddWorkflowAdmin(WorkflowAdmin workflow) { vault.MetricGatherer.MethodCalled(); // TODO: verify if (workflow is TestWorkflowAdmin) { vault.Workflows.Add((TestWorkflowAdmin)workflow); } else { xWorkflowAdmin wkAdmin = new xWorkflowAdmin(workflow); TestWorkflowAdmin twka = new TestWorkflowAdmin(wkAdmin); vault.Workflows.Add(twka); } ValueListItem valueListItemWorkflow = new ValueListItem { ID = workflow.Workflow.ID, Name = workflow.Workflow.Name }; vault.ValueListItemOperations.AddValueListItem(( int )MFBuiltInValueList.MFBuiltInValueListWorkflows, valueListItemWorkflow); for (int i = 1; i <= workflow.States.Count; ++i) { StateAdmin stateAdmin = workflow.States[i]; ValueListItem valueListItemState = new ValueListItem { ID = stateAdmin.ID, Name = stateAdmin.Name, OwnerID = workflow.Workflow.ID }; vault.ValueListItemOperations.AddValueListItem(( int )MFBuiltInValueList.MFBuiltInValueListStates, valueListItemState); } return(workflow); }
public void Test_006_WorkflowStateTransitionFormating(string expectedAlias, int workflowId, int transitionId, bool useShorthand = false) { WorkflowAdmin wfAdmin = this.V.WorkflowOperations.GetWorkflowAdmin(workflowId); StateTransition stAdmin = wfAdmin.StateTransitions.Cast <StateTransition>().Single(st => st.ID == transitionId); FormatAlias(wfAdmin, stAdmin, expectedAlias, useShorthand); }
public void Test_005_WorkflowStateFormating(string expectedAlias, int workflowId, int stateId, bool useShorthand = false) { WorkflowAdmin wfAdmin = this.V.WorkflowOperations.GetWorkflowAdmin(workflowId); StateAdmin stateAdmin = wfAdmin.States.Cast <StateAdmin>().Single(s => s.ID == stateId); FormatAlias(wfAdmin, stateAdmin, expectedAlias, useShorthand); }
/// <summary> /// Appends the alias to the workflow object. /// </summary> /// <param name="id">Workflow ID</param> /// <param name="aliases">Aliases to append.</param> public void WorkflowAliases(int id, string[] aliases) { // Resolve the API Structure Object. WorkflowAdmin wfa = this.Vault.WorkflowOperations.GetWorkflowAdmin(id); // Add each alias. foreach (string alias in aliases) WorkflowAlias(alias, wfa); }
/// <summary> /// Appends the alias to the workflow state transition object. /// </summary> /// <param name="id">State Transition ID</param> /// <param name="alias">Alias to append.</param> public void StateTransitionAlias(int id, string alias) { // Resolve the workflow state's owner. ValueListItem stateVli = this.Vault.ValueListItemOperations.GetValueListItemByID((int) MFBuiltInValueList.MFBuiltInValueListStates, id); // Resolve the states owner. WorkflowAdmin wfa = this.Vault.WorkflowOperations.GetWorkflowAdmin(stateVli.OwnerID); StateAlias(alias, wfa, id); }
/// <summary> /// Resolves a state transition by state.transition.id /// </summary> /// <param name="v"><see cref="Vault"/></param> /// <param name="id">State Transition ID</param> /// <param name="wfAdmin">Resolved <see cref="StateTransition"/>'s owner <see cref="WorkflowAdmin"/></param> /// <returns><see cref="StateAdmin"/>State with the passed id.</returns> public static StateTransition StateTransitionById(this Vault v, int id, out WorkflowAdmin wfAdmin) { // Get all workflows. List <WorkflowAdmin> workflows = v.WorkflowOperations.GetWorkflowsAdmin().Cast <WorkflowAdmin>().ToList(); // Filter to the workflow containing the state with the provided id. wfAdmin = workflows.Single(wf => wf.StateTransitions.Cast <StateTransition>().Any(s => s.ID == id)); // Ensure a result was found / extract the state from the workflow's states collection. return(wfAdmin?.StateTransitions.Cast <StateTransition>().FirstOrDefault(st => st.ID == id)); }
/// <summary> /// Clears the workflow aliases of the <see cref="Workflow"/> with the provide id. /// </summary> /// <param name="id">Workflow ID</param> public void WorkflowAlias(int id) { // Resolve the workflow admin. WorkflowAdmin workflow = this.Vault.WorkflowById(id ); // Clear the Aliases. workflow.SemanticAliases.Value = string.Empty; // Save changes. this.Vault.WorkflowOperations.UpdateWorkflowAdmin( workflow ); }
/// <summary> /// Workflow Alias Removal. /// </summary> /// <param name="id">Workflow ID</param> /// <param name="alias">Alias to remove.</param> public void WorkflowAlias(int id, string alias) { // Resolve the WorkflowAdmin. WorkflowAdmin wfAdmin = this.Vault.WorkflowById(id ); // Search and Destroy. if (removeAlias(wfAdmin.SemanticAliases, alias)) { // Save changes. this.Vault.WorkflowOperations.UpdateWorkflowAdmin(wfAdmin); } }
/// <summary> /// Appends the alias to the workflow object. /// </summary> /// <param name="alias">Alias to append.</param> /// <param name="wfa"><see cref="WorkflowAdmin"/></param> public void WorkflowAlias(string alias, WorkflowAdmin wfa) { // Add the alias only if it does not already exist. if (!this.Vault.AliasExists(MFMetadataStructureItem.MFMetadataStructureItemWorkflow, alias)) { // Append a delimiter if needed. if (!wfa.SemanticAliases.Value.Trim().EndsWith(";")) wfa.SemanticAliases.Value += ';'; // Append the alias. wfa.SemanticAliases.Value += alias; // Persist the change. this.Vault.WorkflowOperations.UpdateWorkflowAdmin(wfa); } }
public string FormatAlias(dynamic apiObj, WorkflowAdmin wfa) { string format; if (apiObj is StateTransition) { format = FormatAlias(wfa) + ".{0}"; var one = $"{wfa.States.Cast<StateAdmin>().Single(s => s.ID == (int) apiObj.FromState).Name}=>{wfa.States.Cast<StateAdmin>().Single(s => s.ID == (int) apiObj.ToState).Name}"; return format = string.Format(format, formatSpaces(formatCase(one))); } format = FormatAlias(wfa) + ".{1}"; return FormatAlias(apiObj, format); }
/// <summary> /// Appends the alias to the workflow state transition object. /// </summary> /// <param name="alias">Alias to append.</param> /// <param name="wfa">Owner <see cref="StateTransition"/></param> /// <param name="transitionId">State Transition ID</param> public void StateTransitionAlias(string alias, WorkflowAdmin wfa, int transitionId) { // Resolve the State Admin object by id, from the workflow. StateAdmin state = wfa.States.Cast<StateAdmin>().SingleOrDefault(x => x.ID == transitionId); // Add the alias only if it does not already exist. if (!this.Vault.AliasExists(MFMetadataStructureItem.MFMetadataStructureItemState, alias)) { // Append a delimiter if needed. if (state != null) { // Should the delimiter be added? if( !state.SemanticAliases.Value.Trim().EndsWith(";") ) state.SemanticAliases.Value += ';'; // Append the alias. state.SemanticAliases.Value += alias; // Persist the change. this.Vault.WorkflowOperations.UpdateWorkflowAdmin(wfa); } } }
public WorkflowAdmin UpdateWorkflowAdmin(WorkflowAdmin workflow) { vault.MetricGatherer.MethodCalled(); throw new NotImplementedException(); }
public TestWorkflowAdmin(WorkflowAdmin wfa) : this(new xWorkflowAdmin(wfa)) { }
public void Test_004_WorkflowFormating(string expectedAlias, int id, bool useShorthand = false) { WorkflowAdmin wfAdmin = this.V.WorkflowOperations.GetWorkflowAdmin(id); FormatAlias(wfAdmin, expectedAlias, useShorthand); }