private MineWorkViewModels() { if (WpfUtil.IsInDesignMode) { return; } foreach (var item in NTMinerContext.MinerStudioContext.MineWorkSet.AsEnumerable()) { if (!_dicById.ContainsKey(item.Id)) { _dicById.Add(item.Id, new MineWorkViewModel(item)); } } AppRoot.BuildEventPath <MineWorkSetInitedEvent>("作业集初始化后初始化Vm内存", LogEnum.DevConsole, path: message => { _dicById.Clear(); foreach (var item in NTMinerContext.MinerStudioContext.MineWorkSet.AsEnumerable()) { if (!_dicById.ContainsKey(item.Id)) { _dicById.Add(item.Id, new MineWorkViewModel(item)); } } OnPropertyChangeds(); MinerClientsWindowViewModel.Instance.RefreshMinerClientsSelectedMineWork(MinerClientsWindowViewModel.Instance.MinerClients.ToArray()); }, this.GetType()); this.Add = new DelegateCommand(() => { new MineWorkViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add); }); AppRoot.BuildEventPath <MineWorkAddedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole, path: message => { if (!_dicById.TryGetValue(message.Source.GetId(), out MineWorkViewModel vm)) { vm = new MineWorkViewModel(message.Source); _dicById.Add(message.Source.GetId(), vm); OnPropertyChangeds(); if (message.Source.GetId() == MinerClientsWindowVm.SelectedMineWork.GetId()) { MinerClientsWindowVm.SelectedMineWork = MineWorkViewModel.PleaseSelect; } } }, location: this.GetType()); AppRoot.BuildEventPath <MineWorkUpdatedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole, path: message => { if (_dicById.TryGetValue(message.Source.GetId(), out MineWorkViewModel vm)) { vm.Update(message.Source); } }, location: this.GetType()); AppRoot.BuildEventPath <MineWorkRemovedEvent>("移除了作业后刷新Vm内存", LogEnum.DevConsole, path: message => { if (_dicById.TryGetValue(message.Source.Id, out MineWorkViewModel vm)) { _dicById.Remove(vm.Id); OnPropertyChangeds(); if (vm.Id == MinerClientsWindowVm.SelectedMineWork.GetId()) { MinerClientsWindowVm.SelectedMineWork = MineWorkViewModel.PleaseSelect; } } }, this.GetType()); }
private void MenuItemWork_Click(object sender, RoutedEventArgs e) { var popup = PopupMineWork; MineWorkViewModel selected = null; if (Vm.SelectedMinerClients.Length == 1) { selected = Vm.SelectedMinerClients[0].SelectedMineWork; } if (popup.Child == null) { popup.Child = new MineWorkSelect(new MineWorkSelectViewModel("为选中的矿机分配作业", selected, selectedResult => { foreach (var item in Vm.SelectedMinerClients) { item.SelectedMineWork = selectedResult; } popup.IsOpen = false; MenuItemMineWork.Visibility = Visibility.Visible; }) { HideView = new DelegateCommand(() => { popup.IsOpen = false; MenuItemMineWork.Visibility = Visibility.Visible; }) }); } else { ((MineWorkSelect)popup.Child).Vm.SelectedResult = selected; } popup.IsOpen = true; }
public bool TryGetMineWorkVm(Guid id, out MineWorkViewModel mineWorkVm) { if (id.IsSelfMineWorkId()) { mineWorkVm = MineWorkViewModel.SelfMineWork; return(true); } return(_dicById.TryGetValue(id, out mineWorkVm)); }
public static void ShowEditWindow(MineWorkViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { IsDialogWindow = true, CloseVisible = System.Windows.Visibility.Visible, IconName = "Icon_MineWork" }, ucFactory: (window) => { MineWorkViewModel vm = new MineWorkViewModel(source); vm.CloseWindow = () => window.Close(); return(new MineWorkEdit(vm)); }, fixedSize: true); }
public static void ShowWindow(FormType formType, MineWorkViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { Title = "矿工", FormType = formType, IsMaskTheParent = true, Width = 900, CloseVisible = System.Windows.Visibility.Visible, FooterVisible = System.Windows.Visibility.Collapsed, IconName = "Icon_MineWork" }, ucFactory: (window) => { MineWorkViewModel vm = new MineWorkViewModel(source); window.Closed += (sender, e) => { vm.Save.Execute(null); }; return(new MineWorkEdit(vm)); }, fixedSize: true); }
public static void ShowWindow(FormType formType, MineWorkViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { FormType = formType, IsDialogWindow = true, CloseVisible = System.Windows.Visibility.Visible, FooterVisible = System.Windows.Visibility.Collapsed, IconName = "Icon_MineWork", OnClose = (uc) => { MineWorkViewModel vm = (MineWorkViewModel)uc.DataContext; vm.Save.Execute(null); } }, ucFactory: (window) => { MineWorkViewModel vm = new MineWorkViewModel(source); return(new MineWorkEdit(vm)); }, fixedSize: true); }
public static void ShowEditWindow(MineWorkViewModel source) { string title; if (!DevMode.IsDevMode) { title = "作业详情"; } else { if (NTMinerRoot.Current.MineWorkSet.Contains(source.Id)) { title = "编辑作业"; } else { title = "添加作业"; } } ContainerWindow.ShowWindow(new ContainerWindowViewModel { Title = title, IsDialogWindow = true, SaveVisible = System.Windows.Visibility.Visible, CloseVisible = System.Windows.Visibility.Visible, IconName = "Icon_MineWork", OnOk = (uc) => { MineWorkViewModel vm = ((MineWorkEdit)uc).Vm; if (NTMinerRoot.Current.MineWorkSet.Contains(source.Id)) { Global.Execute(new UpdateMineWorkCommand(vm)); } else { Global.Execute(new AddMineWorkCommand(vm)); } return(true); } }, ucFactory: (window) => { MineWorkViewModel vm = new MineWorkViewModel(source.Id).Update(source); return(new MineWorkEdit(vm)); }, fixedSize: true); }
public static void ShowWindow(FormType formType, MineWorkViewModel source) { ContainerWindow.ShowWindow(new ContainerWindowViewModel { Title = "挖矿作业 — 作业通常用于让不同的矿工执行同样的挖矿任务", FormType = formType, IsMaskTheParent = true, Width = 1000, Height = 600, CloseVisible = System.Windows.Visibility.Visible, FooterVisible = System.Windows.Visibility.Collapsed, IconName = "Icon_MineWork" }, ucFactory: (window) => { MineWorkViewModel vm = new MineWorkViewModel(source); window.Closed += (sender, e) => { vm.Save.Execute(null); }; NotiCenterWindow.Bind(window); return(new MineWorkEdit(vm)); }, beforeShow: (window, uc) => { NTMinerContext.RefreshArgsAssembly.Invoke("打开编辑挖矿作业页面时"); }, fixedSize: false); }
public bool TryGetMineWorkVm(Guid id, out MineWorkViewModel mineWorkVm) { return(_dicById.TryGetValue(id, out mineWorkVm)); }
public MineWorkEdit(MineWorkViewModel vm) { this.DataContext = vm; InitializeComponent(); }
public MineWorkEditCommand(FormType formType, MineWorkViewModel source) { this.FormType = formType; this.Source = source; }
public MineWorkEdit(MineWorkViewModel vm) { this.DataContext = vm; InitializeComponent(); ResourceDictionarySet.Instance.FillResourceDic(this, this.Resources); }
private MineWorkViewModels() { #if DEBUG NTStopwatch.Start(); #endif if (WpfUtil.IsInDesignMode) { return; } foreach (var item in NTMinerContext.Instance.MinerStudioContext.MineWorkSet.AsEnumerable()) { if (!_dicById.ContainsKey(item.Id)) { _dicById.Add(item.Id, new MineWorkViewModel(item)); } } if (RpcRoot.IsOuterNet) { AppRoot.AddEventPath <MineWorkSetInitedEvent>("作业集初始化后初始化Vm内存", LogEnum.DevConsole, action: message => { foreach (var item in NTMinerContext.Instance.MinerStudioContext.MineWorkSet.AsEnumerable()) { if (!_dicById.ContainsKey(item.Id)) { _dicById.Add(item.Id, new MineWorkViewModel(item)); } } OnPropertyChangeds(); MinerClientsWindowViewModel.Instance.RefreshMinerClientsSelectedMineWork(MinerClientsWindowViewModel.Instance.MinerClients.ToArray()); }, this.GetType()); } this.Add = new DelegateCommand(() => { new MineWorkViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add); }); AppRoot.AddEventPath <MineWorkAddedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole, action: message => { if (!_dicById.TryGetValue(message.Source.GetId(), out MineWorkViewModel vm)) { vm = new MineWorkViewModel(message.Source); _dicById.Add(message.Source.GetId(), vm); OnPropertyChangeds(); if (message.Source.GetId() == MinerClientsWindowVm.SelectedMineWork.GetId()) { MinerClientsWindowVm.SelectedMineWork = MineWorkViewModel.PleaseSelect; } } }, location: this.GetType()); AppRoot.AddEventPath <MineWorkUpdatedEvent>("添加作业后刷新VM内存", LogEnum.DevConsole, action: message => { if (_dicById.TryGetValue(message.Source.GetId(), out MineWorkViewModel vm)) { vm.Update(message.Source); } }, location: this.GetType()); AppRoot.AddEventPath <MineWorkRemovedEvent>("移除了作业后刷新Vm内存", LogEnum.DevConsole, action: message => { if (_dicById.TryGetValue(message.Source.Id, out MineWorkViewModel vm)) { _dicById.Remove(vm.Id); OnPropertyChangeds(); if (vm.Id == MinerClientsWindowVm.SelectedMineWork.GetId()) { MinerClientsWindowVm.SelectedMineWork = MineWorkViewModel.PleaseSelect; } } }, this.GetType()); #if DEBUG var elapsedMilliseconds = NTStopwatch.Stop(); if (elapsedMilliseconds.ElapsedMilliseconds > NTStopwatch.ElapsedMilliseconds) { Write.DevTimeSpan($"耗时{elapsedMilliseconds} {this.GetType().Name}.ctor"); } #endif }