Exemple #1
0
        public void PopulateMiners(List <MinerProcess> localMiners, List <NetworkDevices.NetworkDevice> networkMiners, MinerFormViewModel viewModel)
        {
            populatingMiners = true;
            string previousSelection = (string)minerComboBox.SelectedItem;

            minerComboBox.Items.Clear();
            apiContexts.Clear();

            foreach (MinerProcess localMiner in localMiners)
            {
                string devicePath = String.Format("{0}:{1}", localMiner.ApiContext.IpAddress, localMiner.ApiContext.Port);
                minerComboBox.Items.Add(String.Format("{0} ({1})", localMiner.Miner.Name, devicePath));
                apiContexts.Add(new Xgminer.Api.ApiContext(localMiner.ApiContext.Port, localMiner.ApiContext.IpAddress));
            }

            if (minerComboBox.Items.Count > 0)
            {
                minerComboBox.Items.Add("-");
                apiContexts.Add(null);
            }

            foreach (NetworkDevices.NetworkDevice networkMiner in networkMiners)
            {
                string          devicePath  = String.Format("{0}:{1}", networkMiner.IPAddress, networkMiner.Port);
                DeviceViewModel deviceModel = viewModel.Devices.SingleOrDefault(d => d.Path.Equals(devicePath));
                //the Network Device may be offline
                //null check as view models may not yet be populated
                if ((deviceModel != null) && deviceModel.Visible)
                {
                    string minerName = viewModel.GetFriendlyDeviceName(devicePath, devicePath);
                    minerComboBox.Items.Add(String.Format("{0} ({1})", minerName, devicePath));
                    apiContexts.Add(new Xgminer.Api.ApiContext(networkMiner.Port, networkMiner.IPAddress));
                }
            }

            if ((minerComboBox.SelectedItem == null) && (minerComboBox.Items.Count > 0))
            {
                minerComboBox.SelectedIndex = 0;
            }

            if (!String.IsNullOrEmpty(previousSelection))
            {
                int previousSelectionIndex = minerComboBox.Items.IndexOf(previousSelection);
                if (previousSelectionIndex >= 0)
                {
                    minerComboBox.SelectedIndex = previousSelectionIndex;
                }
            }

            populatingMiners = false;
        }
Exemple #2
0
 public ApiConsoleControl(List <MinerProcess> localMiners, List <NetworkDevices.NetworkDevice> networkMiners, MinerFormViewModel viewModel)
 {
     InitializeComponent();
     inputTextBox.Enabled = false;
     PopulateMiners(localMiners, networkMiners, viewModel);
 }