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; } }
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); } }