public static void OnBeginRequest(object sender, EventArgs e) { if (!CompressHttpAjaxResponses) { return; } HttpApplication app = sender as HttpApplication; if (HeContext.IsAjaxRequestFromContext(app.Context)) { FixDeflateStreamImplementation(); // Fix DeflateStream implemenation to allow partial flush operations. Note: GZipStream also uses Deflate internally. if (IsEncodingAccepted(GZIP_ENCODING)) { app.Response.Filter = new SafeGZipStream(app.Response.Filter, CompressionMode.Compress); SetEncoding(GZIP_ENCODING); } else if (IsEncodingAccepted(DEFLATE_ENCODING)) { app.Response.Filter = new SafeDeflateStream(app.Response.Filter, CompressionMode.Compress); SetEncoding(DEFLATE_ENCODING); } } }
internal static void DeleteSessionCookie(HeContext heContext) { var cookie = new HttpCookie(GetSessionCookieName(), ""); cookie.Path = SESSION_COOKIE_PATH; HttpContext.Current.Response.Cookies.Add(cookie); }
protected void Application_Error(Object sender, EventArgs e) { HeContext context = null; try { context = App.OsContext; } catch {} try { Exception excep = Server.GetLastError(); // LicensingException is already logged by RuntimePlatform if (excep != null && !(excep is LicensingException)) { ErrorLog.LogApplicationError(excep, context, "Global"); } while (excep != null) { if (excep is LicensingException) { HandleLicensingError((LicensingException)excep); break; } excep = excep.InnerException; } } finally { // rollback transactions DatabaseAccess.FreeupResources(false); } }
internal static void DeletePersistentLoginCookie(HeContext heContext) { if (!heContext.IsReadOnlySessionRequest) { DeleteCookie(heContext, heContext.AppInfo.PersitentLoginCookieName, PERSISTENT_LOGIN_COOKIE_PATH); } }
public static void AddSessionFixationProtectionCookie(HeContext heContext) { if (UseSessionFixationProtection()) { if (!heContext.IsReadOnlySessionRequest) { if (StringUtils.EqualsIgnoreCase(heContext.Session.TerminalType, "WEB")) { string randomPart = String.Empty + GetRandomLongNumber() + GetRandomLongNumber(); HttpCookie protectionValueCookie = GetCookieByName(heContext.Context.Request.Cookies, heContext.AppInfo.SessionFixationProtectionCookieName); heContext.Session.SessionFixationProtectionOld = protectionValueCookie == null ? "" : protectionValueCookie.Value; heContext.Session.SessionFixationProtection = randomPart; heContext.PendingSessionProtectionValidation = false; HttpCookie cookie = new HttpCookie(heContext.AppInfo.SessionFixationProtectionCookieName, randomPart); cookie.Path = SESSION_FIXATION_PROTECTION_COOKIE_PATH; SecureCookieUtils.setSecureCookie(cookie, heContext.Context.Response); if (RuntimePlatformSettings.Security.DebugSessionFixationProtection.GetValue()) { GeneralLog.StaticWrite(DateTime.Now, heContext.Session.SessionID, heContext.AppInfo.eSpaceId, 0, heContext.Session.UserId, "OldSessionFixationProtectionCookie (" + heContext.Session.SessionFixationProtectionOld + "); NewSessionFixationProtectionCookie(" + heContext.Session.SessionFixationProtection + ")", "INFO", "SESSION", null); } heContext.Session.SessionFixationProtectionExpirationInstant = DateTime.Now.AddSeconds(RuntimePlatformSettings.Security.SessionFixationAllowedOverlapWindowInSecs.GetValue()); } } } }
/// <summary> /// Action <code>ActionList_Navigation_GetStartIndex</code> that represents the Service Studio user /// action <code>List_Navigation_GetStartIndex</code> <p> Description: Resets the index stored in th /// e Session Variable that is used in the 'List_Navigation_GetStartIndex' action.</p> /// </summary> public static void ActionList_Navigation_GetStartIndex(HeContext heContext, string inParamListWidget, bool inParamRememberStartIndex, int inParamStartIndexOverride, out int outParamStartIndex) { lcoList_Navigation_GetStartIndex result = new lcoList_Navigation_GetStartIndex(); lcvList_Navigation_GetStartIndex localVars = new lcvList_Navigation_GetStartIndex(inParamListWidget, inParamRememberStartIndex, inParamStartIndexOverride); if (heContext != null && heContext.RequestTracer != null) { heContext.RequestTracer.RegisterInternalCall("RXVvq_7n1UK+COrxcmxk4A", "List_Navigation_GetStartIndex", "X0RMeX3yYU+0eg2nFEDfaA", "ContactManager"); } try { // StartIndexOverride? if (((localVars.inParamStartIndexOverride != (-1)))) { // SetOverridenStartIndex Actions.ActionPrivate_List_Navigation_SaveStartIndex(heContext, localVars.inParamListWidget, Convert.ToString(localVars.inParamStartIndexOverride)); // SetOverridenStartIndex // StartIndex = StartIndexOverride result.outParamStartIndex = localVars.inParamStartIndexOverride; } else { // ResetStartIndex? if ((((localVars.inParamRememberStartIndex == false) && BuiltInFunction.IsLoadingScreen()))) { // ResetStartIndex Actions.ActionPrivate_List_Navigation_SaveStartIndex(heContext, localVars.inParamListWidget, Convert.ToString(0)); } else { // ListIndex_Text // ListIndex_Text = Private_HashGet(ListNavigation_StartIndices, GetPageName() + ":" + ListWidget) localVars.varLcListIndex_Text = Functions.ActionPrivate_HashGet(heContext, ((string)Global.App.OsContext.Session["ContactManager.ListNavigation_StartIndices"]), ((Functions.rssextensionhttprequesthandler_ActionGetPageName(heContext) + ":") + localVars.inParamListWidget)); // Found Key? if (((localVars.varLcListIndex_Text != ""))) { // SetStartIndex // StartIndex = TextToInteger result.outParamStartIndex = BuiltInFunction.TextToInteger(localVars.varLcListIndex_Text); } // ResetRememberStartIndex // ListNavigation_RememberStartIndices = Replace Global.App.OsContext.Session["ContactManager.ListNavigation_RememberStartIndices"] = BuiltInFunction.Replace(((string)Global.App.OsContext.Session["ContactManager.ListNavigation_RememberStartIndices"]), (((Functions.rssextensionhttprequesthandler_ActionGetPageName(heContext) + ":") + localVars.inParamListWidget) + ";"), ""); // RememberStartIndex? if ((localVars.inParamRememberStartIndex)) { // SetRememberStartIndex // ListNavigation_RememberStartIndices = ListNavigation_RememberStartIndices + GetPageName() + ":" + ListWidget + ";" Global.App.OsContext.Session["ContactManager.ListNavigation_RememberStartIndices"] = ((((((string)Global.App.OsContext.Session["ContactManager.ListNavigation_RememberStartIndices"]) + Functions.rssextensionhttprequesthandler_ActionGetPageName(heContext)) + ":") + localVars.inParamListWidget) + ";"); } } } } // try finally { outParamStartIndex = result.outParamStartIndex; } }
/// <summary> /// Closes a process, all its activities and sets the parent activity (if any) to execute /// </summary> /// <param name="heContext"></param> /// <param name="processDefiniton">Instance of the process to close, can be a dummy instance</param> /// <param name="processId">Id of the process, cannot be dummy</param> /// <param name="manualTerminate"></param> private static void CloseProcessInstance(HeContext heContext, IProcess processDefiniton, int processId, bool manualTerminate) { using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { int tenantId = heContext.AppInfo.Tenant.Id; List <Pair <int, ObjectKey> > nonTerminatedActivities = new List <Pair <int, ObjectKey> >(); int userId = manualTerminate? heContext.Session.UserId: 0; int parentActivityId = 0; ProcessStatus processStatus = ProcessStatus.Unknown; using (IDataReader reader = DBRuntimePlatform.Instance.GetProcessForUpdate(trans, tenantId, processId)) { if (reader.Read()) { parentActivityId = reader.SafeGet <int>("PARENT_ACTIVITY_ID"); processStatus = (ProcessStatus)reader.SafeGet <int>("STATUS_ID"); } else { throw new InvalidOperationException("Could not close process #" + processId + " because the process does not exist."); } } using (IDataReader reader = DBRuntimePlatform.Instance.GetNonTerminatedActivities(trans, tenantId, processId)) { while (reader.Read()) { nonTerminatedActivities.Add(Pair.Create(reader.SafeGet <int>("ID"), ObjectKey.Parse(reader.SafeGet <string>("SS_Key")))); } } foreach (var nonTerminatedActivity in nonTerminatedActivities) { //Change all the pending activity status WITHOUT any commits InnerSetActivityStatus(heContext, processId, nonTerminatedActivity.First, ActivityStatus.Closed, manualTerminate? heContext.Session.UserId: userId); IProcessActivity activityToClose; if (processDefiniton.GetProcessActivityInstance(processId, nonTerminatedActivity.First, nonTerminatedActivity.Second, false, out activityToClose)) { //We cant call the StartRemoveEventFilters here because that would make an implicit commit ((ProcessBase.AbstractProcessActivityBase)activityToClose).RemoveEventFilters(heContext); } } if (processStatus == ProcessStatus.Closed) { return; } if (parentActivityId > 0) { int parentTenantId; DBRuntimePlatform.Instance.GetParentProcessId(trans, parentActivityId, out parentTenantId); //Change status of parent activity and reschedule it DBRuntimePlatform.Instance.UpdateActivity(trans, parentTenantId, parentActivityId, null, null, null, null, null, null, null, ActivityStatus.Closing, null, null, null, null, true, null, null, null, null, null, null); } DBRuntimePlatform.Instance.SetProcessStatus(trans, tenantId, processId, ProcessStatus.Closed, userId); } }
protected bool HasActiveActivityInProcess(HeContext heContext, ObjectKey activitySSKey, int processId) { using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { int tenantId = heContext.AppInfo.Tenant.Id; return(DBRuntimePlatform.Instance.HasActiveActivityInProcess(trans, tenantId, activitySSKey, processId)); } }
public static void DiscardActivity(HeContext heContext, int activityId) { using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { InnerSetActivityStatus(heContext, DBRuntimePlatform.Instance.GetActivityClosedBy(trans, activityId), activityId, ActivityStatus.Discarded); } }
/// <summary> /// Function <code>ssGetCountry</code> that represents the Service Studio function /// <code>GetCountry</code> <p> Description: </p> /// </summary> public static RCCountryRecord ssGetCountry(HeContext heContext, long inParamId) { RCCountryRecord.EnsureInitialized(); RCCountryRecord outParamRecord; ExtendedActions.GetCountry(heContext, inParamId, out outParamRecord); return(outParamRecord); }
protected virtual void LoadDefaultLargeAccount(HeContext heContext) { heContext.MTMsg = MTMsg; if (heContext.MOMsg != null) { MTMsg.LargeAccount = heContext.MOMsg.LargeAccount; } }
public static string ClientCertificateGetValue(HeContext heContext, string key) { try { return((string)System.Web.HttpContext.Current.Request.ClientCertificate[key]); } catch { return(""); } }
/// <summary> /// Action: CheckRegisteredRole /// </summary> public static void CheckRegisteredRole(HeContext heContext, int inParamUserId, out bool outParamHasRole) { outParamHasRole = false; int userId = heContext.Session.UserId; outParamHasRole = (userId != 0); }
public CallbackPageContext(HeContext context, ObjectKey webScreenKey, string webScreenName) { _espaceKey = context.AppInfo.eSpaceUIDAsKey; _webScreenName = webScreenName; _webScreenKey = webScreenKey; _userId = context.Session.UserId; _eSpaceName = context.AppInfo.eSpaceName; }
/// <summary> /// Function <code>ssGetAddressType</code> that represents the Service Studio function /// <code>GetAddressType</code> <p> Description: </p> /// </summary> public static RCAddressTypeRecord ssGetAddressType(HeContext heContext, long inParamId) { RCAddressTypeRecord.EnsureInitialized(); RCAddressTypeRecord outParamRecord; ExtendedActions.GetAddressType(heContext, inParamId, out outParamRecord); return(outParamRecord); }
public static void TenantSwitch(HeContext heContext, int tenantId) { if (!heContext.AllowTenantSwitch && heContext.Session.TenantId != tenantId) { throw new InvalidOperationException("TenantSwitch operation is not supported in this context."); } heContext.Session.TenantId = tenantId; }
/// <summary> /// Function <code>ssGetUser</code> that represents the Service Studio function <code>GetUser</code> /// <p> Description: </p> /// </summary> public static RCUserRecord ssGetUser(HeContext heContext, int inParamId) { RCUserRecord.EnsureInitialized(); RCUserRecord outParamRecord; ExtendedActions.GetUser(heContext, inParamId, out outParamRecord); return(outParamRecord); }
public static void UpdateSiteProperty(HeContext heContext, int definitionId, bool isShared, string serializedValue) { int tenantId = heContext.AppInfo.Tenant.Id; using (Transaction tran = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { DBRuntimePlatform.Instance.UpdateSiteProperty(tran, definitionId, isShared, tenantId, serializedValue); } }
/// <summary> /// Closes a process, all its activities and sets the parent activity (if any) to execute /// </summary> /// <param name="heContext"></param> /// <param name="processDefiniton">Instance of the process to close, can be a dummy instance</param> /// <param name="processId">Id of the process, cannot be dummy</param> /// <param name="recursive"></param> private static void TerminateProcessInstance(HeContext heContext, IProcess processDefiniton, int processId, bool recursive) { using (Transaction trans = DatabaseAccess.ForSystemDatabase.GetRequestTransaction()) { int tenantId = heContext.AppInfo.Tenant.Id; int parentActivityId = 0; List <Pair <int, ObjectKey> > nonTerminatedActivities = new List <Pair <int, ObjectKey> >(); ProcessStatus processStatus = ProcessStatus.Unknown; using (IDataReader reader = DBRuntimePlatform.Instance.GetProcessForUpdate(trans, tenantId, processId)) { if (reader.Read()) { parentActivityId = reader.SafeGet <int>("PARENT_ACTIVITY_ID"); processStatus = (ProcessStatus)reader.SafeGet <int>("STATUS_ID"); } else { throw new InvalidOperationException("Could not close process #" + processId + " because the process does not exist."); } } using (IDataReader reader = DBRuntimePlatform.Instance.GetNonTerminatedActivities(trans, tenantId, processId)) { while (reader.Read()) { nonTerminatedActivities.Add(Pair.Create(reader.SafeGet <int>("ID"), ObjectKey.Parse(reader.SafeGet <string>("SS_Key")))); } } foreach (var nonTerminatedActivity in nonTerminatedActivities) { IProcessActivity activityToClose; if (processDefiniton.GetProcessActivityInstance(processId, nonTerminatedActivity.First, nonTerminatedActivity.Second, false, out activityToClose)) { bool success = activityToClose.TerminateActivity(heContext, recursive); if (!success) { throw new InvalidOperationException("Could not terminate activity " + activityToClose.ActivityId); } } } if (processStatus == ProcessStatus.Closed || processStatus == ProcessStatus.Terminated) { return; } if (parentActivityId > 0) { int parentTenantId; DBRuntimePlatform.Instance.GetParentProcessId(trans, parentActivityId, out parentTenantId); DBRuntimePlatform.Instance.UpdateActivity(trans, parentTenantId, parentActivityId, null, null, null, null, null, null, null, ActivityStatus.Closing, null, null, null, null, true, null, null, null, null, null, null); } DBRuntimePlatform.Instance.SetProcessStatus(trans, tenantId, processId, ProcessStatus.Terminated, heContext.Session.UserId); } }
/// <summary> /// Action <code>ActionInput_FocusFirstInvalid</code> that represents the Service Studio user action /// <code>Input_FocusFirstInvalid</code> <p> Description: Set the focus in the first invali /// d input.</p> /// </summary> public static void ActionInput_FocusFirstInvalid(HeContext heContext) { if (heContext != null && heContext.RequestTracer != null) { heContext.RequestTracer.RegisterInternalCall("4Xpq628HxUWOrihwUbWAWg", "Input_FocusFirstInvalid", "X0RMeX3yYU+0eg2nFEDfaA", "ContactManager"); } // RunJavaScript Actions.ActionRunJavaScript(heContext, "try { \r\n if (OsIsIE()) { \r\n document.selection.empty();\r\n } \r\n osjs(\'.Not_Valid:first\').focus();\r\n} catch(e) {}"); }
public static IRfcFunction handleOnAfterCall(HeContext heContext, Action <HeContext> onAfterCall, String actionName, IRfcFunction func) { using (var sapInternalContext = new OutSystems.Internal.SAP.SAPInternalContext(actionName)) { sapInternalContext.SetIRfcFunction(func); onAfterCall(heContext); func = sapInternalContext.GetIRfcFunction(); } return(func); }
public static RfcConfigParameters handleOnBeforeConnection(HeContext heContext, Action <HeContext> onBeforeConnection, RfcConfigParameters configParameters, String actionName) { using (var sapInternalContext = new OutSystems.Internal.SAP.SAPInternalContext(actionName)) { sapInternalContext.SetRfcConfigParameters(configParameters); onBeforeConnection(heContext); configParameters = sapInternalContext.GetRfcConfigParameters(); } return(configParameters); }
/// <summary> /// Action <code>ActionPopup_Editor_Close</code> that represents the Service Studio user action /// <code>Popup_Editor_Close</code> <p> Description: Closes a PopupEditor window.</p> /// </summary> public static void ActionPopup_Editor_Close(HeContext heContext) { if (heContext != null && heContext.RequestTracer != null) { heContext.RequestTracer.RegisterInternalCall("SEJUCNmtZkKDQZaGFGnuCQ", "Popup_Editor_Close", "X0RMeX3yYU+0eg2nFEDfaA", "ContactManager"); } // RunJavaScript Actions.ActionRunJavaScript(heContext, "parent.RichWidgets_Popup_Editor_Close()"); }
public static void TenantInvalidate(HeContext heContext, int tenantId) { // default value => get tenant id in use by caller if (tenantId == 0) { tenantId = heContext.AppInfo.Tenant.Id; } EspaceInvalidate(heContext, 0, tenantId); }
public bool HandleException(ref LocalState flowState) { Exception ex = Server.GetLastError(); if (ex is LicensingException) { return(true); } HeContext heContext = Global.App.OsContext; string errorKey = "ContactManager.Private" + ex.GetType().ToString(); if (heContext.VisitedExceptionHandlerFlows.Contains(errorKey)) { return(false); } heContext.VisitedExceptionHandlerFlows.Add(errorKey); if (heContext.Session.EntryPoint == null) { heContext.Session.EntryPoint = HeContext.UnknownEntryPoint; } while (ex != null) { if (ex is System.Threading.ThreadAbortException) { return(true); } ex = ex.InnerException; } ex = Server.GetLastError(); if (ex is System.Reflection.TargetInvocationException) { ex = ex.InnerException; } heContext.Session["ExceptionMessage"] = ex.Message; heContext.Session[BuiltInFunction.ExceptionURLSessionName] = BuiltInFunction.GetBookmarkableURL(); Response.Clear(); if (isEmailScreen) { ErrorLog.LogApplicationError(ex, heContext, ""); return(true); } if (heContext.CanUseCustomErrorHandler(ex)) { return(new ssContactManager.Flows.FlowCommon.ExceptionHandler(page, isEmailScreen).HandleException()); } DatabaseAccess.FreeupResources(false); Server.Transfer("_WebErrorPage.aspx"); return(true); }
public static void DoOnMobileTerminatedMessage(HeContext heContext, ref MobileTerminatedMessage Msg) { #if false RCSMSMTRecord smsMtIn = new RCSMSMTRecord(); RCSMSMTRecord smsMtOut; smsMtIn.ssSTSMSMT.ssMSISDN = Msg.MSISDN; smsMtIn.ssSTSMSMT.ssLargeAccount = Msg.LargeAccount; smsMtIn.ssSTSMSMT.ssMessage = Msg.Message; smsMtIn.ssSTSMSMT.ssBinaryMessage = Msg.BinaryMessage; smsMtIn.ssSTSMSMT.ssUDH = Msg.UDH; smsMtIn.ssSTSMSMT.ssMessageId = Msg.MessageId; smsMtIn.ssSTSMSMT.ssOriginalMessageId = Msg.OriginalMessageId; smsMtIn.ssSTSMSMT.ssPriority = Msg.Priority; smsMtIn.ssSTSMSMT.ssEncoding = Msg.Encoding.ToString(); smsMtIn.ssSTSMSMT.ssPid = Msg.Pid; smsMtIn.ssSTSMSMT.ssMClass = Msg.MClass.ToString(); smsMtIn.ssSTSMSMT.ssConnection = Msg.Connection; smsMtIn.ssSTSMSMT.ssOperatorCode = Msg.OperatorCode; smsMtIn.ssSTSMSMT.ssBillingDescription = Msg.BillingDescription; smsMtIn.ssSTSMSMT.ssBillingCode = Msg.BillingCode; smsMtIn.ssSTSMSMT.ssCustom1 = Msg.Custom1; smsMtIn.ssSTSMSMT.ssCustom2 = Msg.Custom2; smsMtIn.ssSTSMSMT.ssCustom3 = Msg.Custom3; smsMtIn.ssSTSMSMT.ssDeliveryReport = Msg.DeliveryReport.ToString(); smsMtIn.ssSTSMSMT.ssCustomId = Msg.CustomId; smsMtIn.ssSTSMSMT.ssMaximumParts = Msg.MaximumParts; Actions.ActionOnMobileTerminatedMessage(heContext, smsMtIn, out smsMtOut); Msg.MSISDN = smsMtOut.ssSTSMSMT.ssMSISDN; Msg.LargeAccount = smsMtOut.ssSTSMSMT.ssLargeAccount; Msg.Message = smsMtOut.ssSTSMSMT.ssMessage; Msg.BinaryMessage = smsMtOut.ssSTSMSMT.ssBinaryMessage; Msg.UDH = smsMtOut.ssSTSMSMT.ssUDH; Msg.MessageId = smsMtOut.ssSTSMSMT.ssMessageId; Msg.OriginalMessageId = smsMtOut.ssSTSMSMT.ssOriginalMessageId; Msg.Priority = smsMtOut.ssSTSMSMT.ssPriority; try { Msg.Encoding = (SmsEncoding)Enum.Parse(typeof(SmsEncoding), smsMtOut.ssSTSMSMT.ssEncoding); } catch {}; Msg.Pid = smsMtOut.ssSTSMSMT.ssPid; try { Msg.MClass = (SmsMessageClass)Enum.Parse(typeof(SmsMessageClass), smsMtOut.ssSTSMSMT.ssMClass); } catch {}; Msg.Connection = smsMtOut.ssSTSMSMT.ssConnection; Msg.OperatorCode = smsMtOut.ssSTSMSMT.ssOperatorCode; Msg.BillingDescription = smsMtOut.ssSTSMSMT.ssBillingDescription; Msg.BillingCode = smsMtOut.ssSTSMSMT.ssBillingCode; Msg.Custom1 = smsMtOut.ssSTSMSMT.ssCustom1; Msg.Custom2 = smsMtOut.ssSTSMSMT.ssCustom2; Msg.Custom3 = smsMtOut.ssSTSMSMT.ssCustom3; try { Msg.DeliveryReport = (DeliveryReportType)Enum.Parse(typeof(DeliveryReportType), smsMtOut.ssSTSMSMT.ssDeliveryReport); } catch {}; Msg.CustomId = smsMtOut.ssSTSMSMT.ssCustomId; Msg.MaximumParts = smsMtOut.ssSTSMSMT.ssMaximumParts; #endif }
protected void LogApplicationError(Exception ex, HeContext context) { var errorLogId = ErrorLog.LogApplicationError(ex, context, "Service API"); var loggingContext = LoggingHelper.GetLoggingContext(); if (loggingContext != null) { loggingContext.ErrorLogId = errorLogId; } }
private static bool WillUpgradePassword(HeContext heContext, bool checkPassword, string inParamPassword, string hashedPassword) { // update login date and upgrade password if necessary bool isNotServiceCenterTenant = true; return(checkPassword && isNotServiceCenterTenant && (inParamPassword != null) && Settings.GetBool(Settings.Configs.PasswordUpgradeOnLogin) && RuntimePlatformUtils.Hashing.GetAlgorithmIndexForPasswordHash(hashedPassword) < RuntimePlatformUtils.Hashing.BestAlgorithmIndex); }
public static int ProcessLaunch(HeContext heContext, ObjectKey SSKey, ObjectKey espaceSSKey, int parentActivityId, int parentProcessId, List <Pair <string, object> > inputs, out int nextHumanActivity) { List <Pair <int, ActivityKind> > nextActIds; int newProcessId = ProcessLaunch(heContext, SSKey, espaceSSKey, parentActivityId, parentProcessId, inputs, out nextActIds); nextHumanActivity = BuiltInFunction.NullIdentifier(); return(newProcessId); }
public static string LogApplicationError(DateTime instant, Exception excep, HeContext context, string moduleName) { var message = excep.Message; if (excep is OSException) { message = ((OSException)excep).MessageForLogging(); } return(LogApplicationError(instant, message, excep, AppInfo.GetAppInfo(), context, moduleName, null, -1, -1)); }