ntminer 6 年之前
父節點
當前提交
5e38199cba

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

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

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

@@ -2,9 +2,10 @@
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
 namespace NTMiner.Core {
 namespace NTMiner.Core {
-    public interface IGroupSet : IEnumerable<IGroup> {
+    public interface IGroupSet {
         int Count { get; }
         int Count { get; }
         bool Contains(Guid groupId);
         bool Contains(Guid groupId);
         bool TryGetGroup(Guid groupId, out IGroup group);
         bool TryGetGroup(Guid groupId, out IGroup group);
+        IEnumerable<IGroup> AsEnumerable();
     }
     }
 }
 }

+ 2 - 8
src/NTMinerClient/Core/Impl/GroupSet.cs

@@ -1,5 +1,4 @@
 using System;
 using System;
-using System.Collections;
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
 namespace NTMiner.Core.Impl {
 namespace NTMiner.Core.Impl {
@@ -114,14 +113,9 @@ namespace NTMiner.Core.Impl {
             return r;
             return r;
         }
         }
 
 
-        public IEnumerator<IGroup> GetEnumerator() {
+        public IEnumerable<IGroup> AsEnumerable() {
             InitOnece();
             InitOnece();
-            return _dicById.Values.GetEnumerator();
-        }
-
-        IEnumerator IEnumerable.GetEnumerator() {
-            InitOnece();
-            return _dicById.Values.GetEnumerator();
+            return _dicById.Values;
         }
         }
     }
     }
 }
 }

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

@@ -32,7 +32,7 @@ namespace NTMiner.JsonDb {
                     coin.Algo = dicItem.Value;
                     coin.Algo = dicItem.Value;
                 }
                 }
             }
             }
-            Groups = root.ServerContext.GroupSet.Cast<GroupData>().ToArray();
+            Groups = root.ServerContext.GroupSet.AsEnumerable().Cast<GroupData>().ToArray();
             CoinGroups = root.ServerContext.CoinGroupSet.AsEnumerable().Cast<CoinGroupData>().ToArray();
             CoinGroups = root.ServerContext.CoinGroupSet.AsEnumerable().Cast<CoinGroupData>().ToArray();
             KernelInputs = root.ServerContext.KernelInputSet.Cast<KernelInputData>().ToArray();
             KernelInputs = root.ServerContext.KernelInputSet.Cast<KernelInputData>().ToArray();
             KernelOutputs = root.ServerContext.KernelOutputSet.Cast<KernelOutputData>().ToArray();
             KernelOutputs = root.ServerContext.KernelOutputSet.Cast<KernelOutputData>().ToArray();
@@ -104,7 +104,7 @@ namespace NTMiner.JsonDb {
             }
             }
             CoinGroups = coinGroups;
             CoinGroups = coinGroups;
             Pools = pools;
             Pools = pools;
-            Groups = root.ServerContext.GroupSet.Cast<GroupData>().Where(a => coinGroups.Any(b => b.GroupId == a.Id)).ToArray();
+            Groups = root.ServerContext.GroupSet.AsEnumerable().Cast<GroupData>().Where(a => coinGroups.Any(b => b.GroupId == a.Id)).ToArray();
             KernelInputs = root.ServerContext.KernelInputSet.Cast<KernelInputData>().Where(a => a.Id == kernel.KernelInputId).ToArray();
             KernelInputs = root.ServerContext.KernelInputSet.Cast<KernelInputData>().Where(a => a.Id == kernel.KernelInputId).ToArray();
             KernelOutputs = root.ServerContext.KernelOutputSet.Cast<KernelOutputData>().Where(a => a.Id == kernel.KernelOutputId).ToArray();
             KernelOutputs = root.ServerContext.KernelOutputSet.Cast<KernelOutputData>().Where(a => a.Id == kernel.KernelOutputId).ToArray();
             KernelOutputTranslaters = root.ServerContext.KernelOutputTranslaterSet.Cast<KernelOutputTranslaterData>().Where(a => a.KernelOutputId == kernel.KernelOutputId).ToArray();
             KernelOutputTranslaters = root.ServerContext.KernelOutputTranslaterSet.Cast<KernelOutputTranslaterData>().Where(a => a.KernelOutputId == kernel.KernelOutputId).ToArray();