private void CreatePerPackageReports()

in Source/NuGetGallery.Operations/Tasks/CreateWarehouseReportsTask.cs [98:125]


        private void CreatePerPackageReports(Tuple<string[], List<object[]>> report)
        {
            Log.Info(string.Format("CreatePerPackageReports (count = {0})", report.Item2.Count));

            int indexOfPackageId = 0;
            foreach (string column in report.Item1)
            {
                if (column == "PackageId")
                {
                    break;
                }
                indexOfPackageId++;
            }

            if (indexOfPackageId == report.Item1.Length)
            {
                throw new InvalidOperationException("expected PackageId in result");
            }

            foreach (object[] row in report.Item2)
            {
                string packageId = row[indexOfPackageId].ToString();
                WithRetry(() =>
                {
                    CreatePackageReport(packageId);
                });
            }
        }