public List <Word> All()
 {
     using (var db = new ModelLanguage())
     {
         return(db.Words.ToList());
     }
 }
 public List <Word> Get(int count)
 {
     using (var db = new ModelLanguage())
     {
         return(db.Words.Take(count).ToList());
     }
 }
Exemplo n.º 3
0
        /// <summary> Обработчик изменения изменения языка приложения </summary>
        public static void ChangeLanguage(object sender, ModelLanguage modelLanguage)
        {
            if (modelLanguage == null)
            {
                return;
            }

            var resourceDictionary = Application.Current.Resources.MergedDictionaries.FirstOrDefault(dict => dict.Source.ToString().Contains(@"Localization"));

            Application.Current.Resources.MergedDictionaries.Remove(resourceDictionary);

            var localizationDictionaryUri = DefaultLocalizationDictionaryUri;

            switch (modelLanguage.CodeName.Trim().ToLower())
            {
            case "en":
                localizationDictionaryUri = @"pack://*****:*****@"pack://application:,,,/dodicall;component/Localization/Localization.lang.ru.xaml";
                break;
            }

            resourceDictionary = new ResourceDictionary {
                Source = new Uri(localizationDictionaryUri)
            };

            Application.Current.Resources.MergedDictionaries.Add(resourceDictionary);
        }
 public void Remove(Word t)
 {
     using (var db = new ModelLanguage())
     {
         db.Words.Remove(t);
         db.SaveChanges();
     }
 }
 public void Add(Word t)
 {
     using (var db = new ModelLanguage())
     {
         db.Words.Add(t);
         db.SaveChanges();
     }
 }
Exemplo n.º 6
0
        /// <summary> Получить настройки пользователя </summary>
        public static ModelUserSettings GetModelUserSettings()
        {
            var userSettings = Logic.GetUserSettings();

            var deviceSettings = Logic.GetDeviceSettings();

            var listModelUserAccount = new List <ModelUserAccount>();

            foreach (var serverSettingModelManaged in deviceSettings.ServerSettings.Where(obj => obj.ServerType == ServerSettingTypeManaged.Sip))
            {
                var modelUserAccount = new ModelUserAccount
                {
                    Name    = serverSettingModelManaged.AuthUserName,
                    Domain  = serverSettingModelManaged.Domain,
                    Default = serverSettingModelManaged.Default
                };

                listModelUserAccount.Add(modelUserAccount);
            }

            var defaultModelUserAccount = listModelUserAccount.FirstOrDefault(obj => obj.Domain.Equals(userSettings.DefaultVoipServer, StringComparison.InvariantCultureIgnoreCase)) ?? listModelUserAccount.FirstOrDefault(obj => obj.Default);

            var result = new ModelUserSettings
            {
                AutoLogin          = userSettings.Autologin,
                Autostart          = userSettings.Autostart,
                GuiAnimation       = userSettings.GuiAnimation,
                TraceMode          = userSettings.TraceMode,
                VideoEnabled       = userSettings.VideoEnabled,
                GuiFontSize        = userSettings.GuiFontSize,
                DoNotDesturbMode   = userSettings.DoNotDesturbMode,
                ModelLanguageObj   = ModelLanguage.GetModelLanguage(userSettings.GuiLanguage),
                ModelEnumThemeObj  = ModelEnumTheme.GetModelEnum(userSettings.GuiThemeName),
                UserExtendedStatus = userSettings.UserExtendedStatus,
                ModelEnumEchoCancellationModeObj = ModelEnumEchoCancellationMode.GetModelEnum((int)userSettings.EchoCancellationMode),
                ModelEnumUserBaseStatusObj       = ModelEnumUserBaseStatus.GetModelEnum((int)userSettings.UserBaseStatus),
                ModelEnumVideoSizeCellObj        = ModelEnumVideoSizeCell.GetModelEnum((int)userSettings.VideoSizeCell),
                ModelEnumVideoSizeWifiObj        = ModelEnumVideoSizeWifi.GetModelEnum((int)userSettings.VideoSizeWifi),
                ListModelUserAccount             = listModelUserAccount,
                DefaultModelUserAccountObj       = defaultModelUserAccount,
                ModelEnumVoipEncryptionObj       = ModelEnumVoipEncryption.GetModelEnum((int)userSettings.VoipEncryption),
                ListModelCodecSettingsAudioWifi  = deviceSettings.CodecSettings.Where(obj => obj.Type == CodecTypeManaged.Audio && obj.ConnectionType == CodecConnectionTypeManaged.Wifi).Select(obj => new ModelCodecSettings {
                    CodecSettingModelManagedObj = obj
                }).ToList(),
                ListModelCodecSettingsAudioCell = deviceSettings.CodecSettings.Where(obj => obj.Type == CodecTypeManaged.Audio && obj.ConnectionType == CodecConnectionTypeManaged.Cell).Select(obj => new ModelCodecSettings {
                    CodecSettingModelManagedObj = obj
                }).ToList(),
                ListModelCodecSettingsVideo = deviceSettings.CodecSettings.Where(obj => obj.Type == CodecTypeManaged.Video).Select(obj => new ModelCodecSettings {
                    CodecSettingModelManagedObj = obj
                }).ToList()
            };

            return(result);
        }
        /// <summary> Метод сохранения настроек </summary>
        private void Save(bool wihtoutOnCloseUserSettings)
        {
            DataSourceUserSettings.SaveModelUserSettings(CurrentModelUserSettings);

            _currentModelLanguage = CurrentModelUserSettings.ModelLanguageObj;

            CurrentModelUserSettingsChanged = false;

            if (wihtoutOnCloseUserSettings)
            {
                return;
            }

            OnCloseUserSettings();
        }
        /// <summary> Конструктор </summary>
        public ViewModelUserSettings()
        {
            CurrentModelUserSettings = DataSourceUserSettings.GetModelUserSettings();

            _countWhiteContact = DataSourceContact.GetCountWhiteContact();

            _currentModelLanguage = CurrentModelUserSettings.ModelLanguageObj;

            CommandOpenUrl = new Command(OpenUrl);

            CommandOpenLogChat     = new Command(obj => { OpenLog(DataSourceLogScope.GetChatLog()); });
            CommandOpenLogDatabase = new Command(obj => { OpenLog(DataSourceLogScope.GetDatabaseLog()); });
            CommandOpenLogRequest  = new Command(obj => { OpenLog(DataSourceLogScope.GetRequestsLog()); });
            CommandOpenLogVoip     = new Command(obj => { OpenLog(DataSourceLogScope.GetVoipLog()); });

            CommandOpenLogCallQuality = new Command(obj => { OpenLog(DataSourceLogScope.GetCallQualityLog()); });
            CommandOpenLogCallHistory = new Command(obj => { OpenLog(DataSourceLogScope.GetCallHistoryLog()); });
            CommandOpenLogGui         = new Command(obj => { OpenLog(DataSourceLogScope.GetGuiLog()); });

            CommandClearLogs = new Command(obj => { DataSourceLogScope.ClearLogs(); });

            ExportAviable = CheckEncryptionkey();

            CommandSave = new Command(obj => Save(obj as bool? ?? false));

            CommandEnableWriteList = new Command(obj => EnableWriteList());

            CommandPasteFromClipBoard = new Command(obj => { PasteFromClipBoard(); });

            CurrentModelUserSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); };

            foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsAudioWifi)
            {
                modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); };
            }

            foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsAudioCell)
            {
                modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); };
            }

            foreach (var modelCodecSettings in CurrentModelUserSettings.ListModelCodecSettingsVideo)
            {
                modelCodecSettings.PropertyChanged += (sender, args) => { CurrentModelUserSettingsPropertyChanged(); };
            }
        }
        /// <summary> Получить последнего залогинившегося пользователя </summary>
        public static ModelLogin GetLastModelLogin()
        {
            var lastLogin = Logic.GetGlobalApplicationSettings();

            var modelLogin = new ModelLogin
            {
                Login              = lastLogin.LastLogin, //lastUser.Autologin ? lastUser.LastLogin : String.Empty,
                Password           = lastLogin.Autologin && !String.IsNullOrWhiteSpace(lastLogin.LastLogin) ? UtilitySecurity.LoadPasswordFromIsolatedStorage(lastLogin.LastLogin) : null,
                AutoLogin          = lastLogin.Autologin,
                LastModelAutoLogin = lastLogin.Autologin,
                Autostart          = lastLogin.Autostart,
                ModelLanguageObj   = ModelLanguage.GetModelLanguage(lastLogin.DefaultGuiLanguage),
                ServerAreaCode     = (int)lastLogin.Area // т.к. СВ сказал не подгружать площадки если ServerAreaCode == 0
            };

            if (String.IsNullOrWhiteSpace(modelLogin.Login) || modelLogin.Password == null)
            {
                modelLogin.AutoLogin          = false;
                modelLogin.LastModelAutoLogin = false;
            }

            return(modelLogin);
        }
        /// <summary> Конструктор </summary>
        private LocalizationApp()
        {
            FillDictionaries();

            _modelLanguageObj = ModelLanguage.GetModelLanguage(@"en");
        }
 /// <summary> Инвокатор события LocalizationChanged </summary>
 private void OnLocalizationChanged(ModelLanguage modelLanguage)
 {
     LocalizationChanged?.Invoke(this, modelLanguage);
 }
 /// <summary> Сохранение языка приложения до авторизации пользователя </summary>
 public static void SaveModelLanguage(ModelLanguage modelLanguage)
 {
     Logic.SaveDefaultGuiLanguage(modelLanguage.CodeName);
 }