internal void Save(WorkflowStoreComponents components, Dictionary <string, object> WorkflowContext) { Collection <object> objs = new Collection <object>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { objs.Add(this.PSWorkflowInstance.State); } if (WorkflowContext != null) { objs.Add(WorkflowContext); } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition && this.PSWorkflowInstance.PSWorkflowDefinition != null) { objs.Add(this.PSWorkflowInstance.PSWorkflowDefinition); } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError && this.PSWorkflowInstance.Error != null && !WorkflowJobSourceAdapter.GetInstance().IsShutdownInProgress&& this.PSWorkflowInstance.Error.GetType() != typeof(RemoteException)) { objs.Add(this.PSWorkflowInstance.Error); } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata && this.PSWorkflowInstance.PSWorkflowContext != null) { objs.Add(this.PSWorkflowInstance.PSWorkflowContext); } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams && this.PSWorkflowInstance.Streams != null) { objs.Add(this.PSWorkflowInstance.Streams); } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer && this.PSWorkflowInstance.Timer != null) { objs.Add(this.PSWorkflowInstance.Timer); } this.DoSave(objs); }
internal void Save(WorkflowStoreComponents components, Dictionary <string, object> WorkflowContext) { Collection <object> componentsToSave = new Collection <object>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { componentsToSave.Add(PSWorkflowInstance.State); } if (WorkflowContext != null) { componentsToSave.Add(WorkflowContext); } if (((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) && (PSWorkflowInstance.PSWorkflowDefinition != null)) { componentsToSave.Add(PSWorkflowInstance.PSWorkflowDefinition); } if (((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) && (PSWorkflowInstance.Error != null)) { if (!WorkflowJobSourceAdapter.GetInstance().IsShutdownInProgress) { if (PSWorkflowInstance.Error.GetType() != typeof(RemoteException)) { componentsToSave.Add(PSWorkflowInstance.Error); } } } if (((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) && (PSWorkflowInstance.PSWorkflowContext != null)) { componentsToSave.Add(PSWorkflowInstance.PSWorkflowContext); } if (((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) && (PSWorkflowInstance.Streams != null)) { componentsToSave.Add(PSWorkflowInstance.Streams); } if (((components & WorkflowStoreComponents.ActivityState) == WorkflowStoreComponents.ActivityState) && (PSWorkflowInstance.RemoteActivityState != null)) { componentsToSave.Add(PSWorkflowInstance.RemoteActivityState); } if (((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) && PSWorkflowInstance.Timer != null) { componentsToSave.Add(PSWorkflowInstance.Timer); } DoSave(componentsToSave); }
public void Load(WorkflowStoreComponents components) { Collection <Type> types = new Collection <Type>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { types.Add(typeof(JobState)); this.PSWorkflowInstance.JobStateRetrieved = false; } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) { types.Add(typeof(PSWorkflowDefinition)); this.PSWorkflowInstance.PSWorkflowDefinition = null; } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) { types.Add(typeof(Exception)); this.PSWorkflowInstance.Error = null; } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) { types.Add(typeof(PSWorkflowContext)); this.PSWorkflowInstance.PSWorkflowContext = null; } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) { types.Add(typeof(PowerShellStreams <PSObject, PSObject>)); this.PSWorkflowInstance.Streams = null; } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) { types.Add(typeof(PSWorkflowTimer)); this.PSWorkflowInstance.Timer = null; } IEnumerable <object> objs = this.DoLoad(types); foreach (object obj in objs) { Type type = obj.GetType(); if ((JobState)type != typeof(JobState)) { if (type != typeof(PSWorkflowDefinition)) { if (obj as Exception == null) { if (type != typeof(PSWorkflowContext)) { if (type != typeof(PowerShellStreams <PSObject, PSObject>)) { if (type != typeof(PSWorkflowTimer)) { continue; } this.PSWorkflowInstance.Timer = (PSWorkflowTimer)obj; } else { this.PSWorkflowInstance.Streams = (PowerShellStreams <PSObject, PSObject>)obj; } } else { this.PSWorkflowInstance.PSWorkflowContext = (PSWorkflowContext)obj; } } else { this.PSWorkflowInstance.Error = (Exception)obj; } } else { this.PSWorkflowInstance.PSWorkflowDefinition = (PSWorkflowDefinition)obj; } } else { this.PSWorkflowInstance.State = (JobState)obj; this.PSWorkflowInstance.JobStateRetrieved = true; } } }
public void Save(WorkflowStoreComponents components) { this.Save(components, null); }
public void Load(WorkflowStoreComponents components) { Collection<Type> types = new Collection<Type>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { types.Add(typeof(JobState)); this.PSWorkflowInstance.JobStateRetrieved = false; } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) { types.Add(typeof(PSWorkflowDefinition)); this.PSWorkflowInstance.PSWorkflowDefinition = null; } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) { types.Add(typeof(Exception)); this.PSWorkflowInstance.Error = null; } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) { types.Add(typeof(PSWorkflowContext)); this.PSWorkflowInstance.PSWorkflowContext = null; } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) { types.Add(typeof(PowerShellStreams<PSObject, PSObject>)); this.PSWorkflowInstance.Streams = null; } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) { types.Add(typeof(PSWorkflowTimer)); this.PSWorkflowInstance.Timer = null; } IEnumerable<object> objs = this.DoLoad(types); foreach (object obj in objs) { Type type = obj.GetType(); if ((JobState)type != typeof(JobState)) { if (type != typeof(PSWorkflowDefinition)) { if (obj as Exception == null) { if (type != typeof(PSWorkflowContext)) { if (type != typeof(PowerShellStreams<PSObject, PSObject>)) { if (type != typeof(PSWorkflowTimer)) { continue; } this.PSWorkflowInstance.Timer = (PSWorkflowTimer)obj; } else { this.PSWorkflowInstance.Streams = (PowerShellStreams<PSObject, PSObject>)obj; } } else { this.PSWorkflowInstance.PSWorkflowContext = (PSWorkflowContext)obj; } } else { this.PSWorkflowInstance.Error = (Exception)obj; } } else { this.PSWorkflowInstance.PSWorkflowDefinition = (PSWorkflowDefinition)obj; } } else { this.PSWorkflowInstance.State = (JobState)obj; this.PSWorkflowInstance.JobStateRetrieved = true; } } }
internal void Save(WorkflowStoreComponents components, Dictionary<string, object> WorkflowContext) { Collection<object> objs = new Collection<object>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { objs.Add(this.PSWorkflowInstance.State); } if (WorkflowContext != null) { objs.Add(WorkflowContext); } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition && this.PSWorkflowInstance.PSWorkflowDefinition != null) { objs.Add(this.PSWorkflowInstance.PSWorkflowDefinition); } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError && this.PSWorkflowInstance.Error != null && !WorkflowJobSourceAdapter.GetInstance().IsShutdownInProgress && this.PSWorkflowInstance.Error.GetType() != typeof(RemoteException)) { objs.Add(this.PSWorkflowInstance.Error); } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata && this.PSWorkflowInstance.PSWorkflowContext != null) { objs.Add(this.PSWorkflowInstance.PSWorkflowContext); } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams && this.PSWorkflowInstance.Streams != null) { objs.Add(this.PSWorkflowInstance.Streams); } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer && this.PSWorkflowInstance.Timer != null) { objs.Add(this.PSWorkflowInstance.Timer); } this.DoSave(objs); }
/// <summary> /// Load /// </summary> /// <param name="components"></param> public void Load(WorkflowStoreComponents components) { Collection<Type> componentsToLoad = new Collection<Type>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { componentsToLoad.Add(typeof(JobState)); PSWorkflowInstance.JobStateRetrieved = false; } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) { componentsToLoad.Add(typeof(PSWorkflowDefinition)); PSWorkflowInstance.PSWorkflowDefinition = null; } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) { componentsToLoad.Add(typeof(Exception)); PSWorkflowInstance.Error = null; } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) { componentsToLoad.Add(typeof(PSWorkflowContext)); PSWorkflowInstance.PSWorkflowContext = null; } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) { componentsToLoad.Add(typeof(PowerShellStreams<PSObject, PSObject>)); PSWorkflowInstance.Streams = null; } if ((components & WorkflowStoreComponents.ActivityState) == WorkflowStoreComponents.ActivityState) { componentsToLoad.Add(typeof(PSWorkflowRemoteActivityState)); PSWorkflowInstance.RemoteActivityState = null; } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) { componentsToLoad.Add(typeof(PSWorkflowTimer)); PSWorkflowInstance.Timer = null; } IEnumerable<object> loadedComponents = DoLoad(componentsToLoad); foreach (object loadedComponent in loadedComponents) { Type componentType = loadedComponent.GetType(); if (componentType == typeof(JobState)) { PSWorkflowInstance.State = (JobState)loadedComponent; PSWorkflowInstance.JobStateRetrieved = true; } else if (componentType == typeof(PSWorkflowDefinition)) { PSWorkflowInstance.PSWorkflowDefinition = (PSWorkflowDefinition)loadedComponent; } else if (loadedComponent is Exception) { PSWorkflowInstance.Error = (Exception)loadedComponent; } else if (componentType == typeof(PSWorkflowContext)) { PSWorkflowInstance.PSWorkflowContext = (PSWorkflowContext)loadedComponent; } else if (componentType == typeof(PowerShellStreams<PSObject, PSObject>)) { PSWorkflowInstance.Streams = (PowerShellStreams<PSObject, PSObject>)loadedComponent; } else if (componentType == typeof(PSWorkflowTimer)) { PSWorkflowInstance.Timer = (PSWorkflowTimer)loadedComponent; } else if (componentType == typeof(PSWorkflowRemoteActivityState)) { PSWorkflowInstance.RemoteActivityState = (PSWorkflowRemoteActivityState)loadedComponent; } } }
internal void Save(WorkflowStoreComponents components, Dictionary<string, object> WorkflowContext) { Collection<object> componentsToSave = new Collection<object>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { componentsToSave.Add(PSWorkflowInstance.State); } if (WorkflowContext != null) { componentsToSave.Add(WorkflowContext); } if (((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) && (PSWorkflowInstance.PSWorkflowDefinition != null)) { componentsToSave.Add(PSWorkflowInstance.PSWorkflowDefinition); } if (((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) && (PSWorkflowInstance.Error != null)) { if (!WorkflowJobSourceAdapter.GetInstance().IsShutdownInProgress) { if (PSWorkflowInstance.Error.GetType() != typeof(RemoteException)) { componentsToSave.Add(PSWorkflowInstance.Error); } } } if (((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) && (PSWorkflowInstance.PSWorkflowContext != null)) { componentsToSave.Add(PSWorkflowInstance.PSWorkflowContext); } if (((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) && (PSWorkflowInstance.Streams != null)) { componentsToSave.Add(PSWorkflowInstance.Streams); } if (((components & WorkflowStoreComponents.ActivityState) == WorkflowStoreComponents.ActivityState) && (PSWorkflowInstance.RemoteActivityState != null)) { componentsToSave.Add(PSWorkflowInstance.RemoteActivityState); } if (((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) && PSWorkflowInstance.Timer != null) { componentsToSave.Add(PSWorkflowInstance.Timer); } DoSave(componentsToSave); }
/// <summary> /// Load /// </summary> /// <param name="components"></param> public void Load(WorkflowStoreComponents components) { Collection <Type> componentsToLoad = new Collection <Type>(); if ((components & WorkflowStoreComponents.JobState) == WorkflowStoreComponents.JobState) { componentsToLoad.Add(typeof(JobState)); PSWorkflowInstance.JobStateRetrieved = false; } if ((components & WorkflowStoreComponents.Definition) == WorkflowStoreComponents.Definition) { componentsToLoad.Add(typeof(PSWorkflowDefinition)); PSWorkflowInstance.PSWorkflowDefinition = null; } if ((components & WorkflowStoreComponents.TerminatingError) == WorkflowStoreComponents.TerminatingError) { componentsToLoad.Add(typeof(Exception)); PSWorkflowInstance.Error = null; } if ((components & WorkflowStoreComponents.Metadata) == WorkflowStoreComponents.Metadata) { componentsToLoad.Add(typeof(PSWorkflowContext)); PSWorkflowInstance.PSWorkflowContext = null; } if ((components & WorkflowStoreComponents.Streams) == WorkflowStoreComponents.Streams) { componentsToLoad.Add(typeof(PowerShellStreams <PSObject, PSObject>)); PSWorkflowInstance.Streams = null; } if ((components & WorkflowStoreComponents.ActivityState) == WorkflowStoreComponents.ActivityState) { componentsToLoad.Add(typeof(PSWorkflowRemoteActivityState)); PSWorkflowInstance.RemoteActivityState = null; } if ((components & WorkflowStoreComponents.Timer) == WorkflowStoreComponents.Timer) { componentsToLoad.Add(typeof(PSWorkflowTimer)); PSWorkflowInstance.Timer = null; } IEnumerable <object> loadedComponents = DoLoad(componentsToLoad); foreach (object loadedComponent in loadedComponents) { Type componentType = loadedComponent.GetType(); if (componentType == typeof(JobState)) { PSWorkflowInstance.State = (JobState)loadedComponent; PSWorkflowInstance.JobStateRetrieved = true; } else if (componentType == typeof(PSWorkflowDefinition)) { PSWorkflowInstance.PSWorkflowDefinition = (PSWorkflowDefinition)loadedComponent; } else if (loadedComponent is Exception) { PSWorkflowInstance.Error = (Exception)loadedComponent; } else if (componentType == typeof(PSWorkflowContext)) { PSWorkflowInstance.PSWorkflowContext = (PSWorkflowContext)loadedComponent; } else if (componentType == typeof(PowerShellStreams <PSObject, PSObject>)) { PSWorkflowInstance.Streams = (PowerShellStreams <PSObject, PSObject>)loadedComponent; } else if (componentType == typeof(PSWorkflowTimer)) { PSWorkflowInstance.Timer = (PSWorkflowTimer)loadedComponent; } else if (componentType == typeof(PSWorkflowRemoteActivityState)) { PSWorkflowInstance.RemoteActivityState = (PSWorkflowRemoteActivityState)loadedComponent; } } }