MinerStudioRoot.partials.CoinSnapshotDataViewModels.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using NTMiner.Core.MinerServer;
  2. using NTMiner.MinerStudio.Vms;
  3. using NTMiner.Vms;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. namespace NTMiner.MinerStudio {
  8. public static partial class MinerStudioRoot {
  9. public class CoinSnapshotDataViewModels : ViewModelBase {
  10. public static CoinSnapshotDataViewModels Instance { get; private set; } = new CoinSnapshotDataViewModels();
  11. private readonly Dictionary<string, CoinSnapshotDataViewModel> _dicByCoinCode = new Dictionary<string, CoinSnapshotDataViewModel>(StringComparer.OrdinalIgnoreCase);
  12. private CoinSnapshotDataViewModels() {
  13. if (WpfUtil.IsInDesignMode) {
  14. return;
  15. }
  16. foreach (var coinVm in AppRoot.CoinVms.AllCoins) {
  17. _dicByCoinCode.Add(coinVm.Code, new CoinSnapshotDataViewModel(CoinSnapshotData.CreateEmpty(coinVm.Code)));
  18. }
  19. }
  20. public bool TryGetSnapshotDataVm(string coinCode, out CoinSnapshotDataViewModel vm) {
  21. return _dicByCoinCode.TryGetValue(coinCode, out vm);
  22. }
  23. public List<CoinSnapshotDataViewModel> CoinSnapshotDataVms {
  24. get {
  25. return _dicByCoinCode.Values.ToList();
  26. }
  27. }
  28. }
  29. }
  30. }