コード例 #1
0
 public TeamCapacity(Project p, TeamFoundationTeam t, TeamSettingsIteration i, IEnumerable <TeamMemberCapacity> m)
     : this(new Capacity.Project(p), new Team(t), new Iteration(i), m)
 {
 }
コード例 #2
0
 public TeamFoundationTeamViewModel(TeamFoundationTeam team)
 {
     _rawTeamFoundationTeam = team;
 }
コード例 #3
0
        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"));
        }
コード例 #5
0
 public TeamFoundationTeamViewModel(TeamFoundationTeam team)
 {
     _rawTeamFoundationTeam = team;
 }
コード例 #6
0
 private static string GetTeamAdminstratorsToken(TeamFoundationTeam team)
 {
     return(IdentityHelper.CreateSecurityToken(team.Identity));
 }
コード例 #7
0
        public Guid CreateTeam(string team, string description)
        {
            TeamFoundationTeam t = this.teamService.CreateTeam(this.projectInfo.Uri, team, description, null);

            return(t.Identity.TeamFoundationId);
        }