예제 #1
0
 public static void ShowWindow(FormType formType, ColumnsShowViewModel source)
 {
     ContainerWindow.ShowWindow(new ContainerWindowViewModel {
         FormType       = formType,
         IsDialogWindow = true,
         CloseVisible   = System.Windows.Visibility.Visible,
         IconName       = "Icon_ColumnsShow",
     }, ucFactory: (window) =>
     {
         ColumnsShowViewModel vm = new ColumnsShowViewModel(source);
         vm.CloseWindow          = () => window.Close();
         return(new ColumnsShowEdit(vm));
     }, fixedSize: true);
 }
예제 #2
0
 public static void ShowWindow(FormType formType, ColumnsShowViewModel source)
 {
     ContainerWindow.ShowWindow(new ContainerWindowViewModel {
         Title           = "列显",
         FormType        = formType,
         IsMaskTheParent = true,
         CloseVisible    = System.Windows.Visibility.Visible,
         IconName        = "Icon_ColumnsShow",
     }, ucFactory: (window) =>
     {
         ColumnsShowViewModel vm = new ColumnsShowViewModel(source);
         window.AddCloseWindowOnecePath(vm.Id);
         return(new ColumnsShowEdit(vm));
     }, fixedSize: true);
 }
예제 #3
0
 public static void ShowWindow(ColumnsShowViewModel vm) {
     ContainerWindow.ShowWindow(new ContainerWindowViewModel {
         Title = "定制列分组",
         FormType = FormType.Edit,
         IsMaskTheParent = false,
         IsChildWindow = true,
         Width = 850,
         Height = 340,
         CloseVisible = System.Windows.Visibility.Visible,
         FooterVisible = System.Windows.Visibility.Collapsed,
         IconName = "Icon_ColumnsShow"
     }, ucFactory: (window) => {
         // 这里没有深拷贝传入的vm,因为在矿机DataGrid的列头上也可以隐藏列,所以两个地方操作的需要是同一个vm。
         window.AddCloseWindowOnecePath(vm.Id);
         return new ColumnsShowEdit(vm);
     }, fixedSize: false);
 }
예제 #4
0
 public static void ShowWindow(FormType formType, ColumnsShowViewModel source)
 {
     ContainerWindow.ShowWindow(new ContainerWindowViewModel {
         Title           = "列显",
         FormType        = formType,
         IsMaskTheParent = true,
         CloseVisible    = System.Windows.Visibility.Visible,
         IconName        = "Icon_ColumnsShow",
     }, ucFactory: (window) =>
     {
         ColumnsShowViewModel vm = new ColumnsShowViewModel(source);
         window.AddOnecePath <CloseWindowCommand>("处理关闭窗口命令", LogEnum.DevConsole, action: message => {
             window.Close();
         }, pathId: vm.Id, location: typeof(ColumnsShowEdit));
         return(new ColumnsShowEdit(vm));
     }, fixedSize: true);
 }
            private ColumnsShowViewModels()
            {
#if DEBUG
                Write.Stopwatch.Start();
#endif
                this.Add = new DelegateCommand(() => {
                    new ColumnsShowViewModel(Guid.NewGuid()).Edit.Execute(FormType.Add);
                });
                BuildEventPath <ColumnsShowAddedEvent>("添加了列显后刷新VM内存", LogEnum.DevConsole,
                                                       action: message => {
                    if (!_dicById.ContainsKey(message.Source.GetId()))
                    {
                        ColumnsShowViewModel vm = new ColumnsShowViewModel(message.Source);
                        _dicById.Add(message.Source.GetId(), vm);
                        OnPropertyChanged(nameof(List));
                        AppContext.Instance.MinerClientsWindowVm.ColumnsShow = vm;
                    }
                });
                BuildEventPath <ColumnsShowUpdatedEvent>("更新了列显后刷新VM内存", LogEnum.DevConsole,
                                                         action: message => {
                    if (_dicById.ContainsKey(message.Source.GetId()))
                    {
                        ColumnsShowViewModel entity = _dicById[message.Source.GetId()];
                        entity.Update(message.Source);
                    }
                });
                BuildEventPath <ColumnsShowRemovedEvent>("移除了列显后刷新VM内存", LogEnum.DevConsole,
                                                         action: message => {
                    AppContext.Instance.MinerClientsWindowVm.ColumnsShow = _dicById.Values.FirstOrDefault();
                    _dicById.Remove(message.Source.GetId());
                    OnPropertyChanged(nameof(List));
                });
                foreach (var item in NTMinerRoot.Instance.ColumnsShowSet.AsEnumerable())
                {
                    _dicById.Add(item.GetId(), new ColumnsShowViewModel(item));
                }
#if DEBUG
                var elapsedMilliseconds = Write.Stopwatch.Stop();
                if (elapsedMilliseconds.ElapsedMilliseconds > NTStopwatch.ElapsedMilliseconds)
                {
                    Write.DevTimeSpan($"耗时{elapsedMilliseconds} {this.GetType().Name}.ctor");
                }
#endif
            }
예제 #6
0
            private ColumnsShowViewModels()
            {
                if (WpfUtil.IsInDesignMode)
                {
                    return;
                }
                this.Add = new DelegateCommand(() => {
                    WpfUtil.ShowInputDialog("列分组名称", string.Empty, string.Empty, columnsShowName => {
                        if (string.IsNullOrEmpty(columnsShowName))
                        {
                            return("列分组名称是必须的");
                        }
                        return(string.Empty);
                    }, onOk: columnsShowName => {
                        ColumnsShowData entity = new ColumnsShowData {
                            ColumnsShowName   = columnsShowName,
                            LastActivedOnText = true,
                            BootTimeSpanText  = true,
                            MineTimeSpanText  = true,
                            Work                      = true,
                            MinerGroup                = true,
                            MinerName                 = true,
                            WorkerName                = true,
                            LocalIp                   = true,
                            MinerIp                   = true,
                            GpuType                   = true,
                            MainCoinCode              = true,
                            MainCoinSpeedText         = true,
                            MainCoinRejectPercentText = true
                        };
                        NTMinerContext.MinerStudioContext.ColumnsShowSet.AddOrUpdate(entity);
                    });
                });
                AppRoot.AddEventPath <ColumnsShowAddedOrUpdatedEvent>("添加或修改了列分组后刷新VM内存", LogEnum.DevConsole,
                                                                      action: message => {
                    if (!_dicById.TryGetValue(message.Source.GetId(), out ColumnsShowViewModel vm))
                    {
                        vm = new ColumnsShowViewModel(message.Source);
                        _dicById.Add(message.Source.GetId(), vm);
                        OnPropertyChanged(nameof(List));
                        MinerClientsWindowVm.ColumnsShow = vm;
                    }
                    else
                    {
                        vm.Update(message.Source);
                    }
                }, location: this.GetType());
                AppRoot.AddEventPath <ColumnsRemovedEvent>("删除了列分组后刷新Vm内存", LogEnum.DevConsole, action: message => {
                    if (_dicById.ContainsKey(message.Source.Id))
                    {
                        _dicById.Remove(message.Source.Id);
                        OnPropertyChanged(nameof(List));
                        if (_dicById.TryGetValue(ColumnsShowData.PleaseSelect.Id, out ColumnsShowViewModel vm))
                        {
                            MinerClientsWindowVm.ColumnsShow = vm;
                        }
                    }
                }, this.GetType());

                foreach (var item in NTMinerContext.MinerStudioContext.ColumnsShowSet.GetAll())
                {
                    _dicById.Add(item.Id, new ColumnsShowViewModel(item));
                }
            }
예제 #7
0
파일: Messages.cs 프로젝트: vebin/ntminer
 public ColumnsShowEditCommand(FormType formType, ColumnsShowViewModel source)
 {
     this.FormType = formType;
     this.Source   = source;
 }
예제 #8
0
 public ColumnsShowEdit(ColumnsShowViewModel vm)
 {
     this.DataContext = vm;
     InitializeComponent();
 }
예제 #9
0
 public ColumnsShowEdit(ColumnsShowViewModel vm)
 {
     this.DataContext = vm;
     InitializeComponent();
     ResourceDictionarySet.Instance.FillResourceDic(this, this.Resources);
 }