Atomia.Web.Frame.Controllers.HomeController.GetAvailableLanguages C# (CSharp) Метод

GetAvailableLanguages() приватный Метод

Gets the available languages.
private GetAvailableLanguages ( ) : List
Результат List
        private List<LanguageModel> GetAvailableLanguages()
        {
            IList<Language> resellerLanguages = ResellerHelper.GetResellerLanguages();
            List<LanguageModel> languages =
                resellerLanguages.Select(
                    language =>
                    new LanguageModel
                    {
                        Code = language.Code,
                        Name = language.Code.Replace("-", String.Empty),
                        IsDefault = language.IsDefault
                    }).ToList();

            try
            {
                if (this.HttpContext.Session != null && this.HttpContext.Session["SessionAccountLanguages"] != null)
                {
                    AtomiaCultureInfo cultureInfo = this.HttpContext.Session["SessionAccountLanguages"] as AtomiaCultureInfo;
                    if (cultureInfo != null)
                    {
                        string defaultLanguage = string.Format("{0}-{1}", cultureInfo.Language, cultureInfo.Culture);

                        if (languages.Any(l => l.Code == defaultLanguage))
                        {
                            foreach (LanguageModel languageModel in languages.Where(l => l.IsDefault))
                            {
                                languageModel.IsDefault = false;
                            }

                            languages.First(l => l.Code == defaultLanguage).IsDefault = true;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                OrderPageLogger.LogOrderPageException(e);
            }

            return languages;
        }