public string ConstructValidSlavesString(string assetName)
        {
            string validSlaves = "";

            foreach (ListViewItem item in this.lvSlaveMachines.Items)
            {
                SlaveData slaveData = item.Tag as SlaveData;
                if (slaveData == null)
                {
                    continue;
                }

                if (slaveData.assets.Contains(assetName))
                {
                    if (validSlaves != "")
                    {
                        validSlaves += ",";
                    }

                    validSlaves += item.Text;
                }
            }

            return(validSlaves);
        }
        public void LoadValues(ArrayList assets)
        {
            // Set this.allAssets first of all
            this.allAssets = new ArrayList();
            foreach (object obj in assets)
            {
                if (obj is string)
                {
                    this.allAssets.Add((string)obj);
                }
            }

            foreach (object obj in assets)
            {
                if (obj is string)
                {
                    string       asset = (string)obj;
                    ListViewItem item  = new ListViewItem();
                    item.Text = asset;
                    item.SubItems.Add("Yes");
                    this.lvAssetConfig.Items.Add(item);
                }
                else if (obj is MOG_Properties)
                {
                    MOG_Properties mai  = (MOG_Properties)obj;
                    ListViewItem   item = new ListViewItem();
                    ////item.Text = mai.mAssetKey;
                    item.SubItems.Add("Yes");
                    this.lvAssetConfig.Items.Add(item);

                    string[] slaveNames = mai.ValidSlaves.Split(",".ToCharArray());
                    foreach (string slaveName in slaveNames)
                    {
                        if (slaveName.Trim() == "")
                        {
                            continue;
                        }

                        if (Utils.ListViewContainsText(this.lvSlaveMachines, slaveName))
                        {
                            ListViewItem slaveItem = Utils.GetListViewItem(this.lvSlaveMachines, slaveName);
                            if (!(slaveItem.Tag is SlaveData))
                            {
                                slaveItem.Tag = new SlaveData(false, false, new ArrayList());
                                continue;
                            }

                            SlaveData slaveData = slaveItem.Tag as SlaveData;
                            ////slaveData.assets.Add(mai.mAssetKey);
                        }
                        else
                        {
                            ListViewItem slaveItem = new ListViewItem(slaveName);
                            slaveItem.Tag = new SlaveData(false, false, new ArrayList(new string[] { "KEYKEY" }));                               ////mai.mAssetKey } ));
                            this.lvSlaveMachines.Items.Add(slaveItem);
                        }
                    }
                }
            }
        }
        private void SaveAssetConfig(SlaveData data)
        {
            data.willBuild   = this.chkboxSlaveWillBuild.Checked;
            data.willPackage = this.chkboxSlaveWillPackage.Checked;

            data.assets.Clear();
            foreach (ListViewItem item in this.lvAssetConfig.Items)
            {
                if (item.SubItems[1].Text == "Yes")
                {
                    data.assets.Add(item.Text);
                }
            }
        }
        private void PopulateAssetConfig(SlaveData data)
        {
            this.chkboxSlaveWillBuild.Checked   = data.willBuild;
            this.chkboxSlaveWillPackage.Checked = data.willPackage;

            this.lvAssetConfig.Items.Clear();
            foreach (string assetName in this.allAssets)
            {
                ListViewItem item = new ListViewItem(assetName);

                if (data.assets.Contains(assetName))
                {
                    item.SubItems.Add("Yes");
                }
                else
                {
                    item.SubItems.Add("No");
                }

                this.lvAssetConfig.Items.Add(item);
            }
        }