예제 #1
0
        public PackageWithVersionDto Get(GetPackageByNugetIdRequest request)
        {
            using (var session = DocumentStore.OpenSession())
            {
                var packages = session.Query<Package>().Where(p => p.NugetId == request.NugetId).ToList();

                var response = new PackageWithVersionDto(request.NugetId);

                var deployed = session.Query<Deployment_Latest.ReducedResult, Deployment_Latest>()
                    .Where(d => d.NugetId == request.NugetId).ToList();

                foreach (var package in packages)
                {
                    var found = deployed.Where(p => p.Package.Version == package.Version).ToList();

                    var pv = new PackageVersionDto { Published = package.Published, Version = package.Version };

                    if (found.Any())
                    {
                        found.ForEach(f => pv.DeployedOn.Add(f.EnvironmentName));
                    }

                    response.Versions.Add(pv);
                }

                if (response.Versions.Any())
                {
                    response.LastVersion = response.Versions.OrderByDescending(p => p.Published).First().Version;
                    response.LastPublish = response.Versions.OrderByDescending(p => p.Published).First().Published;
                }

                return response;
            }
        }
예제 #2
0
        public PackageWithVersionDto Get(GetPackageByNugetIdRequest request)
        {
            using (var session = DocumentStore.OpenSession())
            {
                var packages = session.Query <Package>().Where(p => p.NugetId == request.NugetId).ToList();

                var response = new PackageWithVersionDto(request.NugetId);

                var deployed = session.Query <Deployment_Latest.ReducedResult, Deployment_Latest>()
                               .Where(d => d.NugetId == request.NugetId).ToList();

                foreach (var package in packages)
                {
                    var found = deployed.Where(p => p.Package.Version == package.Version).ToList();

                    var pv = new PackageVersionDto {
                        Published = package.Published, Version = package.Version
                    };

                    if (found.Any())
                    {
                        found.ForEach(f => pv.DeployedOn.Add(f.EnvironmentName));
                    }

                    response.Versions.Add(pv);
                }

                if (response.Versions.Any())
                {
                    response.LastVersion = response.Versions.OrderByDescending(p => p.Published).First().Version;
                    response.LastPublish = response.Versions.OrderByDescending(p => p.Published).First().Published;
                }

                return(response);
            }
        }