Пример #1
0
        void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
        {
            var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null)
            {
                var identity = UserIdentity.Deserialize(authCookie.Value);
                if (identity == null)
                {
                    FormsAuthentication.SignOut();
                }
                else
                {
                    var principal = new GenericPrincipal(identity, null);
                    HttpContext.Current.User = principal;
                    System.Threading.Thread.CurrentPrincipal = principal;
                    Context.User = new GenericPrincipal(identity, null);


                    // Set the culture
                    GlobalUtilities.SetCurrentCulture(Identity.Current.Market.CultureCode);

                    // Set the language
                    System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(GlobalUtilities.GetSelectedLanguage());
                }
            }
        }
Пример #2
0
        void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e)
        {
            Market   market;
            Language language;
            var      context    = this.Context.Request.RequestContext.HttpContext;
            var      authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (authCookie != null)
            {
                var identity = UserIdentity.Deserialize(authCookie.Value);
                if (identity == null)
                {
                    FormsAuthentication.SignOut();
                    return;
                }
                else
                {
                    var principal = new GenericPrincipal(identity, null);
                    HttpContext.Current.User = principal;
                    System.Threading.Thread.CurrentPrincipal = principal;
                    Context.User = new GenericPrincipal(identity, null);

                    // user locked market
                    market = Identity.Current.Market;
                    // get the default language based on user market
                    var defaultLanguage = Identity.Current.Language;
                    // get the selected culture (default to user's preferred market language)
                    var selectedCultureCode = GlobalUtilities.GetSelectedCultureCode(context, defaultLanguage.CultureCode);
                    // set the language based on selection
                    language = GlobalUtilities.GetLanguage(selectedCultureCode, market);
                }
            }
            else
            {
                // get the market based on selection
                market = GlobalUtilities.GetCurrentMarket(context);
                // get the default language based on market
                var defaultLanguage = GlobalUtilities.GetLanguage(null, market);
                // get the selected culture (default to current market default language)
                var selectedCultureCode = GlobalUtilities.GetSelectedCultureCode(context, defaultLanguage.CultureCode);
                // set the language based on selection
                language = GlobalUtilities.GetLanguage(selectedCultureCode, market);
            }

            // Set the culture (date, number, currency formats)
            GlobalUtilities.SetCurrentCulture(market.CultureCode);
            // set site language
            GlobalUtilities.SetCurrentUICulture(language.CultureCode);
        }
Пример #3
0
        public static Language GetUserLanguage(HttpRequestBase request)
        {
            // Check for the cookie first
            var cookie = request.Cookies[GlobalSettings.Globalization.LanguageCookieName];

            if (cookie != null && !cookie.Value.IsEmpty())
            {
                return(Exigo.GetLanguageByCultureCode(cookie.Value));
            }

            // If we're signed in, let's use their account's language preference
            if (request.IsAuthenticated)
            {
                return(Exigo.GetLanguageByID(Identity.Current.LanguageID));
            }

            // Nothing yet? We must be dealing with an orphan who's never visited the site before.
            // Let's use their machine default, assuming we support that language.
            var cultureInfo = GlobalUtilities.GetRequestedLanguageCultureInfo(request);

            return(Exigo.GetLanguageByCultureCode(cultureInfo.Name));
        }
Пример #4
0
 /// <summary>
 /// Gets a formatted display name based on the company's rules. The default setting is that if a company name is found display the company name; otherwise, display the first and last name.
 /// </summary>
 /// <returns>The formatted display name.</returns>
 public static string GetDisplayName(string companyName, string firstName, string lastName)
 {
     return(GlobalUtilities.Coalesce(companyName, firstName + " " + lastName));
 }