protected WfActivityBase(SerializationInfo info, StreamingContext context) { this._ID = info.GetString("ID"); if (WorkflowSettings.GetConfig().IsSerializeDesc) { this._Descriptor = (IWfActivityDescriptor)info.GetValue("Descriptor", typeof(IWfActivityDescriptor)); } this._ProcessDescKey = info.GetString("ProcessDescKey"); this._ActivityDescKey = info.GetString("ActivityDescKey"); this._FromTransition = (IWfTransition)info.GetValue("FromTransition", typeof(IWfTransition)); this._ToTransition = (IWfTransition)info.GetValue("ToTransition", typeof(IWfTransition)); this._Context = (WfActivityContext)info.GetValue("Context", typeof(WfActivityContext)); this._Status = (WfActivityStatus)info.GetValue("Status", typeof(WfActivityStatus)); this._Process = (IWfProcess)info.GetValue("Process", typeof(IWfProcess)); this._IsAborted = info.GetBoolean("IsAborted"); this._StartTime = info.GetDateTime("StartTime"); this._EndTime = info.GetDateTime("EndTime"); this._Assignees = (WfAssigneeCollection)info.GetValue("Assignees", typeof(WfAssigneeCollection)); this._Operator = (IUser)info.GetValue("Operator", typeof(IUser)); this._LoadingType = (DataLoadingType)info.GetValue("LoadingType", typeof(DataLoadingType)); }
internal void ConnectToNextActivity(IWfActivity nextActivity) { IWfTransitionDescriptor transDescriptor = this.Descriptor.ToTransitions.GetTransitionByToActivity(nextActivity.Descriptor.Key); WfTransition transition = new WfTransition(transDescriptor); transition.FromActivity = this; transition.ToActivity = nextActivity; this._ToTransition = transition; ((WfActivityBase)nextActivity)._FromTransition = transition; }