Esempio n. 1
0
        public static List <string> GetAllPreviewVersionsExceptFirstAndLast(List <string> versions)
        {
            var previewVersions = versions
                                  .Skip(1)
                                  .Reverse()
                                  .Skip(1)
                                  .Reverse()
                                  .Where(v => !SemanticVersionsOrderer.IsStableVersion(v))
                                  .ToList();

            return(previewVersions);
        }
Esempio n. 2
0
        public async Task <List <string> > GetProjectVersionsAsync(string projectName)
        {
            var versions = await _context.DocumentationProjectVersions
                           .Where(v => v.ProjectName == projectName)
                           .OrderByDescending(v => v.Version)
                           .Select(v => v.Version)
                           .ToListAsync();

            var semVerOrderer   = new SemanticVersionsOrderer(versions);
            var orderedVersions = semVerOrderer.GetVersionsOrderedBySemanticVersionDescending();

            return(orderedVersions);
        }
        public string GetNextHigherVersionOrNull(string baseVersion)
        {
            if (string.IsNullOrWhiteSpace(baseVersion))
            {
                throw new ArgumentNullException(nameof(baseVersion));
            }

            var versions = _versions.Concat(new[] {baseVersion}).ToList();
            var innerOrderer = new SemanticVersionsOrderer(versions);
            var allVersions = Enumerable.Reverse(innerOrderer.GetVersionsOrderedBySemanticVersionDescending());

            var nextHigherVersion = allVersions
                .SkipWhile(version => version != baseVersion)
                .Skip(1)
                .FirstOrDefault();
            return nextHigherVersion;
        }