public CoinViewModel(Guid id) { _id = id; this.Save = new DelegateCommand(() => { if (NTMinerRoot.Current.CoinSet.Contains(this.Id)) { Global.Execute(new UpdateCoinCommand(this)); } else { Global.Execute(new AddCoinCommand(this)); } CloseWindow?.Invoke(); }); this.ViewCoinInfo = new DelegateCommand(() => { Process.Start("https://www.feixiaohao.com/currencies/" + this.EnName + "/"); }); this.Edit = new DelegateCommand(() => { CoinEdit.ShowEditWindow(this); }); this.Remove = new DelegateCommand(() => { if (this.Id == Guid.Empty) { return; } DialogWindow.ShowDialog(message: $"您确定删除{this.Code}币种吗?", title: "确认", onYes: () => { Global.Execute(new RemoveCoinCommand(this.Id)); }, icon: "Icon_Confirm"); }); this.SortUp = new DelegateCommand(() => { CoinViewModel upOne = CoinViewModels.Current.AllCoins.OrderByDescending(a => a.SortNumber).FirstOrDefault(a => a.SortNumber < this.SortNumber); if (upOne != null) { int sortNumber = upOne.SortNumber; upOne.SortNumber = this.SortNumber; Global.Execute(new UpdateCoinCommand(upOne)); this.SortNumber = sortNumber; Global.Execute(new UpdateCoinCommand(this)); CoinPageViewModel.Current.OnPropertyChanged(nameof(CoinPageViewModel.List)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.MainCoins)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.AllCoins)); } }); this.SortDown = new DelegateCommand(() => { CoinViewModel nextOne = CoinViewModels.Current.AllCoins.OrderBy(a => a.SortNumber).FirstOrDefault(a => a.SortNumber > this.SortNumber); if (nextOne != null) { int sortNumber = nextOne.SortNumber; nextOne.SortNumber = this.SortNumber; Global.Execute(new UpdateCoinCommand(nextOne)); this.SortNumber = sortNumber; Global.Execute(new UpdateCoinCommand(this)); CoinPageViewModel.Current.OnPropertyChanged(nameof(CoinPageViewModel.List)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.MainCoins)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.AllCoins)); } }); this.AddPool = new DelegateCommand(() => { int sortNumber = this.Pools.Count == 0 ? 1 : this.Pools.Max(a => a.SortNumber) + 1; new PoolViewModel(Guid.NewGuid()) { CoinId = Id, SortNumber = sortNumber }.Edit.Execute(null); }); this.AddWallet = new DelegateCommand(() => { int sortNumber = this.Wallets.Count == 0 ? 1 : this.Wallets.Max(a => a.SortNumber) + 1; new WalletViewModel(Guid.NewGuid()) { CoinId = Id, SortNumber = sortNumber }.Edit.Execute(null); }); this.AddCoinKernel = new DelegateCommand(() => { KernelSelect.ShowWindow(this); }); }
public CoinViewModel(Guid id) { _id = id; this.ApplyTemplateOverClock = new DelegateCommand <OverClockDataViewModel>((data) => { DialogWindow.ShowDialog(message: data.Tooltip, title: "确定应用该超频设置吗?", onYes: () => { FillOverClock(data); ApplyOverClock(); }, icon: IconConst.IconConfirm); }); this.ApplyCustomOverClock = new DelegateCommand(() => { DialogWindow.ShowDialog(message: $"确定应用您的自定义超频吗?", title: "确认自定义超频", onYes: () => { ApplyOverClock(); }, icon: IconConst.IconConfirm); }); this.FillOverClockForm = new DelegateCommand <OverClockDataViewModel>((data) => { FillOverClock(data); }); this.AddOverClockData = new DelegateCommand(() => { new OverClockDataViewModel(Guid.NewGuid()) { CoinId = this.Id }.Edit.Execute(FormType.Add); }); this.Save = new DelegateCommand(() => { if (this.Id == Guid.Empty) { return; } if (NTMinerRoot.Current.CoinSet.Contains(this.Id)) { VirtualRoot.Execute(new UpdateCoinCommand(this)); } else { VirtualRoot.Execute(new AddCoinCommand(this)); } CloseWindow?.Invoke(); }); this.ViewCoinInfo = new DelegateCommand(() => { Process.Start("https://www.feixiaohao.com/currencies/" + this.EnName + "/"); }); this.Edit = new DelegateCommand <FormType?>((formType) => { if (this.Id == Guid.Empty) { return; } CoinEdit.ShowWindow(formType ?? FormType.Edit, this); }); this.Remove = new DelegateCommand(() => { if (this.Id == Guid.Empty) { return; } DialogWindow.ShowDialog(message: $"您确定删除{this.Code}币种吗?", title: "确认", onYes: () => { VirtualRoot.Execute(new RemoveCoinCommand(this.Id)); }, icon: IconConst.IconConfirm); }); this.SortUp = new DelegateCommand(() => { CoinViewModel upOne = CoinViewModels.Current.AllCoins.OrderByDescending(a => a.SortNumber).FirstOrDefault(a => a.SortNumber < this.SortNumber); if (upOne != null) { int sortNumber = upOne.SortNumber; upOne.SortNumber = this.SortNumber; VirtualRoot.Execute(new UpdateCoinCommand(upOne)); this.SortNumber = sortNumber; VirtualRoot.Execute(new UpdateCoinCommand(this)); CoinPageViewModel.Current.OnPropertyChanged(nameof(CoinPageViewModel.List)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.MainCoins)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.AllCoins)); } }); this.SortDown = new DelegateCommand(() => { CoinViewModel nextOne = CoinViewModels.Current.AllCoins.OrderBy(a => a.SortNumber).FirstOrDefault(a => a.SortNumber > this.SortNumber); if (nextOne != null) { int sortNumber = nextOne.SortNumber; nextOne.SortNumber = this.SortNumber; VirtualRoot.Execute(new UpdateCoinCommand(nextOne)); this.SortNumber = sortNumber; VirtualRoot.Execute(new UpdateCoinCommand(this)); CoinPageViewModel.Current.OnPropertyChanged(nameof(CoinPageViewModel.List)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.MainCoins)); CoinViewModels.Current.OnPropertyChanged(nameof(CoinViewModels.AllCoins)); } }); this.AddPool = new DelegateCommand(() => { int sortNumber = this.Pools.Count == 0 ? 1 : this.Pools.Max(a => a.SortNumber) + 1; new PoolViewModel(Guid.NewGuid()) { CoinId = Id, SortNumber = sortNumber }.Edit.Execute(FormType.Add); }); this.AddWallet = new DelegateCommand(() => { int sortNumber = this.Wallets.Count == 0 ? 1 : this.Wallets.Max(a => a.SortNumber) + 1; new WalletViewModel(Guid.NewGuid()) { CoinId = Id, SortNumber = sortNumber }.Edit.Execute(FormType.Add); }); this.AddCoinKernel = new DelegateCommand(() => { KernelSelect.ShowWindow(this); }); }