Beispiel #1
0
 private LangViewModels()
 {
     VirtualRoot.On <LangSetRefreshedEvent>("刷新语言后刷新VM数据集", LogEnum.None,
                                            action: message => {
         Init();
     });
     VirtualRoot.On <LangAddedEvent>("添加了语言后刷新VM内存", LogEnum.None,
                                     action: message => {
         _langVms.Add(new LangViewModel(message.Source));
         OnPropertyChanged(nameof(LangVms));
     });
     VirtualRoot.On <LangUpdatedEvent>("修改了语言后刷新VM内存", LogEnum.None,
                                       action: message => {
         LangViewModel langVm = _langVms.FirstOrDefault(a => a.Id == message.Source.GetId());
         if (langVm != null)
         {
             langVm.Update(message.Source);
         }
     });
     VirtualRoot.On <LangRemovedEvent>("删除了语言后刷新VM内存", LogEnum.None,
                                       action: message => {
         LangViewModel langVm = _langVms.FirstOrDefault(a => a.Id == message.Source.GetId());
         if (langVm != null)
         {
             _langVms.Remove(langVm);
             OnPropertyChanged(nameof(LangVms));
         }
     });
     Init();
 }
Beispiel #2
0
        public List <LangViewItemViewModel> GetLangItemVms(LangViewModel lang, string viewId)
        {
            if (!_dicByLangAndView.ContainsKey(lang))
            {
                return(new List <LangViewItemViewModel>());
            }
            var dic = _dicByLangAndView[lang];

            if (!dic.ContainsKey(viewId))
            {
                return(new List <LangViewItemViewModel>());
            }
            return(dic[viewId]);
        }
Beispiel #3
0
 private LangViewModels()
 {
     Global.Access <LangAddedEvent>(
         Guid.Parse("F0417261-877F-4310-895F-2B14099B2ABF"),
         "添加了语言后刷新VM内存",
         LogEnum.None,
         action: message => {
         _langVms.Add(new LangViewModel(message.Source));
         OnPropertyChanged(nameof(LangVms));
     });
     Global.Access <LangUpdatedEvent>(
         Guid.Parse("646181E6-044D-4D2F-B357-A3B376DAE680"),
         "修改了语言后刷新VM内存",
         LogEnum.None,
         action: message => {
         LangViewModel langVm = _langVms.FirstOrDefault(a => a.Id == message.Source.GetId());
         if (langVm != null)
         {
             langVm.Update(message.Source);
         }
     });
     Global.Access <LangRemovedEvent>(
         Guid.Parse("3684144A-26C8-47B9-881D-E66930A6E87D"),
         "删除了语言后刷新VM内存",
         LogEnum.None,
         action: message => {
         LangViewModel langVm = _langVms.FirstOrDefault(a => a.Id == message.Source.GetId());
         if (langVm != null)
         {
             _langVms.Remove(langVm);
             OnPropertyChanged(nameof(LangVms));
         }
     });
     foreach (var lang in LangSet.Instance)
     {
         _langVms.Add(new LangViewModel(lang));
     }
     _currentLangVm = _langVms.FirstOrDefault(a => a.Id == Global.Lang.GetId());
     if (_currentLangVm == null)
     {
         _currentLangVm = _langVms.First();
     }
 }
Beispiel #4
0
 public LangViewModel(Guid id)
 {
     _id       = id;
     this.Edit = new DelegateCommand(() => {
         LangEdit.ShowWindow(new LangViewModel(this));
     });
     this.Remove = new DelegateCommand(() => {
         if (this.Id == Guid.Empty)
         {
             return;
         }
         DialogWindow.ShowDialog(message: $"您确定删除{this.Code}语言吗?", title: "确认", onYes: () => {
             VirtualRoot.Execute(new RemoveLangCommand(this.Id));
         }, icon: IconConst.IconConfirm);
     });
     this.SortUp = new DelegateCommand(() => {
         LangViewModel upOne = LangViewModels.Current.LangVms.OrderByDescending(a => a.SortNumber).FirstOrDefault(a => a.SortNumber < this.SortNumber);
         if (upOne != null)
         {
             int sortNumber   = upOne.SortNumber;
             upOne.SortNumber = this.SortNumber;
             VirtualRoot.Execute(new UpdateLangCommand(upOne));
             this.SortNumber = sortNumber;
             VirtualRoot.Execute(new UpdateLangCommand(this));
             LangViewModels.Current.OnPropertyChanged(nameof(LangViewModels.LangVms));
         }
     });
     this.SortDown = new DelegateCommand(() => {
         LangViewModel nextOne = LangViewModels.Current.LangVms.OrderBy(a => a.SortNumber).FirstOrDefault(a => a.SortNumber > this.SortNumber);
         if (nextOne != null)
         {
             int sortNumber     = nextOne.SortNumber;
             nextOne.SortNumber = this.SortNumber;
             VirtualRoot.Execute(new UpdateLangCommand(nextOne));
             this.SortNumber = sortNumber;
             VirtualRoot.Execute(new UpdateLangCommand(this));
             LangViewModels.Current.OnPropertyChanged(nameof(LangViewModels.LangVms));
         }
     });
 }