示例#1
0
        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);
                }
            }
        }
示例#2
0
        internal static void DeleteSessionCookie(HeContext heContext)
        {
            var cookie = new HttpCookie(GetSessionCookieName(), "");

            cookie.Path = SESSION_COOKIE_PATH;
            HttpContext.Current.Response.Cookies.Add(cookie);
        }
示例#3
0
        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);
            }
        }
示例#4
0
 internal static void DeletePersistentLoginCookie(HeContext heContext)
 {
     if (!heContext.IsReadOnlySessionRequest)
     {
         DeleteCookie(heContext, heContext.AppInfo.PersitentLoginCookieName, PERSISTENT_LOGIN_COOKIE_PATH);
     }
 }
示例#5
0
 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;
            }
        }
示例#7
0
        /// <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);
            }
        }
示例#8
0
        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));
            }
        }
示例#9
0
 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);
        }
示例#14
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;
 }
示例#17
0
        /// <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);
            }
        }
示例#19
0
        /// <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);
            }
        }
示例#20
0
 /// <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);
 }
示例#23
0
 /// <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()");
 }
示例#24
0
 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);
 }
示例#25
0
        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
 }
示例#27
0
        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;
            }
        }
示例#28
0
        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);
        }
示例#30
0
        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));
        }