/// <summary> /// Возвращает языковой пакет, активный для пользователя, ассоциированного с контекстом <paramref name="context"/>. /// </summary> /// <returns>Возвращает объект типа <see cref="Language"/> или null в случае ошибки.</returns> /// <exception cref="ArgumentNullException">Возникает, если <paramref name="context"/> равен null.</exception> Language GetUserLanguage(IUserContext context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } try { using (var db = new DB.DataContext()) { var id = AppCore.AppConfig.IdSystemLanguage; var query = from Language in db.Language where Language.IsDefault != 0 || Language.IdLanguage == id orderby(Language.IdLanguage == id? 1 : 0) descending select Language; var data = query.FirstOrDefault(); return(data != null?CreateFromDB(data) : CreateDefaultLanguage()); } } catch (Exception ex) { this.RegisterEvent(EventType.Error, "Ошибка при получении активного системного языкового пакета", null, null, ex); return(null); } }
/// <summary> /// Возвращает список языковых пакетов, зарегистрированных в системе. /// </summary> /// <returns>Возвращает список языковых пакетов или null в случае ошибки.</returns> public List <Language> GetLanguages() { try { using (var db = new DB.DataContext()) { return(db.Language.ToList().Select(x => CreateFromDB(x)).ToList()); } } catch (Exception ex) { this.RegisterEvent(EventType.Error, "Ошибка при получении списка языковых пакетов", null, null, ex); return(null); } }