private bool ExecuteActivityWebService(HeContext heContext, string ssKey, int activityId, int processId, int tenantId, int userId, string locale, Action <IProcessActivity> activityMethod) { ValidateToken(heContext, userId, tenantId, heContext.AppInfo.eSpaceUID); ObjectKey activityKey = ObjectKey.Parse(ssKey); IProcessActivity execObj = null; if (AbstractProcessActivity.GetProcessActivityImplementation(processId, activityId, activityKey, true, out execObj)) { SetContextInfo(heContext, tenantId, userId, locale); heContext.AppInfo.CheckIsApplicationEnabled(); try { heContext.AllowTenantSwitch = false; activityMethod(execObj); } finally { heContext.AllowTenantSwitch = true; } return(true); } else { ErrorLog.StaticWrite(DateTime.Now, heContext.Session.SessionID, Global.eSpaceId, heContext.AppInfo.Tenant.Id, heContext.Session.UserId, "Activity '" + ssKey + "' isn't mapped to an object at Runtime", (new System.Diagnostics.StackTrace(true)).ToString(), ""); return(false); } }
protected override bool GetPrecedentActivity(ObjectKey targetSSKey, out IProcessActivity instance) { int prededentActivityId; using (Transaction trans = DatabaseAccess.ForRuntimeDatabase.GetRequestTransaction()) { prededentActivityId = DBRuntimePlatform.Instance.GetPrecedentActivityId(trans, ActivityId, ObjectKeyUtils.DatabaseValue(targetSSKey)); } instance = null; if (prededentActivityId != 0) { return(GetProcessActivityImplementation(ProcessId, prededentActivityId, targetSSKey, false, out instance)); } return(false); }
protected sealed override bool GetDummyProcessActivity(ObjectKey activityKey, out IProcessActivity instance) { if (GetProcessActivityImplementation(DummyId, DummyId, activityKey, false, out instance)) { return(true); } return(false); }
public static bool GetProcessActivityImplementation(int processId, int activityId, ObjectKey activityKey, bool isRunning, out IProcessActivity instance) { ProcessBase.CreateActivityDelegate createInstanceMethod; instance = null; if (ActivitiesDefinition.TryGetValue(activityKey, out createInstanceMethod)) { instance = createInstanceMethod(processId, activityId, isRunning); return(true); } return(false); }
/// <summary> /// Used to get a generic activity instance from the base class /// </summary> protected sealed override bool GetProcessActivityInstance(int processId, int activityId, ObjectKey activityKey, bool isRunning, out IProcessActivity instance) { return(GetProcessActivityImplementation(processId, activityId, activityKey, isRunning, out instance)); }
protected ProcessBase(IProcessActivity ownerActivity) { this.ownerActivity = ownerActivity; }
public abstract bool GetProcessActivityInstance(int processId, int activityId, ObjectKey activityKey, bool isRunning, out IProcessActivity instance);
protected AbstractProcess(IProcessActivity ownerActivity) : base(ownerActivity) { }