Exemple #1
0
        public string Lang(string Key)
        {
            IRequestCultureFeature requestCulture = Context.Request.HttpContext.Features.Get <IRequestCultureFeature>();
            string Lang = Context.Request.Cookies["Lang"];

            if (string.IsNullOrEmpty(Lang))
            {
                if (requestCulture.RequestCulture.Culture.Name == "tr-TR")
                {
                    return(LangTR[Key]);
                }
                else if (requestCulture.RequestCulture.Culture.Name == "en-US")
                {
                    return(LangEn[Key]);
                }
            }
            else
            {
                if (Lang == "TR")
                {
                    return(LangTR[Key]);
                }
                else if (Lang == "EN")
                {
                    return(LangEn[Key]);
                }
            }
            return(Key);
        }
Exemple #2
0
        public IActionResult Refresh()
        {
            bool isAjaxCall = Request.Headers["x-requested-with"] == "XMLHttpRequest";

            try
            {
                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                Configuration.Initialize();
                Configuration.ThemeHelper.UpdateAllThemeRelatedData(databaseContext, culture);

                if (isAjaxCall)
                {
                    return(Ok());
                }
                else
                {
                    return(Redirect(Request.Headers["Referer"].ToString())); // refreshes current page
                }
            }
            catch (Exception)
            {
                if (isAjaxCall)
                {
                    return(StatusCode(500));
                }
                else
                {
                    return(Redirect(Request.Headers["Referer"].ToString())); // refreshes current page
                }
            }
        }
        public IActionResult Genders()
        {
            Debug.WriteLine("===========================");
            Debug.WriteLine($"Current Culture: { CultureInfo.CurrentCulture}");
            Debug.WriteLine($"Current UI Culture: { CultureInfo.CurrentUICulture}");
            Debug.WriteLine("===========================");

            List <SelectItem> selectList = new List <SelectItem>();

            Array values = Enum.GetValues(typeof(Gender));

            foreach (var value in values)
            {
                selectList.Add(new SelectItem
                {
                    Name  = _genderLocalizer[value.ToString()],
                    Value = (int)value
                });
            }

            IRequestCultureFeature feature =
                HttpContext.Features.Get <IRequestCultureFeature>();

            Debug.WriteLine("===========================");
            Debug.WriteLine($"Culture: {feature.RequestCulture.Culture}");
            Debug.WriteLine($"UI Culture: {feature.RequestCulture.UICulture}");
            Debug.WriteLine($"Provider: {feature.Provider}");

            return(Ok(selectList));
        }
Exemple #4
0
        public void ApplyRule(RewriteContext rewriteContext)
        {
            // do not redirect static assets and do not redirect from a controller that is meant to set the locale
            // similar to how you would not restrict a guest user from login form on public site.
            if (rewriteContext.HttpContext.Request.Path.Value.EndsWith(".ico") ||
                rewriteContext.HttpContext.Request.Path.Value.Contains("change-culture"))
            {
                return;
            }

            IRequestCultureFeature cultureFeature = rewriteContext.HttpContext.Features.Get <IRequestCultureFeature>();
            string actualCulture    = cultureFeature?.RequestCulture.Culture.Name;
            string requestedCulture = rewriteContext.HttpContext.GetRouteValue(_cultureRouteKey)?.ToString();

            // Here you can add more rules to redirect based on maybe cookie setting, or even language options saved in database user profile
            if (string.IsNullOrEmpty(requestedCulture) || _cultureItems.All(x => x.Name != requestedCulture) &&
                !string.Equals(requestedCulture, actualCulture, StringComparison.OrdinalIgnoreCase))
            {
                rewriteContext.HttpContext.GetRouteData().Values[_cultureRouteKey] = actualCulture;

                HttpResponse response = rewriteContext.HttpContext.Response;
                response.StatusCode   = StatusCodes.Status301MovedPermanently;
                rewriteContext.Result = RuleResult.EndResponse;

                // preserve query part parameters of the URL (?parameters) if there were any
                response.Headers[HeaderNames.Location] =
                    _linkGenerator.GetPathByAction(
                        rewriteContext.HttpContext,
                        values: rewriteContext.HttpContext.GetRouteData().Values
                        )
                    + rewriteContext.HttpContext.Request.QueryString;
            }
        }
        public ActionResult <object> Price(bool notApi = false, decimal amount = 1)
        {
            try
            {
                IRequestCultureFeature rqf        = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                RegionInfo             regionInfo = currencyService.GetRegionaInfo(rqf);
                Ticker ticker = tickerService.GetTicker(regionInfo.ISOCurrencySymbol);

                if (notApi)
                {
                    return(new TickerApi
                    {
                        Symbol = ticker.Symbol,
                        PriceBtc = ticker.PriceBtc.ToString(),
                        Price = ticker.Price.ToString("C2"),
                        Last24Change = (ticker.Last24Change).ToString("P2")
                    });
                }

                return(ticker);
            }
            catch (Exception ex)
            {
                log.LogError(ex, "Failed to get price from API.");
                return(null);
            }
        }
Exemple #6
0
        public RegionInfo GetRegionaInfo(IRequestCultureFeature rqf)
        {
            // Whenever the culture has been specified in the URL, write it to a cookie. This ensures that the culture selection is
            // available in the REST API/Web Socket call and updates, and when the user visits the website next time.
            //if (!string.IsNullOrWhiteSpace(this.Request.Query["culture"]))
            //{
            //    CookieRequestCultureProvider.MakeCookieValue(rqf.RequestCulture);
            //}

            RegionInfo regionInfo = new RegionInfo("EN-US");

            if (!rqf.RequestCulture.UICulture.Name.Equals("en-US") && !rqf.RequestCulture.UICulture.Name.Equals("en"))
            {
                try
                {
                    string culture = rqf.RequestCulture.UICulture.Name.ToUpper();

                    if (CustomCultures.ContainsKey(culture))
                    {
                        culture = CustomCultures[culture];
                    }

                    regionInfo = new RegionInfo(culture);
                }
                catch { }
            }

            return(regionInfo);
        }
Exemple #7
0
        public async Task <IActionResult> HealthCheckAsync([FromServices] IServiceProvider serviceProvider, bool loadDependences = true)
        {
            IRequestCultureFeature rqf = Request.HttpContext.Features.Get <IRequestCultureFeature>();

            System.Globalization.CultureInfo culture = rqf.RequestCulture.Culture;

            return(GetIActionResult(
                       new Result <HealthCheckViewModel>
            {
                Value =
                    new HealthCheckViewModel
                {
                    CurrentCulture = culture.Name,
                    ApiName = healthCheckOptions.ApiName,
                    ServerDate = DateTime.Now,
                    ServerDateUtc = DateTime.UtcNow,
                    DatabaseStatus = GetDatabaseStatus(),
                    LocalLogFilesStatus = CheckLocalLogFileWritePermission(),
                    Enviroment = GetEnvironmentVariable(),
                    Dependences = loadDependences ? await GetDependencesCheckListAsync() : new List <HealthCheckDependenceViewModel>(),
                    Warnings = await GetWarningsAsync(),
                    ResourcesUsage = GetProcessResourceUsage(serviceProvider)
                }
            }));
        }
Exemple #8
0
        /// <summary>
        /// Returns list with info about al installed themes. Data are obtained from FILESYSTEM, not DB!
        /// </summary>
        /// <param name="themeFolderPath">Path to the folder with themes.</param>
        /// <returns></returns>
        /// <exception cref="ThemeHelperException"></exception>
        public List <ThemeInfo> GetInstalledThemesInfo(string themeFolderPath, IRequestCultureFeature culture)
        {
            try
            {
                List <string> themeSubfolders = Directory.GetDirectories(themeFolderPath).ToList();

                List <ThemeInfo> themeInfos = new List <ThemeInfo>();
                foreach (string themeSubdirPath in themeSubfolders)
                {
                    string    _themeName = Path.GetFileName(themeSubdirPath);
                    ThemeInfo ti         = new ThemeInfo()
                    {
                        ThemeName         = _themeName,
                        ThemeFolder       = themeFolderPath,
                        ThemeDescription  = GetThemeDescription(themeSubdirPath, culture),
                        ThemeThumbnailUrl = GetThemeThumbnailUrl(_themeName)
                    };
                    themeInfos.Add(ti);
                }
                return(themeInfos);
            }
            catch (Exception ex)
            {
                throw new ThemeHelperException(ex);
            }
        }
Exemple #9
0
        /// <summary>
        /// Returns content of desc.txt file in root of the folder with theme.
        /// </summary>
        /// <param name="pathToTheme"></param>
        /// <returns></returns>
        private string GetThemeDescription(string pathToTheme, IRequestCultureFeature culture)
        {
            try
            {
                string language = culture.RequestCulture.Culture.Name;
                string path     = Path.Combine(pathToTheme, "desc." + language + ".txt");
                string desc     = string.Empty;

                if (File.Exists(path))
                {
                    desc = File.ReadAllText(path);
                }
                else
                {
                    desc = File.ReadAllText(Path.Combine(pathToTheme, "desc.txt"));
                }


                return(desc);
            }
            catch
            {
                return(string.Empty);
            }
        }
        public IActionResult PostThemeJasperJsonData(JasperJsonThemeViewModel viewModel)
        {
            bool   isAjaxRequest        = Request.Headers["x-requested-with"] == "XMLHttpRequest";
            int    selectedThemeId      = viewModel.SelectedThemeId;
            string themeNameToBeUpdated = _dbHelper.GetAllThemes().Where(t => t.Id == selectedThemeId).Single().Name;
            string oldDataBackup        = string.Empty;

            try
            {
                oldDataBackup = Configuration.WebsiteConfig.GetThemeJsonFileAsString(themeNameToBeUpdated);

                string newJsonData = viewModel.JasperJson;

                Configuration.WebsiteConfig.SaveThemeJsonFileAsString(newJsonData, themeNameToBeUpdated);

                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                Configuration.ThemeHelper.UpdateAllThemeRelatedData(_databaseContext, culture); // apply changes

                TempData["Success"] = true;
            }
            catch
            {
                TempData["ErrorMessage"] = "Soubor nebylo možné aktualizovat.";

                // revert chages
                Configuration.WebsiteConfig.SaveThemeJsonFileAsString(oldDataBackup, themeNameToBeUpdated);
            }



            JasperJsonThemeViewModel model = new JasperJsonThemeViewModel();

            model.JasperJson = Configuration.WebsiteConfig.GetThemeJsonFileAsString(themeNameToBeUpdated);

            // currently selected theme will be first in the list
            List <Theme> allThemes       = _dbHelper.GetAllThemes();
            Theme        themeBeingShown = allThemes.Where(t => t.Id == selectedThemeId).Single();

            allThemes.Remove(themeBeingShown);
            allThemes.Insert(0, themeBeingShown);

            // currently activated theme will be marked
            int currentThemeid = _dbHelper.GetCurrentThemeIdFromDb();

            allThemes.Where(t => t.Id == currentThemeid).Single().Name += " " + _localizer["(active)"];

            model.Themes = allThemes;

            ModelState.Clear();
            if (isAjaxRequest)
            {
                return(PartialView("JasperJsonThemePartialView", model));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #11
0
        public ActionResult Index(ThemesViewModel model, IFormCollection collection)
        {
            ThemesViewModel model2 = new ThemesViewModel();

            try
            {
                int itemsPerPage = 6;
                int currentPage  = model.PageNumber;

                string next = collection["next"];
                string prev = collection["prev"];

                if (next != null)
                {
                    currentPage++;
                }
                if (prev != null)
                {
                    currentPage--;
                }

                IRequestCultureFeature culture       = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                List <ThemeInfo>       themeInfoList = Configuration.ThemeHelper.GetInstalledThemesInfo(culture);

                themeInfoList.OrderBy(o => o.ThemeName);
                ThemeInfo currentTheme = themeInfoList.Where(i => i.ThemeName == Configuration.GlobalWebsiteConfig.ThemeName).First();
                themeInfoList.Remove(currentTheme);
                themeInfoList.Insert(0, currentTheme);


                JasperPaging <ThemeInfo> paging = new JasperPaging <ThemeInfo>(themeInfoList, currentPage, itemsPerPage);


                model2.SelectedThemeName  = Configuration.GlobalWebsiteConfig.ThemeName;
                model2.ThemeFolder        = Configuration.ThemeFolder;
                model2.PageNumber         = paging.CurrentPageNumber;
                model2.ItemsPerPage       = paging.ItemsPerPage;
                model2.TotalNumberOfPages = paging.NumberOfPagesNeeded;
                model2.ThemeInfoList      = paging.GetCurrentPageItems();
            }
            catch
            {
                TempData["ErrorMessage"] = "Při provádění pořadavku došlo k chybě";
            }

            bool isAjaxRequest = Request.Headers["x-requested-with"] == "XMLHttpRequest";

            if (isAjaxRequest)
            {
                ModelState.Clear();
                return(PartialView("ThemesPartialView", model2));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
Exemple #12
0
        public ThemesViewModel UpdatePage()
        {
            try
            {
                int itemsPerPage = 6;
                int currentPage  = 1;

                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>(); // Theme description path is based on locale e.g. (desc.cs.txt) for the Czech language

                List <ThemeInfo> themeInfoList = Configuration.ThemeHelper.GetInstalledThemesInfoByNameAndActive(culture);

                JasperPaging <ThemeInfo> paging = new JasperPaging <ThemeInfo>(themeInfoList, currentPage, itemsPerPage);

                ThemesViewModel model = new ThemesViewModel();
                model.SelectedThemeName  = Configuration.GlobalWebsiteConfig.ThemeName;
                model.ThemeFolder        = Configuration.ThemeFolder;
                model.PageNumber         = paging.CurrentPageNumber;
                model.ItemsPerPage       = paging.ItemsPerPage;
                model.TotalNumberOfPages = paging.NumberOfPagesNeeded;

                model.ThemeInfoList = paging.GetCurrentPageItems();

                // Not registered themes check


                model.NotRegisteredThemeNames   = dbHelper.CheckThemeFolderAndDatabaseIntegrity(culture);
                model.ManuallyDeletedThemeNames = dbHelper.FindManuallyDeletedThemes(culture);

                return(model);
            }
            catch (ThemeNotExistsException ex) // specified theme of jasper.json property "themeName" does not exist
            {
                ThemesViewModel model = new ThemesViewModel();
                model.ItemsPerPage = 3;
                model.ManuallyDeletedThemeNames = null;
                model.NotRegisteredThemeNames   = null;
                model.PageNumber         = 1;
                model.SelectedThemeName  = "Globální soubor jasper.json uvádí jako vzhled: " + ex.MissingThemeName + " který ale ve složce " + Configuration.ThemeFolder + " neexistuje";
                model.ThemeFolder        = Configuration.ThemeFolder;
                model.ThemeInfoList      = null;
                model.TotalNumberOfPages = default(int);
                return(model);
            }
            catch
            {
                ThemesViewModel model = new ThemesViewModel();
                model.ItemsPerPage = 3;
                model.ManuallyDeletedThemeNames = null;
                model.NotRegisteredThemeNames   = null;
                model.PageNumber         = 1;
                model.SelectedThemeName  = null;
                model.ThemeFolder        = null;
                model.ThemeInfoList      = null;
                model.TotalNumberOfPages = default(int);
                return(model);
            }
        }
        private void RefreshPageModel()
        {
            SetLanguage(DdlLanguagesSelectedValue);
            DdlLanguagesDataSource = _languages.Select(l => new SelectListItem(l.Name, l.Code)).ToList();

            IRequestCultureFeature requestCultureFeature = HttpContext.Features.Get <IRequestCultureFeature>();
            RequestCulture         requestCulture        = requestCultureFeature.RequestCulture;

            LblCurrentLanguage = requestCulture.Culture.Name;
        }
Exemple #14
0
        public IActionResult CheckSerializationAndDeserializationForHttpPut([FromRoute] int id, [FromBody] HealthCheckSerializationAndDeserializationViewModel obj)
        {
            obj = obj ?? new HealthCheckSerializationAndDeserializationViewModel();

            IRequestCultureFeature rqf = Request.HttpContext.Features.Get <IRequestCultureFeature>();

            System.Globalization.CultureInfo culture = rqf.RequestCulture.Culture;

            return(Ok(new { Culture = culture.Name, FromRoute = id, FromBody = obj }));
        }
Exemple #15
0
        public Language GetCurrentLanguage()
        {
            IRequestCultureFeature requestCultureFeature = _httpContextAccessor.HttpContext.Features.Get <IRequestCultureFeature>();
            var uiCultureInfo = requestCultureFeature.RequestCulture.Culture;

            if (uiCultureInfo != null && uiCultureInfo.Name.EndsWith("en"))
            {
                return(Language.En);
            }
            return(Language.De);
        }
        /// <summary>
        /// Gets the custom key that should be used when calculating the memory cache key.
        /// </summary>
        public string CacheKey(HttpContext context)
        {
            IRequestCultureFeature cf = context.Features.Get <IRequestCultureFeature>();

            if (cf == null)
            {
                throw new InvalidOperationException("No UI culture found.  Did you forget to add UseRequestLocalization?");
            }

            return(cf.RequestCulture.UICulture.TwoLetterISOLanguageName);
        }
Exemple #17
0
        // Pass the requestCultureFeature and requestCulture objects to the view
        // so we can get Culture/UICulture information.

        public IActionResult About()
        {
            IRequestCultureFeature requestCultureFeature = HttpContext.Features.Get <IRequestCultureFeature>();
            RequestCulture         requestCulture        = requestCultureFeature.RequestCulture;

            ViewData["requestCultureFeature"] = requestCultureFeature;
            ViewData["requestCulture"]        = requestCulture;
            ViewData["Message"] = _localizer["Your application description page."];

            return(View());
        }
Exemple #18
0
        private void TryChangeLanguage(string culture)
        {
            IRequestCultureFeature feature = HttpContext.Features.Get <IRequestCultureFeature>();

            Response.Cookies.Append(
                CookieRequestCultureProvider.DefaultCookieName,
                //  CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(feature.RequestCulture.UICulture.ToString())),
                CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
                new CookieOptions {
                Expires = DateTimeOffset.UtcNow.AddYears(1)
            });
        }
Exemple #19
0
        public IActionResult Set(string uiCulture, string returnUrl)
        {
            IRequestCultureFeature feature = HttpContext.Features.Get <IRequestCultureFeature>();

            RequestCulture request = new RequestCulture(feature.RequestCulture.Culture, new CultureInfo(uiCulture));

            string cookieValue = CookieRequestCultureProvider.MakeCookieValue(request);
            string cookieName  = CookieRequestCultureProvider.DefaultCookieName;

            Response.Cookies.Append(cookieName, cookieValue);

            return(LocalRedirect(returnUrl));
        }
        public ActionResult SetCulture()
        {
            IRequestCultureFeature culture = HttpContext.Features.Get <IRequestCultureFeature>();

            Response.Cookies.Append(
                CookieRequestCultureProvider.DefaultCookieName,
                CookieRequestCultureProvider.MakeCookieValue(
                    new RequestCulture(new string[] { "en-US", "fr-FR" }
                                       .Where(option => option != culture.RequestCulture.Culture.Name)
                                       .FirstOrDefault())));

            return(Redirect("/"));
        }
Exemple #21
0
      public IActionResult UpdateAllThemesData()
      {
          try
          {
              IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
              Configuration.ThemeHelper.UpdateAllThemeRelatedData(_databaseContext, culture);
              TempData["Success"] = true;
          }
          catch (Exception)
          {
              TempData["ErrorMessage"] = _localizer["The changes could not be completed."];
          }

          return(RedirectToAction("Index"));
      }
Exemple #22
0
        public IActionResult UpdateAllThemesData()
        {
            try
            {
                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                Configuration.ThemeHelper.UpdateAllThemeRelatedData(databaseContext, culture);
                TempData["Success"] = true;
            }
            catch (Exception)
            {
                TempData["ErrorMessage"] = "Změny nebylo možné provést";
            }

            return(RedirectToAction("Index"));
        }
Exemple #23
0
        public IActionResult ReconstructAllThemesCorrespondingDatabaseTables()
        {
            try
            {
                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                dbHelper.ReconstructAndClearThemeData(culture);
                TempData["Success"] = true;
            }
            catch
            {
                TempData["ErrorMessage"] = "Nepodařilo se synchronizovat a rekonstruovat databázi vzhledů";
            }

            return(RedirectToAction("Index"));
        }
Exemple #24
0
        public IActionResult AddNewAddedThemesToDb()
        {
            try
            {
                IRequestCultureFeature culture = Request.HttpContext.Features.Get <IRequestCultureFeature>();
                dbHelper.AddThemesFromFolderToDatabase(dbHelper.CheckThemeFolderAndDatabaseIntegrity(culture), culture);

                TempData["Success"] = true;
            }
            catch
            {
                TempData["ErrorMessage"] = "Nebylo možné přidat nové vzhledy do databáze";
            }

            return(RedirectToAction("Index"));
        }
        public IActionResult GetOpenPositions()
        {
            IRequestCultureFeature requestCulture = this.Request
                                                    .HttpContext
                                                    .Features
                                                    .Get <IRequestCultureFeature>();
            var culture = requestCulture
                          .RequestCulture
                          .Culture
                          .Name;

            ICollection <LatestJobPositionsViewModel> positions =
                this.homeServices.GetTopOpenJobPositions(culture);

            return(new JsonResult(positions));
        }
Exemple #26
0
        public virtual ActionResult Start()
        {
            // Redirect to localized Index
            IRequestCultureFeature requestCultureFeature = Request.HttpContext.Features.Get <IRequestCultureFeature>();

            string action = Url.Action("Index", "Home", new
            {
                culture = requestCultureFeature.RequestCulture.Culture.Name,
            });

            // Fallback if localized route does not exist
            ////if (string.IsNullOrEmpty(action))
            ////{
            ////}

            return(LocalRedirect(action));
        }
        public void ApplyRule(RewriteContext rewriteContext)
        {
            // TODO find why non-existing resources that would give 404 (such as missing ico) send into infinite loop
            if (rewriteContext.HttpContext.Request.Path.Value.EndsWith(".ico"))
            {
                return;
            }

            IRequestCultureFeature cultureFeature = rewriteContext.HttpContext.Features.Get <IRequestCultureFeature>();

            string actualCulture = cultureFeature?.RequestCulture.Culture.Name;

            string requestedCulture = rewriteContext.HttpContext.GetRouteValue(_cultureRouteKey)?.ToString();

            Console.WriteLine(rewriteContext.HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName]);
            Console.WriteLine(actualCulture);
            Console.WriteLine(requestedCulture);

            if ($"c={actualCulture}|uic={actualCulture}" !=
                rewriteContext.HttpContext.Request.Cookies[CookieRequestCultureProvider.DefaultCookieName])
            {
                rewriteContext.HttpContext.Response.Cookies.Append(
                    CookieRequestCultureProvider.DefaultCookieName,
                    CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(actualCulture)),
                    new CookieOptions {
                    Expires = DateTimeOffset.UtcNow.AddYears(1)
                }
                    );
            }

            // TODO ensure to give precedence to cookie containing localization. Either redirect here, or changeculture model needs to be aware of more corner cases.
            if (string.IsNullOrEmpty(requestedCulture) || _cultureItems.All(x => x.Name != requestedCulture) &&
                !string.Equals(requestedCulture, actualCulture, StringComparison.OrdinalIgnoreCase))
            {
                string localizedPath = $"/{actualCulture}{rewriteContext.HttpContext.Request.Path.Value}".ToLower();

                HttpResponse response = rewriteContext.HttpContext.Response;
                response.StatusCode   = StatusCodes.Status301MovedPermanently;
                rewriteContext.Result = RuleResult.EndResponse;

                // preserve query part parameters of the URL (?parameters) if there were any
                response.Headers[HeaderNames.Location] =
                    localizedPath + rewriteContext.HttpContext.Request.QueryString;
            }
        }
        public IActionResult Index()
        {
            IRequestCultureFeature requestCulture = this.Request
                                                    .HttpContext
                                                    .Features
                                                    .Get <IRequestCultureFeature>();
            var culture = requestCulture
                          .RequestCulture
                          .Culture
                          .Name;

            var model = new CareerViewModel
            {
                JobPositionViewModels = this.careerService.GetAllJobsPositions(culture),
            };

            return(this.View(model));
        }
Exemple #29
0
        public IActionResult Set(string uiCulture, string returnUrl)
        {
            var languages = Request.GetTypedHeaders()
                            .AcceptLanguage
                            ?.OrderByDescending(x => x.Quality ?? 1) // Quality defines priority from 0 to 1, where 1 is the highest.
                            .Select(x => x.Value.ToString())
                            .ToArray() ?? Array.Empty <string>();

            IRequestCultureFeature feature        = HttpContext.Features.Get <IRequestCultureFeature>();
            RequestCulture         requestCulture = new RequestCulture(feature.RequestCulture.Culture, new CultureInfo(uiCulture));

            string cookieValue = CookieRequestCultureProvider.MakeCookieValue(requestCulture);
            string cookieName  = CookieRequestCultureProvider.DefaultCookieName;

            Response.Cookies.Append(cookieName, cookieValue);

            return(LocalRedirect(returnUrl));
        }
Exemple #30
0
        public async Task <IActionResult> Index()
        {
            IRequestCultureFeature requestCulture = this.Request
                                                    .HttpContext
                                                    .Features
                                                    .Get <IRequestCultureFeature>();
            var culture = requestCulture
                          .RequestCulture
                          .Culture
                          .Name;

            var model = new CompanyViewModel
            {
                HasAdmin    = await this.homeServices.HasAdministrator(),
                AllSections = await this.companyService.GetAllCompanySections(culture),
            };

            return(this.View(model));
        }