Example #1
0
        public IEnumerable <User> Get(Config c)
        {
            c.OrgsWithPATs = AzDevOpsReader.LoadAllOrgsFromPAT(c).Result.ToArray();

            List <User> result = new List <User>();

            foreach (var orgWithPAT in c.OrgsWithPATs)
            {
                foreach (var org in orgWithPAT.Orgs)
                {
                    var ur = new UserReader(org, orgWithPAT.Pat);
                    result.AddRange(ur.ReadUsers().Result);

                    //foreach(var usr in resultsUsers.Values)

                    //tasksLicenseSummaries.Add(ur.ReadLicenseSummary());
                    //tasksEntities.Add(ur.ReadEntity());
                    //internalStakeholdersCount[org] = 0;
                    //internalBasicsCount[org] = 0;
                    //internalTestsCount[org] = 0;
                    //internalVSCount[org] = 0;
                }
            }
            return(result);
        }
Example #2
0
        static void Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("config.json", optional: false, reloadOnChange: true);
            var config = builder.Build();
            var c      = config.Get <Config>();

            var table = AzDevOpsReader.ReadWIs(c);

            var wb = new XLWorkbook();
            var ws = wb.Worksheets.Add("Workitems");

            var insertedTable = ws.Cell(1, 1).InsertTable(table.AsEnumerable());

            var hyperlinkRegex = @"=HYPERLINK\((.*);(.*)\)";

            foreach (var row in insertedTable.Rows())
            {
                foreach (var col in insertedTable.Columns())
                {
                    var val     = row.Cell(col.ColumnNumber()).GetValue <string>();
                    var matches = Regex.Matches(val, hyperlinkRegex);
                    if (matches.Count > 0)
                    {
                        row.Cell(col.ColumnNumber()).Value     = matches[0].Groups[2].Value;
                        row.Cell(col.ColumnNumber()).Hyperlink = new XLHyperlink(matches[0].Groups[1].Value);
                    }
                }
            }
            ws.Columns().AdjustToContents();
            wb.SaveAs("WorkItems.xlsx");
        }
Example #3
0
        private static void ReadWorkitems(Config c)
        {
            var table = AzDevOpsReader.ReadWIs(c);

            var wb = new XLWorkbook();
            var ws = wb.Worksheets.Add("Workitems");

            var insertedTable = ws.Cell(1, 1).InsertTable(table.Result.AsEnumerable());

            var hyperlinkRegex = @"=HYPERLINK\((.*);(.*)\)";

            foreach (var row in insertedTable.Rows())
            {
                foreach (var col in insertedTable.Columns())
                {
                    var val     = row.Cell(col.ColumnNumber()).GetValue <string>();
                    var matches = Regex.Matches(val, hyperlinkRegex);
                    if (matches.Count > 0)
                    {
                        row.Cell(col.ColumnNumber()).Value     = matches[0].Groups[2].Value;
                        row.Cell(col.ColumnNumber()).Hyperlink = new XLHyperlink(matches[0].Groups[1].Value);
                    }
                }
            }
            ws.Columns().AdjustToContents();
            wb.SaveAs("WorkItems.xlsx");
        }
Example #4
0
        private static void ReadUsers(Config c)
        {
            c.OrgsWithPATs = AzDevOpsReader.LoadAllOrgsFromPAT(c).Result.ToArray();

            var result = AzDevOpsReader.ReadUsers(c);

            var wb = new XLWorkbook();

            foreach (var key in result.Result.Keys)
            {
                var ws = wb.Worksheets.Add("Users - " + key);

                DataTable table;
                result.Result.TryGetValue(key, out table);

                var insertedTable = ws.Cell(1, 1).InsertTable(table);

                ws.Columns().AdjustToContents();
            }
            wb.SaveAs("Users.xlsx");
        }
     public async Task <Dictionary <string, DataTable> > GetAzDevOpsResult(Config config)
     {
         if (config.Mode == Mode.Users)
         {
             return(await AzDevOpsReader.ReadUsers(config));
         }
         else if (config.Mode == Mode.History)
         {
             return new Dictionary <string, DataTable>()
                    {
                        { "History", await AzDevOpsReader.ReadHistory(config) }
                    }
         }
         ;
         else
         {
             return new Dictionary <string, DataTable>()
                    {
                        { "WorkItems", await AzDevOpsReader.ReadWIs(config) }
                    }
         };
     }
 }