Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 protected sealed override bool GetDummyProcessActivity(ObjectKey activityKey, out IProcessActivity instance)
 {
     if (GetProcessActivityImplementation(DummyId, DummyId, activityKey, false, out instance))
     {
         return(true);
     }
     return(false);
 }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 /// <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));
 }
Beispiel #6
0
 protected ProcessBase(IProcessActivity ownerActivity)
 {
     this.ownerActivity = ownerActivity;
 }
Beispiel #7
0
 public abstract bool GetProcessActivityInstance(int processId, int activityId, ObjectKey activityKey, bool isRunning, out IProcessActivity instance);
 protected AbstractProcess(IProcessActivity ownerActivity) : base(ownerActivity)
 {
 }