public void GetTeamsTest() { var repo = new TempoRepository(); var response = repo.GetTeams(); Assert.IsNotNull(response); Assert.IsTrue(response.results.Count > 0); }
static void Main(string[] args) { string startArg = ""; string endArg = ""; if (args.Length == 2) { startArg = args[0]; endArg = args[1]; } ProcessArguments(startArg, endArg); var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); Configuration = builder.Build(); TempoRepository.BearerToken = Configuration["TempoApiKey"]; LoadGrindstoneData(); LoadTempoData(); foreach (var timeEntry in TimeEntries) { PostWorklogsRequests.Add(new PostWorklogsRequest(TempoAccountId, WorkItems.First(x => x.GrindstoneId == timeEntry.WorkItemId), timeEntry, int.Parse(Configuration["TimezoneAdjustment"]))); } foreach (var request in PostWorklogsRequests) { Console.WriteLine(request.ToString()); } Console.WriteLine("Press Y to continue"); var answer = Console.ReadKey(); if (answer.KeyChar.ToString().ToUpper() == "Y") { Console.WriteLine("\nPosting Data to Tempo..."); var rep = new TempoRepository(); foreach (var request in PostWorklogsRequests) { Console.WriteLine(request.ToString()); if (Configuration["DebugMode"] == "false") { rep.PostWorklog(request); } else { Console.WriteLine("Debug Mode Enabled. Not Sending."); } } } Console.WriteLine("\nPress any key to exit..."); Console.ReadKey(); }
private static void LoadTempoData() { Console.WriteLine("Loading Tempo Data..."); var rep = new TempoRepository(); var teams = rep.GetTeams(); Console.WriteLine($"Team Count: {teams.results.Count}"); var members = new List <Member>(); foreach (var team in teams.results) { var teamMembers = rep.GetMembers(team.id); members.AddRange(teamMembers.results.Select(x => x.member)); } //Clear out duplicates var distinctMembers = members.Distinct(new MemberComparer()); Console.WriteLine($"Member Count: {distinctMembers.Count()}"); TempoAccountId = distinctMembers.First(x => x.displayName == Configuration["TempoDisplayName"]).accountId; Console.WriteLine($"Tempo Account ID: {TempoAccountId}"); Console.WriteLine("Loading Tempo Data: Complete!"); }