public override void restore(JObject state)
 {
     base.restore(state);
     income             = (bool)state.GetValue(INCOME);
     eventTimeGenerator = (AbstractProcess)AbstractStorable.newInstance((JObject)state.GetValue(PROCESS));
     amountGenerator    = (AbstractValue)AbstractStorable.newInstance((JObject)state.GetValue(AMOUNT));
 }
        private bool ExecuteProcessWebService(HeContext heContext, string ssKey, int tenantId, int userId, string locale, Action <IProcess> processMethod)
        {
            ObjectKey processKey = ObjectKey.Parse(ssKey);
            IProcess  execObj    = null;

            if (AbstractProcess.GetProcessDefinition(processKey, out execObj))
            {
                SetContextInfo(heContext, tenantId, userId, locale);
                heContext.AppInfo.CheckIsApplicationEnabled();
                processMethod(execObj);
                return(true);
            }
            else
            {
                ErrorLog.StaticWrite(DateTime.Now, heContext.Session.SessionID, Global.eSpaceId, heContext.AppInfo.Tenant.Id,
                                     heContext.Session.UserId, "Process " + ssKey + " isn't mapped to an object at Runtime", (new System.Diagnostics.StackTrace(true)).ToString(), "");
                return(false);
            }
        }