public void EditLocale(string param) { if (!CanEditLocale(param)) { return; } string key = string.IsNullOrEmpty(Text) ? UniqueName : Text; switch (param) { case "VisibleName": LocalizatorViewModel vm = new ViewModelLocator().Localizator; LocalisationModel locales = new ViewModelLocator().Main.Project.DefaultLocale; LocaleModel model = locales.LocalisationMap.FirstOrDefault( l => l.Key == key); if (model != null) { vm.Locale = model; } else { vm.Locale = new LocaleModel { Key = key, Value = VisibleName }; } vm.AddOrUpdateCommand = AddOrUpdateLocale; vm.RaisePropertyChanged(() => vm.Locale); break; case "Description": vm = new ViewModelLocator().Localizator; locales = new ViewModelLocator().Main.Project.DefaultLocale; model = locales.LocalisationMap.FirstOrDefault( l => l.Key == key + "_desc"); if (model != null) { vm.Locale = model; } else { vm.Locale = new LocaleModel { Key = key + "_desc", Value = Description }; } vm.AddOrUpdateCommand = AddOrUpdateLocale; vm.RaisePropertyChanged(() => vm.Locale); break; } }
public void EditLocale(string param) { if (!CanEditLocale(param)) { return; } switch (param) { case "Title": LocalizatorViewModel vm = new ViewModelLocator().Localizator; LocalisationModel locales = new ViewModelLocator().Main.Project.DefaultLocale; LocaleModel model = locales.LocalisationMap.FirstOrDefault( l => l.Key == Id + ".t"); if (model != null) { vm.Locale = model; } else { vm.Locale = new LocaleModel { Key = Id + ".t", Value = Title }; } vm.AddOrUpdateCommand = AddOrUpdateLocale; vm.RaisePropertyChanged(() => vm.Locale); break; case "Description": vm = new ViewModelLocator().Localizator; locales = new ViewModelLocator().Main.Project.DefaultLocale; model = locales.LocalisationMap.FirstOrDefault( l => l.Key == Id + ".d"); if (model != null) { vm.Locale = model; } else { vm.Locale = new LocaleModel { Key = Id + ".d", Value = Description }; } vm.AddOrUpdateCommand = AddOrUpdateLocale; vm.RaisePropertyChanged(() => vm.Locale); break; } }
public void AddOrUpdateLocale() { LocalizatorViewModel vm = new ViewModelLocator().Localizator; LocalisationModel locales = new ViewModelLocator().Main.Project.DefaultLocale; LocaleModel model = locales.LocalisationMap.FirstOrDefault( l => l.Key == vm.Locale.Key); if (model == null) { locales.LocalisationMap.Add(vm.Locale); } locales.RaisePropertyChanged(() => locales.LocalisationMap); RaisePropertyChanged(() => Title); RaisePropertyChanged(() => Description); }