public CoinKernelViewModel(ICoinKernel data) : this(data.GetId()) { _coinId = data.CoinId; _kernelId = data.KernelId; _sortNumber = data.SortNumber; _dualCoinGroupId = data.DualCoinGroupId; _args = data.Args; _notice = data.Notice; _supportedGpu = data.SupportedGpu; _isSupportPool1 = data.IsSupportPool1; // 复制,视为值对象,防止直接修改引用 _environmentVariables.AddRange(data.EnvironmentVariables.Select(a => new EnvironmentVariable(a))); // 复制,视为值对象,防止直接修改引用 _inputSegments.AddRange(data.InputSegments.Select(a => new InputSegment(a))); _inputSegmentVms.AddRange(_inputSegments.Select(a => new InputSegmentViewModel(a))); _fileWriterIds = data.FileWriterIds; _fragmentWriterIds = data.FragmentWriterIds; foreach (var writerId in _fileWriterIds) { if (AppContext.Instance.FileWriterVms.TryGetFileWriterVm(writerId, out FileWriterViewModel writerVm)) { _fileWriterVms.Add(writerVm); } } foreach (var writerId in _fragmentWriterIds) { if (AppContext.Instance.FragmentWriterVms.TryGetFragmentWriterVm(writerId, out FragmentWriterViewModel writerVm)) { _fragmentWriterVms.Add(writerVm); } } }
public static CoinProfile Create(INTMinerRoot root, MineWorkData mineWorkData, Guid coinId) { if (root.CoinSet.TryGetCoin(coinId, out ICoin coin)) { var data = GetCoinProfileData(mineWorkData, coin.GetId()); if (data == null) { Guid poolId = Guid.Empty; IPool pool = root.PoolSet.OrderBy(a => a.SortNumber).FirstOrDefault(a => a.CoinId == coinId); if (pool != null) { poolId = pool.GetId(); } string wallet = coin.TestWallet; Guid coinKernelId = Guid.Empty; ICoinKernel coinKernel = root.CoinKernelSet.OrderBy(a => a.SortNumber).FirstOrDefault(a => a.CoinId == coinId); if (coinKernel != null) { coinKernelId = coinKernel.GetId(); } data = CoinProfileData.CreateDefaultData(coinId, poolId, wallet, coinKernelId); } CoinProfile coinProfile = new CoinProfile(mineWorkData, data); return(coinProfile); } else { return(Empty); } }
public CoinKernelViewModel(ICoinKernel data) : this(data.GetId()) { _coinId = data.CoinId; _kernelId = data.KernelId; _dualCoinGroupId = data.DualCoinGroupId; _args = data.Args; _dualFullArgs = data.DualFullArgs; _notice = data.Notice; _supportedGpu = data.SupportedGpu; _isSupportPool1 = data.IsSupportPool1; // 复制,视为值对象,防止直接修改引用 _environmentVariables.AddRange(data.EnvironmentVariables.Select(a => new EnvironmentVariable(a))); // 复制,视为值对象,防止直接修改引用 _inputSegments.AddRange(data.InputSegments.Select(a => new InputSegment(a))); _inputSegmentVms.AddRange(_inputSegments.Select(a => new InputSegmentViewModel(a))); _gpuInputSegmentVms.AddRange(_inputSegmentVms.Where(a => a.TargetGpu.IsSupportedGpu(NTMinerRoot.Instance.GpuSet.GpuType))); _fileWriterIds = data.FileWriterIds; _fragmentWriterIds = data.FragmentWriterIds; _isHot = data.IsHot; _isRecommend = data.IsRecommend; foreach (var writerId in _fileWriterIds) { if (AppContext.Instance.FileWriterVms.TryGetFileWriterVm(writerId, out FileWriterViewModel writerVm)) { _fileWriterVms.Add(writerVm); } } foreach (var writerId in _fragmentWriterIds) { if (AppContext.Instance.FragmentWriterVms.TryGetFragmentWriterVm(writerId, out FragmentWriterViewModel writerVm)) { _fragmentWriterVms.Add(writerVm); } } }
private CoinKernelProfile(INTMinerRoot root, ICoinKernel coinKernel) { _root = root; _data = GetCoinKernelProfileData(coinKernel.GetId()); if (_data == null) { throw new ValidationException("未获取到CoinKernelProfileData数据,请重试"); } }
public CoinKernelViewModel(ICoinKernel data) : this(data.GetId()) { _coinId = data.CoinId; _kernelId = data.KernelId; _sortNumber = data.SortNumber; _dualCoinGroupId = data.DualCoinGroupId; _args = data.Args; _description = data.Description; _supportedGpu = data.SupportedGpu; }
public CoinKernelViewModel(ICoinKernel data) : this(data.GetId()) { _coinId = data.CoinId; _kernelId = data.KernelId; _sortNumber = data.SortNumber; _dualCoinGroupId = data.DualCoinGroupId; _args = data.Args; _description = data.Description; _supportedGpu = data.SupportedGpu; // 复制,视为值对象,防止直接修改引用 _environmentVariables.AddRange(data.EnvironmentVariables.Select(a => new EnvironmentVariable { Key = a.Key, Value = a.Value })); }
public CoinKernelViewModel(ICoinKernel data) : this(data.GetId()) { _coinId = data.CoinId; _kernelId = data.KernelId; _sortNumber = data.SortNumber; _dualCoinGroupId = data.DualCoinGroupId; _args = data.Args; _notice = data.Notice; _supportedGpu = data.SupportedGpu; // 复制,视为值对象,防止直接修改引用 _environmentVariables.AddRange(data.EnvironmentVariables.Select(a => new EnvironmentVariable(a))); // 复制,视为值对象,防止直接修改引用 _inputSegments.AddRange(data.InputSegments.Select(a => new InputSegment(a))); _inputSegmentVms.AddRange(_inputSegments.Select(a => new InputSegmentViewModel(a))); }