/// <summary> /// Connect to Vault and add all the lifecycle information /// </summary> private void CreateLifecyleDefinition() { if (m_lcStates == null || m_lcTrans == null) { MessageBox.Show("You must select load a Visio file"); return; } var defaultState = (string)m_defaultStateComboBox.SelectedItem; if (defaultState.Length == 0) { MessageBox.Show("You must select a default state"); return; } string lcDefName = m_lcDefNameTextBox.Text; if (lcDefName.Length == 0) { MessageBox.Show("You must enter a lifecycle definition name"); return; } string lcDefDesc = m_lcDescTextBox.Text; try { DocExSvc.DocumentServiceExtensions docExSvc = ServiceManager.GetDocumentServiceExtensions(); LfCycDef lcDef = docExSvc.AddLifeCycleDefinition(lcDefName, lcDefDesc); // map the state name to the state object var m_stateObjMap = new Dictionary <string, LfCycState>(); foreach (string lcStateName in m_lcStates) { bool isDefault = (lcStateName == defaultState); LfCycState lcStateObj = docExSvc.AddLifeCycleState(lcDef.Id, lcStateName, "", isDefault, false, null, null, false, RestrictPurgeOption.None); m_stateObjMap.Add(lcStateName, lcStateObj); } foreach (Pair trans in m_lcTrans) { long fromId = m_stateObjMap[trans.FromStateName].Id; long toId = m_stateObjMap[trans.ToStateName].Id; docExSvc.AddLifeCycleStateTransition(fromId, toId, false, BumpRevisionEnum.None, JobSyncPropEnum.None, false, null, null, null); } MessageBox.Show("Import Completed"); } catch (Exception e) { MessageBox.Show("Exception thrown: " + e.Message); } }
private void CreateLifecycleDefinitionAlex() { if (_statesList == null || _transitionsList == null) { MessageBox.Show("You must select load a Visio file"); return; } var defaultState = (string)m_defaultStateComboBox.SelectedItem; if (defaultState.Length == 0) { MessageBox.Show("You must select a default state"); return; } var lcDefName = m_lcDefNameTextBox.Text; if (lcDefName.Length == 0) { MessageBox.Show("You must enter a lifecycle definition name"); return; } var lcDefDesc = m_lcDescTextBox.Text; try { var docExSvc = ServiceManager.GetDocumentServiceExtensions(); var lcDef = docExSvc.AddLifeCycleDefinition(lcDefName, lcDefDesc); // map the state name to the state object var mStateObjMap = new Dictionary <string, LfCycState>(); foreach (var lcStateName in _shapetextlist) { var state = (from st in _statesList where st.Statename == lcStateName select st).FirstOrDefault(); var isDefault = state.IsDefault; var comments = new string[state.Comments.Count]; var i = 0; foreach (var comment in state.Comments) { comments[i] = comment; i++; } var lcStateObj = docExSvc.AddLifeCycleState(lcDef.Id, lcStateName, state.StateDescription, isDefault, state.UseStateBasedSecurity, state.AccessControlEntry, comments, state.IsReleasedState, state.RestrictPurgeOption); mStateObjMap.Add(lcStateName, lcStateObj); } foreach (var trans in m_lcTrans) { var transition = (from tr in _transitionsList where tr.FromStateName == trans.FromStateName && tr.ToStateName == trans.ToStateName select tr).FirstOrDefault() ?? (from tr in _transitionsList where tr.ReverseFromStateName == trans.FromStateName && tr.ReverseToStateName == trans.ToStateName select tr).FirstOrDefault(); if (transition == null) { throw new Exception("There is no corresponding transition in this workflow"); } var fromId = mStateObjMap[trans.FromStateName].Id; var toId = mStateObjMap[trans.ToStateName].Id; var tmpallowedlist = new long[transition.AllowedUserIds.Count]; var i = 0; foreach (var user in transition.AllowedUserIds) { tmpallowedlist[i] = user; i++; } var tmpdeniedlist = new long[transition.DeniedUserIds.Count]; var j = 0; foreach (var user in transition.DeniedUserIds) { tmpdeniedlist[j] = user; j++; } docExSvc.AddLifeCycleStateTransition(fromId, toId, transition.EnforceChildStateSync, transition.BumpRevision, transition.SyncPropOption, transition.UseTransitionBasedSecurity, tmpallowedlist, tmpdeniedlist, transition.Conditions); //docExSvc.AddLifeCycleStateTransition(fromId, toId, false, BumpRevisionEnum.None, // JobSyncPropEnum.None, false, null, null, null); } MessageBox.Show("Import Completed"); } catch (Exception e) { MessageBox.Show("Exception thrown: " + e.Message); } }