protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            ChangesetQuery changesetQuery = (ChangesetQuery)validationContext.ObjectInstance;

            if (changesetQuery.HighDate == null || changesetQuery.LowDate == null || changesetQuery.HighDate >= changesetQuery.LowDate)
            {
                return(ValidationResult.Success);
            }

            return(new ValidationResult("High Date must be greater than or equal to Low Date.", new List <string> {
                validationContext.MemberName
            }));
        }
Esempio n. 2
0
 public IEnumerable <Changeset> QueryChangesets(ChangesetQuery changesetQuery, string branchMapping)
 {
     foreach (Microsoft.TeamFoundation.VersionControl.Client.Changeset tfsChangeset in CRUD.ReadTFSChangesets(_versionControlServer, changesetQuery, branchMapping, _logger))
     {
         yield return(new Changeset()
         {
             ID = tfsChangeset.ChangesetId.ToString(),
             CommitDate = tfsChangeset.CreationDate,
             Author = tfsChangeset.OwnerDisplayName,
             Changes = tfsChangeset.Changes
                       .Where(c => c.Item != null)
                       .Select(c => new Change()
             {
                 RepositoryPath = c.Item.ServerItem,
                 DownloadFile = c.Item.DownloadFile
             })
         });
     }
 }
Esempio n. 3
0
        public static IEnumerable <Changeset> ReadTFSChangesets(VersionControlServer versionControlServer, ChangesetQuery changesetQuery, string branchMapping, ILogger logger)
        {
            if (versionControlServer == null)
            {
                return(new List <Changeset>(0));
            }

            try
            {
                logger.Information("Querying Changesets from TFS.");

                if (!changesetQuery.SelectedChangesetAuthors.Any())
                {
                    QueryHistoryParameters query = new QueryHistoryParameters(branchMapping, RecursionType.Full)
                    {
                        VersionStart = new DateVersionSpec(changesetQuery.LowDate.Value),
                        VersionEnd   = new DateVersionSpec(changesetQuery.HighDate.Value)
                    };

                    return(versionControlServer
                           .QueryHistory(query)
                           .Select(c => versionControlServer.GetChangeset(c.ChangesetId)));
                }
                else
                {
                    List <Changeset> changesets = new List <Changeset>();

                    foreach (string author in changesetQuery.SelectedChangesetAuthors)
                    {
                        QueryHistoryParameters query = new QueryHistoryParameters(branchMapping, RecursionType.Full)
                        {
                            VersionStart = new DateVersionSpec(changesetQuery.LowDate.Value),
                            VersionEnd   = new DateVersionSpec(changesetQuery.HighDate.Value),
                            Author       = author
                        };

                        changesets.AddRange(versionControlServer
                                            .QueryHistory(query)
                                            .Select(c => versionControlServer.GetChangeset(c.ChangesetId)));
                    }

                    return(changesets.OrderByDescending(c => c.CreationDate));
                }
            }
            catch (Exception e)
            {
                logger.Error(e.Message);
                return(null);
            }
        }