private void RemoveListViewItemsMissingFromViewModel(MinerFormViewModel viewModelToView) { for (int i = deviceListView.Items.Count - 1; i >= 0; i--) { DeviceViewModel listModel = (DeviceViewModel)deviceListView.Items[i].Tag; if (!viewModelToView.Devices.Contains(listModel) || !listModel.Visible) deviceListView.Items.RemoveAt(i); //Network Device detection disabled if (!applicationConfiguration.NetworkDeviceDetection && (listModel.Kind == DeviceKind.NET)) deviceListView.Items.RemoveAt(i); } }
private static double GetTotalHashrate(MinerFormViewModel viewModel, CoinAlgorithm algorithm, bool includeNetworkDevices) { double result = 0.00; //only include Visible devices foreach (DeviceViewModel device in viewModel.Devices.Where(d => d.Visible)) { if ((device.Coin != null) && //lump Scrypt-alts in with Scrypt for now (device.Coin.Algorithm == algorithm) && //optionally filter out Network Devices (includeNetworkDevices || (device.Kind != DeviceKind.NET))) result += device.CurrentHashrate; } return result; }
private void GetRemoteApplicationModels(Instance instance) { PerformRemoteCommand(instance, (service) => { Remoting.Data.Transfer.Device[] devices; CryptoCoin[] configurations; bool mining, hasChanges, dynamicIntensity; //set some safe defaults in case the call fails this.remoteViewModel = new MinerFormViewModel(); service.GetApplicationModels(GetSendingSignature(instance), out devices, out configurations, out mining, out hasChanges, out dynamicIntensity); this.remoteInstanceMining = mining; this.remoteViewModel.HasChanges = hasChanges; this.remoteViewModel.DynamicIntensity = dynamicIntensity; SaveDeviceTransferObjects(devices); SaveCoinTransferObjects(configurations); }); }
private string GetHashRateStatusText(MinerFormViewModel viewModel) { string hashRateText = String.Empty; IList<CoinAlgorithm> algorithms = ((CoinAlgorithm[])Enum.GetValues(typeof(CoinAlgorithm))).ToList(); foreach (CoinAlgorithm algorithm in algorithms) { double hashRate = GetVisibleInstanceHashrate(algorithm, viewModel == localViewModel); if (hashRate > 0.00) { if (!String.IsNullOrEmpty(hashRateText)) hashRateText = hashRateText + " "; hashRateText = String.Format("{0}{1}: {2}", hashRateText, algorithm, hashRate.ToHashrateString()); } } return hashRateText; }
private static double GetTotalHashrate(MinerFormViewModel viewModel, string algorithm, bool includeNetworkDevices) { double result = 0.00; //only include Visible devices foreach (DeviceViewModel device in viewModel.Devices.Where(d => d.Visible)) { if ((device.Coin != null) && (device.Coin.Algorithm.Equals(algorithm, StringComparison.OrdinalIgnoreCase)) && //optionally filter out Network Devices (includeNetworkDevices || (device.Kind != DeviceKind.NET))) result += device.CurrentHashrate; } return result; }
private string GetHashRateStatusText(MinerFormViewModel viewModel) { string hashRateText = String.Empty; IList<CoinAlgorithm> algorithms = MinerFactory.Instance.Algorithms; foreach (CoinAlgorithm algorithm in algorithms) { double hashRate = GetVisibleInstanceHashrate(algorithm.Name, viewModel == localViewModel); if (hashRate > 0.00) { if (!String.IsNullOrEmpty(hashRateText)) hashRateText = hashRateText + " "; hashRateText = String.Format("{0}{1}: {2}", hashRateText, algorithm.Name, hashRate.ToHashrateString()); } } return hashRateText; }