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); }
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"); }
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"); }
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) } } }; } }