public static SettingsModel LoadFromDb(AppRepository repository)
        {
            SettingsDbModel settingInDb = repository.GetSettingsAsync(1).Result;

            if (settingInDb == null)
            {
                var cc   = CrossMultilingual.Current.CurrentCultureInfo;
                var lang = TranslationManager.GetLangByCulture(cc);
                settingInDb = new SettingsDbModel()
                {
                    Id = 1, SettingsJson = JsonConvert.SerializeObject(new SettingsModel()
                    {
                        Language = lang
                    })
                };
                repository.SetSettingsAsync(settingInDb);
            }

            var res      = new SettingsModel();
            var settings = JsonConvert.DeserializeObject <SettingsModel>(settingInDb.SettingsJson);

            res.Language           = settings.Language;
            res.ShowDocsOnWifiOnly = settings.ShowDocsOnWifiOnly;
            res.ShowMsgUpdates     = settings.ShowMsgUpdates;
            res.FontIndex          = settings.FontIndex;

            switch (res.Language)
            {
            case SmeLanguage.Bulgarian:
                Properties.Resources.Culture = new CultureInfo("bg");
                break;

            case SmeLanguage.English:
                Properties.Resources.Culture = new CultureInfo("en-US");
                break;

            case SmeLanguage.Italian:
                Properties.Resources.Culture = new CultureInfo("it");
                break;

            case SmeLanguage.German:
                Properties.Resources.Culture = new CultureInfo("de");
                break;

            case SmeLanguage.French:
                Properties.Resources.Culture = new CultureInfo("fr");
                break;

            default:
                break;
            }

            CrossMultilingual.Current.CurrentCultureInfo = Properties.Resources.Culture;
            return(res);
        }
Esempio n. 2
0
 public async Task <int> SetSettingsAsync(SettingsDbModel item)
 {
     if ((await this.db.Table <SettingsDbModel>().FirstOrDefaultAsync(x => x.Id == item.Id)) == null)
     {
         return(await this.db.InsertAsync(item).ConfigureAwait(false));
     }
     else
     {
         return(await this.db.UpdateAsync(item).ConfigureAwait(false));
     }
 }
        public long Handle(AddOrUpdateSettingsCommand command)
        {
            var groupSettings = _context.Settings.FirstOrDefault(model => model.Id == command.GroupId);
            var toUpdate = true;

            if (groupSettings == null)
            {
                groupSettings = new SettingsDbModel();
                toUpdate = false;
            }
                
            var jsSerializator = new JavaScriptSerializer();
            var geoOptionsJson = jsSerializator.Serialize(command.GeoOptions);
            var friendOptionsJson = jsSerializator.Serialize(command.FriendsOptions);
            var messageOptionsJson = jsSerializator.Serialize(command.MessageOptions);
            var limitsOptionsJson = jsSerializator.Serialize(command.LimitsOptions);
            var communityOptionsJson = jsSerializator.Serialize(command.CommunityOptions);
            var deleteFriendsOptionsJson = jsSerializator.Serialize(command.DeleteFriendsOptions);
            var winkFriendsOptionsJson = jsSerializator.Serialize(command.WinkFriendsOptions);

            groupSettings.Id = command.GroupId;

            groupSettings.GeoOptions = geoOptionsJson;
            groupSettings.FriendsOptions = friendOptionsJson;
            groupSettings.MessageOptions = messageOptionsJson;
            groupSettings.LimitsOptions = limitsOptionsJson;
            groupSettings.CommunityOptions = communityOptionsJson;
            groupSettings.DeleteFriendsOptions = deleteFriendsOptionsJson;
            groupSettings.WinkFriendsOptions = winkFriendsOptionsJson;

            if (toUpdate)
            {
                _context.Settings.AddOrUpdate(groupSettings);
            }
            else
            {
                _context.Settings.Add(groupSettings);
            }

            _context.SaveChanges();

            return groupSettings.Id;
        }