ntminer 6 anni fa
parent
commit
5b41b21c9c

+ 1 - 1
src/AppModels/AppContext.partials.FragmentWriterViewModels.cs

@@ -55,7 +55,7 @@ namespace NTMiner {
             }
 
             private void Init() {
-                foreach (var item in NTMinerRoot.Instance.ServerContext.FragmentWriterSet) {
+                foreach (var item in NTMinerRoot.Instance.ServerContext.FragmentWriterSet.AsEnumerable()) {
                     FragmentWriterViewModel groupVm = new FragmentWriterViewModel(item);
                     _dicById.Add(item.GetId(), groupVm);
                 }

+ 2 - 1
src/NTMinerClient/Core/IFragmentWriterSet.cs

@@ -2,7 +2,8 @@
 using System.Collections.Generic;
 
 namespace NTMiner.Core {
-    public interface IFragmentWriterSet : IEnumerable<IFragmentWriter> {
+    public interface IFragmentWriterSet {
         bool TryGetFragmentWriter(Guid writerId, out IFragmentWriter writer);
+        IEnumerable<IFragmentWriter> AsEnumerable();
     }
 }

+ 3 - 10
src/NTMinerClient/Core/Impl/FragmentWriterSet.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Collections;
 using System.Collections.Generic;
 
 namespace NTMiner.Core.Impl {
@@ -92,20 +91,14 @@ namespace NTMiner.Core.Impl {
 
         public bool TryGetFragmentWriter(Guid writerId, out IFragmentWriter writer) {
             InitOnece();
-            FragmentWriterData g;
-            bool r = _dicById.TryGetValue(writerId, out g);
+            bool r = _dicById.TryGetValue(writerId, out FragmentWriterData g);
             writer = g;
             return r;
         }
 
-        public IEnumerator<IFragmentWriter> GetEnumerator() {
+        public IEnumerable<IFragmentWriter> AsEnumerable() {
             InitOnece();
-            return _dicById.Values.GetEnumerator();
-        }
-
-        IEnumerator IEnumerable.GetEnumerator() {
-            InitOnece();
-            return _dicById.Values.GetEnumerator();
+            return _dicById.Values;
         }
     }
 }

+ 2 - 2
src/NTMinerClient/JsonDb/ServerJsonDb.cs

@@ -41,7 +41,7 @@ namespace NTMiner.JsonDb {
             Packages = root.ServerContext.PackageSet.Cast<PackageData>().ToList();
             CoinKernels = root.ServerContext.CoinKernelSet.Cast<CoinKernelData>().ToList();
             FileWriters = root.ServerContext.FileWriterSet.AsEnumerable().Cast<FileWriterData>().ToList();
-            FragmentWriters = root.ServerContext.FragmentWriterSet.Cast<FragmentWriterData>().ToList();
+            FragmentWriters = root.ServerContext.FragmentWriterSet.AsEnumerable().Cast<FragmentWriterData>().ToList();
             PoolKernels = root.ServerContext.PoolKernelSet.Cast<PoolKernelData>().Where(a => !string.IsNullOrEmpty(a.Args)).ToList();
             Pools = root.ServerContext.PoolSet.Cast<PoolData>().ToList();
             SysDicItems = root.ServerContext.SysDicItemSet.Cast<SysDicItemData>().ToArray();
@@ -112,7 +112,7 @@ namespace NTMiner.JsonDb {
             Packages = root.ServerContext.PackageSet.Cast<PackageData>().Where(a => a.Name == kernel.Package).ToList();
             CoinKernels = root.ServerContext.CoinKernelSet.Cast<CoinKernelData>().Where(a => localJsonObj.CoinKernelProfiles.Any(b => b.CoinKernelId == a.Id)).ToList();
             FileWriters = root.ServerContext.FileWriterSet.AsEnumerable().Cast<FileWriterData>().ToList();// 这个数据没几条就不精简了
-            FragmentWriters = root.ServerContext.FragmentWriterSet.Cast<FragmentWriterData>().ToList();// 这个数据没几条就不精简了
+            FragmentWriters = root.ServerContext.FragmentWriterSet.AsEnumerable().Cast<FragmentWriterData>().ToList();// 这个数据没几条就不精简了
             PoolKernels = root.ServerContext.PoolKernelSet.Cast<PoolKernelData>().Where(a => !string.IsNullOrEmpty(a.Args) && pools.Any(b => b.Id == a.PoolId)).ToList();
             SysDicItems = root.ServerContext.SysDicItemSet.Cast<SysDicItemData>().ToArray();
             SysDics = root.ServerContext.SysDicSet.Cast<SysDicData>().ToArray();