private void trvRepositories_AfterCheck(object sender, TreeViewEventArgs e)
 {
     if (e.Node.Tag is RepositoryList.Repository)
     {
         RepositoryList.Repository r = (RepositoryList.Repository)e.Node.Tag;
         if (e.Node.Checked == true)
         {
             if (ReposToAdd.Contains(r) == false)
             {
                 ReposToAdd.Add(r);
             }
         }
         else
         {
             if (ReposToAdd.Contains(r) == true)
             {
                 ReposToAdd.Remove(r);
             }
         }
     }
     if (e.Node.Tag is RepositoryList.Category)
     {
         foreach (TreeNode tn in e.Node.Nodes)
         {
             tn.Checked = e.Node.Checked;
         }
     }
     btnOk.Enabled = (ReposToAdd.Count > 0);
 }
        private void HandleRepo(TreeNode parent, RepositoryList.Repository r)
        {
            TreeNode tn = new TreeNode();

            tn.Text = r.Name;
            tn.Tag  = r;
            if (parent != null)
            {
                parent.Nodes.Add(tn);
            }
        }
 private void trvRepositories_BeforeSelect(object sender, TreeViewCancelEventArgs e)
 {
     if (e.Node == null)
     {
         txtRepoDetails.Text = "";
         return;
     }
     if (e.Node.Tag is RepositoryList.Category)
     {
         RepositoryList.Category c = (RepositoryList.Category)e.Node.Tag;
         txtRepoDetails.Text = c.Description;
     }
     if (e.Node.Tag is RepositoryList.Repository)
     {
         RepositoryList.Repository r = (RepositoryList.Repository)e.Node.Tag;
         txtRepoDetails.Text = r.Description;
     }
 }
 // Get Repository list to create service end point json and import source code json
 public RepositoryList.Repository GetRepoList()
 {
     try
     {
         using (var client = GetHttpClient())
         {
             HttpResponseMessage response = client.GetAsync(_configuration.UriString + "/" + Project + "/_apis/git/repositories?api-version=" + _configuration.VersionNumber).Result;
             if (response.IsSuccessStatusCode && response.StatusCode == System.Net.HttpStatusCode.OK)
             {
                 string result = response.Content.ReadAsStringAsync().Result;
                 RepositoryList.Repository repository = JsonConvert.DeserializeObject <RepositoryList.Repository>(result);
                 return(repository);
             }
         }
     }
     catch (Exception ex)
     {
         logger.Info(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss") + "\t" + ex.Message + "\n" + ex.StackTrace + "\n");
     }
     return(new RepositoryList.Repository());
 }