private void loadListFromFile()
        {
            //Load system's name from a file
            if (openListFileDialog.ShowDialog() == DialogResult.OK)
            {
                string srcFileName = openListFileDialog.FileName;

                using (StreamReader srcFile = new StreamReader(srcFileName))
                {
                    RemoteSystemTableHandler rSystemHandler = new RemoteSystemTableHandler();
                    string line;
                    while ((line = srcFile.ReadLine()) != null)
                    {
                        RemoteSystem rSystem = new RemoteSystem();
                        rSystem.setSystemName(line);
                        if (!rSystemHandler.exists(rSystem))
                        {
                            rSystemHandler.addSystem(rSystem);
                        }
                    }
                }
                this.displayComputerList();
                mainTabControl.SelectedTab = passwordChangeTab;
            }
        }
 private void enableComputerButton_Click(object sender, EventArgs e)
 {
     //Enable system in the local list
     CheckedListBox.CheckedItemCollection checkedItems = computersCheckBox.CheckedItems;
     foreach (object itemChecked in checkedItems)
     {
         RemoteSystem rSystem = new RemoteSystem();
         rSystem.setSystemName(itemChecked.ToString());
         RemoteSystemTableHandler rsHandler = new RemoteSystemTableHandler();
         rsHandler.setIgnoreFlag(rSystem, 0);
     }
 }
        private void removeComputer_Click(object sender, EventArgs e)
        {
            //Delete system from the local list
            for (int i = 0; i < computersCheckBox.CheckedItems.Count; i++)
            {
                object       checkedItem = computersCheckBox.CheckedItems[i];
                RemoteSystem rSystem     = new RemoteSystem();
                rSystem.setSystemName((String)checkedItem);
                computersCheckBox.Items.Remove(checkedItem);

                RemoteSystemTableHandler rsHandler = new RemoteSystemTableHandler();
                rsHandler.deleteSystem(rSystem);
            }
        }
        public void retrieve()
        {
            //Retrieve computers from the AD server and store in the application database
            DirectoryEntry dirEntry = null;
            try
            {
                dirEntry = new DirectoryEntry("LDAP://" + AppSession.ServerIP, AppSession.UserName, AppSession.Password);
                DirectorySearcher finder = new DirectorySearcher(dirEntry);
                finder.Filter = "(objectClass=computer)";
                SearchResultCollection results = finder.FindAll();
                RemoteSystemTableHandler rSystemHandler = new RemoteSystemTableHandler();
                foreach (SearchResult sr in results)
                {
                    DirectoryEntry computerEntry = sr.GetDirectoryEntry();
                    String computerName = computerEntry.Name.Replace("CN=", "");
                    if (computerName != "")
                    {
                        RemoteSystem rSystem = new RemoteSystem();
                        rSystem.setSystemName(computerName);

                        if (!rSystemHandler.exists(rSystem))
                        {
                            rSystemHandler.addSystem(rSystem);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                this.setError("Unable to Retrieve ComputerList " + e.Message);
            }
            finally
            {
                if (dirEntry != null)
                {
                    dirEntry.Dispose();
                }
            }
        }
        public void displayComputerList()
        {
            //Clear Checkbox first:
            computersCheckBox.Items.Clear();

            //Display Systems list in checkbox
            RemoteSystemTableHandler rSystemHandler = new RemoteSystemTableHandler();

            if (rSystemHandler.getRowCount() > 0)
            {
                List <RemoteSystem> rSystems = rSystemHandler.getAllSystems();
                foreach (RemoteSystem rSystem in rSystems)
                {
                    if (rSystem.isIgnored())
                    {
                        computersCheckBox.Items.Add(rSystem.getSystemName(), false);
                    }
                    else
                    {
                        computersCheckBox.Items.Add(rSystem.getSystemName(), true);
                    }
                }
            }
        }