public TeamCapacity(Project p, TeamFoundationTeam t, TeamSettingsIteration i, IEnumerable <TeamMemberCapacity> m) : this(new Capacity.Project(p), new Team(t), new Iteration(i), m) { }
public TeamFoundationTeamViewModel(TeamFoundationTeam team) { _rawTeamFoundationTeam = team; }
internal override void InternalExecute() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); ////////////////////////////////////////////////// WorkItemStoreContext sourceStore = new WorkItemStoreContext(me.Source, WorkItemStoreFlags.BypassRules); TfsTeamService sourceTS = me.Source.Collection.GetService <TfsTeamService>(); List <TeamFoundationTeam> sourceTL = sourceTS.QueryTeams(me.Source.Name).ToList(); Trace.WriteLine(string.Format("Found {0} teams in Source?", sourceTL.Count)); var sourceTSCS = me.Source.Collection.GetService <TeamSettingsConfigurationService>(); ////////////////////////////////////////////////// WorkItemStoreContext targetStore = new WorkItemStoreContext(me.Target, WorkItemStoreFlags.BypassRules); Project targetProject = targetStore.GetProject(); Trace.WriteLine(string.Format("Found target project as {0}", targetProject.Name)); TfsTeamService targetTS = me.Target.Collection.GetService <TfsTeamService>(); List <TeamFoundationTeam> targetTL = targetTS.QueryTeams(me.Target.Name).ToList(); Trace.WriteLine(string.Format("Found {0} teams in Target?", targetTL.Count)); var targetTSCS = me.Target.Collection.GetService <TeamSettingsConfigurationService>(); ////////////////////////////////////////////////// int current = sourceTL.Count; int count = 0; long elapsedms = 0; /// Create teams /// foreach (TeamFoundationTeam sourceTeam in sourceTL) { Stopwatch witstopwatch = new Stopwatch(); witstopwatch.Start(); var foundTargetTeam = (from x in targetTL where x.Name == sourceTeam.Name select x).SingleOrDefault(); if (foundTargetTeam == null) { Trace.WriteLine(string.Format("Processing team {0}", sourceTeam.Name)); TeamFoundationTeam newTeam = targetTS.CreateTeam(targetProject.Uri.ToString(), sourceTeam.Name, sourceTeam.Description, null); } else { Trace.WriteLine(string.Format("Team found.. skipping")); } witstopwatch.Stop(); elapsedms = elapsedms + witstopwatch.ElapsedMilliseconds; current--; count++; TimeSpan average = new TimeSpan(0, 0, 0, 0, (int)(elapsedms / count)); TimeSpan remaining = new TimeSpan(0, 0, 0, 0, (int)(average.TotalMilliseconds * current)); Trace.WriteLine(""); //Trace.WriteLine(string.Format("Average time of {0} per work item and {1} estimated to completion", string.Format(@"{0:s\:fff} seconds", average), string.Format(@"{0:%h} hours {0:%m} minutes {0:s\:fff} seconds", remaining))); } // Set Team Settings //foreach (TeamFoundationTeam sourceTeam in sourceTL) //{ // Stopwatch witstopwatch = new Stopwatch(); // witstopwatch.Start(); // var foundTargetTeam = (from x in targetTL where x.Name == sourceTeam.Name select x).SingleOrDefault(); // if (foundTargetTeam == null) // { // Trace.WriteLine(string.Format("Processing team {0}", sourceTeam.Name)); // var sourceTCfU = sourceTSCS.GetTeamConfigurations((new[] { sourceTeam.Identity.TeamFoundationId })).SingleOrDefault(); // TeamSettings newTeamSettings = CreateTargetTeamSettings(sourceTCfU); // TeamFoundationTeam newTeam = targetTS.CreateTeam(targetProject.Uri.ToString(), sourceTeam.Name, sourceTeam.Description, null); // targetTSCS.SetTeamSettings(newTeam.Identity.TeamFoundationId, newTeamSettings); // } // else // { // Trace.WriteLine(string.Format("Team found.. skipping")); // } // witstopwatch.Stop(); // elapsedms = elapsedms + witstopwatch.ElapsedMilliseconds; // current--; // count++; // TimeSpan average = new TimeSpan(0, 0, 0, 0, (int)(elapsedms / count)); // TimeSpan remaining = new TimeSpan(0, 0, 0, 0, (int)(average.TotalMilliseconds * current)); // Trace.WriteLine(""); // //Trace.WriteLine(string.Format("Average time of {0} per work item and {1} estimated to completion", string.Format(@"{0:s\:fff} seconds", average), string.Format(@"{0:%h} hours {0:%m} minutes {0:s\:fff} seconds", remaining))); //} ////////////////////////////////////////////////// stopwatch.Stop(); Console.WriteLine(@"DONE in {0:%h} hours {0:%m} minutes {0:s\:fff} seconds", stopwatch.Elapsed); }
protected override void InternalExecute() { if (_config == null) { throw new Exception("You must call Configure() first"); } Stopwatch stopwatch = Stopwatch.StartNew(); ////////////////////////////////////////////////// TfsTeamService sourceTS = Engine.Source.GetService <TfsTeamService>(); List <TeamFoundationTeam> sourceTL = sourceTS.QueryTeams(Engine.Source.Config.AsTeamProjectConfig().Project).ToList(); Log.LogDebug("Found {0} teams in Source?", sourceTL.Count); var sourceTSCS = Engine.Source.GetService <TeamSettingsConfigurationService>(); ////////////////////////////////////////////////// ProjectData targetProject = Engine.Target.WorkItems.GetProject(); Log.LogDebug("Found target project as {0}", targetProject.Name); TfsTeamService targetTS = Engine.Target.GetService <TfsTeamService>(); List <TeamFoundationTeam> targetTL = targetTS.QueryTeams(Engine.Target.Config.AsTeamProjectConfig().Project).ToList(); Log.LogDebug("Found {0} teams in Target?", targetTL.Count); var targetTSCS = Engine.Target.GetService <TeamSettingsConfigurationService>(); ////////////////////////////////////////////////// int current = sourceTL.Count; int count = 0; long elapsedms = 0; /// Create teams /// foreach (TeamFoundationTeam sourceTeam in sourceTL) { Stopwatch witstopwatch = Stopwatch.StartNew(); var foundTargetTeam = (from x in targetTL where x.Name == sourceTeam.Name select x).SingleOrDefault(); if (foundTargetTeam == null) { Log.LogDebug("Processing team '{0}':", sourceTeam.Name); TeamFoundationTeam newTeam = targetTS.CreateTeam(targetProject.ToProject().Uri.ToString(), sourceTeam.Name, sourceTeam.Description, null); Log.LogDebug("-> Team '{0}' created", sourceTeam.Name); if (_config.EnableTeamSettingsMigration) { /// Duplicate settings Log.LogDebug("-> Processing team '{0}' settings:", sourceTeam.Name); var sourceConfigurations = sourceTSCS.GetTeamConfigurations(new List <Guid> { sourceTeam.Identity.TeamFoundationId }); var targetConfigurations = targetTSCS.GetTeamConfigurations(new List <Guid> { newTeam.Identity.TeamFoundationId }); foreach (var sourceConfig in sourceConfigurations) { var targetConfig = targetConfigurations.FirstOrDefault(t => t.TeamName == sourceConfig.TeamName); if (targetConfig == null) { Log.LogDebug("-> Settings for team '{sourceTeamName}'.. not found", sourceTeam.Name); continue; } Log.LogInformation("-> Settings found for team '{sourceTeamName}'..", sourceTeam.Name); if (_config.PrefixProjectToNodes) { targetConfig.TeamSettings.BacklogIterationPath = string.Format("{0}\\{1}", Engine.Target.Config.AsTeamProjectConfig().Project, sourceConfig.TeamSettings.BacklogIterationPath); targetConfig.TeamSettings.IterationPaths = sourceConfig.TeamSettings.IterationPaths .Select(path => string.Format("{0}\\{1}", Engine.Target.Config.AsTeamProjectConfig().Project, path)) .ToArray(); targetConfig.TeamSettings.TeamFieldValues = sourceConfig.TeamSettings.TeamFieldValues .Select(field => new TeamFieldValue { IncludeChildren = field.IncludeChildren, Value = string.Format("{0}\\{1}", Engine.Target.Config.AsTeamProjectConfig().Project, field.Value) }) .ToArray(); } else { targetConfig.TeamSettings.BacklogIterationPath = sourceConfig.TeamSettings.BacklogIterationPath; targetConfig.TeamSettings.IterationPaths = sourceConfig.TeamSettings.IterationPaths; targetConfig.TeamSettings.TeamFieldValues = sourceConfig.TeamSettings.TeamFieldValues; } targetTSCS.SetTeamSettings(targetConfig.TeamId, targetConfig.TeamSettings); Log.LogDebug("-> Team '{0}' settings... applied", targetConfig.TeamName); } } } else { Log.LogDebug("Team '{0}' found.. skipping", sourceTeam.Name); } witstopwatch.Stop(); elapsedms = elapsedms + witstopwatch.ElapsedMilliseconds; current--; count++; TimeSpan average = new TimeSpan(0, 0, 0, 0, (int)(elapsedms / count)); TimeSpan remaining = new TimeSpan(0, 0, 0, 0, (int)(average.TotalMilliseconds * current)); //Log.LogInformation("Average time of {0} per work item and {1} estimated to completion", string.Format(@"{0:s\:fff} seconds", average), string.Format(@"{0:%h} hours {0:%m} minutes {0:s\:fff} seconds", remaining))); } // Set Team Settings //foreach (TeamFoundationTeam sourceTeam in sourceTL) //{ // Stopwatch witstopwatch = new Stopwatch(); // witstopwatch.Start(); // var foundTargetTeam = (from x in targetTL where x.Name == sourceTeam.Name select x).SingleOrDefault(); // if (foundTargetTeam == null) // { // TLog.LogInformation("Processing team {0}", sourceTeam.Name)); // var sourceTCfU = sourceTSCS.GetTeamConfigurations((new[] { sourceTeam.Identity.TeamFoundationId })).SingleOrDefault(); // TeamSettings newTeamSettings = CreateTargetTeamSettings(sourceTCfU); // TeamFoundationTeam newTeam = targetTS.CreateTeam(targetProject.Uri.ToString(), sourceTeam.Name, sourceTeam.Description, null); // targetTSCS.SetTeamSettings(newTeam.Identity.TeamFoundationId, newTeamSettings); // } // else // { // Log.LogInformation("Team found.. skipping")); // } // witstopwatch.Stop(); // elapsedms = elapsedms + witstopwatch.ElapsedMilliseconds; // current--; // count++; // TimeSpan average = new TimeSpan(0, 0, 0, 0, (int)(elapsedms / count)); // TimeSpan remaining = new TimeSpan(0, 0, 0, 0, (int)(average.TotalMilliseconds * current)); // //Log.LogInformation("Average time of {0} per work item and {1} estimated to completion", string.Format(@"{0:s\:fff} seconds", average), string.Format(@"{0:%h} hours {0:%m} minutes {0:s\:fff} seconds", remaining))); //} ////////////////////////////////////////////////// stopwatch.Stop(); Log.LogDebug("DONE in {Elapsed} ", stopwatch.Elapsed.ToString("c")); }
private static string GetTeamAdminstratorsToken(TeamFoundationTeam team) { return(IdentityHelper.CreateSecurityToken(team.Identity)); }
public Guid CreateTeam(string team, string description) { TeamFoundationTeam t = this.teamService.CreateTeam(this.projectInfo.Uri, team, description, null); return(t.Identity.TeamFoundationId); }