ntminer 6 years ago
parent
commit
2f7237a8d6

+ 2 - 0
src/AppModels/Vms/StartStopMineButtonViewModel.cs

@@ -16,11 +16,13 @@ namespace NTMiner.Vms {
                 Write.Stopwatch.Restart();
 #endif
             this.StartMine = new DelegateCommand(() => {
+                VirtualRoot.WorkerEvent(WorkerEventChannel.MinerClient, "点击开始挖矿");
                 this.MinerProfile.IsMining = true;
                 NTMinerRoot.Instance.StartMine();
                 BtnStopText = "正在挖矿";
             });
             this.StopMine = new DelegateCommand(() => {
+                VirtualRoot.WorkerEvent(WorkerEventChannel.MinerClient, "点击停止挖矿");
                 if (!NTMinerRoot.Instance.IsMining) {
                     this.MinerProfile.IsMining = false;
                 }

+ 16 - 0
src/AppModels/Vms/WorkerEventViewModel.cs

@@ -36,5 +36,21 @@ namespace NTMiner.Vms {
                 return _data.EventOn;
             }
         }
+
+        public string EventOnText {
+            get {
+                int offDay = (DateTime.Now.Date - _data.EventOn.Date).Days;
+                switch (offDay) {
+                    case 0:
+                        return $"今天 {_data.EventOn.TimeOfDay.ToString("hh\\:mm\\:ss")}";
+                    case 1:
+                        return $"左天 {_data.EventOn.TimeOfDay.ToString("hh\\:mm\\:ss")}";
+                    case 2:
+                        return $"前天 {_data.EventOn.TimeOfDay.ToString("hh\\:mm\\:ss")}";
+                    default:
+                        return _data.EventOn.ToString("yyyy-MM-dd HH:mm:ss");
+                }
+            }
+        }
     }
 }

+ 4 - 0
src/AppViews0/AppViews0.csproj

@@ -356,6 +356,10 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
+    <Page Include="Design\StartStopMineButtonViewModel.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
     <Page Include="Design\MinerProfileIndexViewModel.xaml">
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>

+ 2 - 0
src/AppViews0/Design/StartStopMineButtonViewModel.xaml

@@ -0,0 +1,2 @@
+<vm:StartStopMineButtonViewModel xmlns:vm="clr-namespace:NTMiner.Vms;assembly=AppModels">
+</vm:StartStopMineButtonViewModel>

+ 2 - 0
src/AppViews0/Ucs/StartStopMineButton.xaml

@@ -6,6 +6,8 @@
 		xmlns:controls="clr-namespace:NTMiner.Controls;assembly=NTMinerWpf"
 		xmlns:sys="clr-namespace:System;assembly=mscorlib"
 		xmlns:local="clr-namespace:NTMiner.Views.Ucs"
+		mc:Ignorable="d"
+		d:DataContext="{d:DesignData Source=/Design/StartStopMineButtonViewModel.xaml}"
 		x:Name="Self"
 		xmlns:vm="clr-namespace:NTMiner.Vms;assembly=AppModels">
 	<WrapPanel Height="28">

+ 60 - 1
src/AppViews0/Ucs/WorkerEvents.xaml

@@ -18,6 +18,65 @@
         <vm:WorkerEventsViewModel></vm:WorkerEventsViewModel>
     </UserControl.DataContext>
     <Grid>
-        
+        <DataGrid 
+			ItemsSource="{Binding WorkerEventVms}" 
+			Background="Transparent" 
+			ColumnHeaderHeight="34"
+			HorizontalScrollBarVisibility="Auto"
+            BorderThickness="0">
+            <DataGrid.Resources>
+                <controls:BindingProxy x:Key="proxy" Data="{Binding}" />
+            </DataGrid.Resources>
+            <DataGrid.Columns>
+                <DataGridTemplateColumn MinWidth="40" Width="60" IsReadOnly="True">
+                    <DataGridTemplateColumn.HeaderTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="标识"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.HeaderTemplate>
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="{Binding Id}"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+                <DataGridTemplateColumn MinWidth="100" Width="100" IsReadOnly="True">
+                    <DataGridTemplateColumn.HeaderTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="时间"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.HeaderTemplate>
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="{Binding EventOnText}"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+                <DataGridTemplateColumn MinWidth="40" Width="100" IsReadOnly="True">
+                    <DataGridTemplateColumn.HeaderTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="频道"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.HeaderTemplate>
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="{Binding Channel}"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+                <DataGridTemplateColumn MinWidth="100" Width="*" IsReadOnly="True">
+                    <DataGridTemplateColumn.HeaderTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="内容"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.HeaderTemplate>
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <TextBlock Text="{Binding Content}"></TextBlock>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+            </DataGrid.Columns>
+        </DataGrid>
     </Grid>
 </UserControl>

+ 8 - 0
src/AppViews0/Ucs/WorkerEvents.xaml.cs

@@ -13,6 +13,14 @@ namespace NTMiner.Views.Ucs {
 
         public WorkerEvents() {
             InitializeComponent();
+            this.RunOneceOnLoaded(window => {
+                window.EventPath<WorkerEvent>("发生了挖矿事件后刷新Vm内存", LogEnum.DevConsole,
+                    action: message => {
+                        UIThread.Execute(() => {
+                            Vm.WorkerEventVms.Insert(0, new WorkerEventViewModel(message.Source));
+                        });
+                    });
+            });
         }
 
         private void ItemsControl_MouseDown(object sender, MouseButtonEventArgs e) {