private ProductStatusSummary GetAllProductStatuses(AccountInfo merchantInfo) { string nextPageToken = null; ProductstatusesListResponse response = null; int num = 0; int num2 = 0; int expiring = 0; int pending = 0; do { ProductstatusesResource.ListRequest request1 = this.service.Productstatuses.List(merchantInfo.AccountID); request1.MaxResults = 250L; request1.PageToken = nextPageToken; response = request1.Execute(); if ((response.Resources != null) && (response.Resources.Count != 0)) { foreach (ProductStatus status in response.Resources) { if (status.DataQualityIssues == null) { Console.WriteLine("- No data quality issues."); } else { this.PrintDataQualityIssues(status.DataQualityIssues); } ProductStatusDestinationStatus status2 = status.DestinationStatuses[0]; if (status2.ApprovalStatus.ToLower() == "disapproved") { num2++; } else if (status2.ApprovalStatus.ToLower() == "approved") { num++; } else if (status2.ApprovalStatus.ToLower() == "expiring") { expiring++; } else if (status2.ApprovalStatus.ToLower() == "pending") { pending++; } } } else { Console.WriteLine("No accounts found."); } nextPageToken = response.NextPageToken; }while (nextPageToken != null); Console.WriteLine(); return(new ProductStatusSummary { merchantID = merchantInfo.AccountID, AccountName = merchantInfo.AccountName, approved = num, disapproved = num2, expiring = expiring, pending = pending }); }
///// <summary> ///// Retrieves the statuses of all products for the account. ///// </summary> ///// <returns>The last page of products.</returns> //private ProductstatusesListResponse GetAllProducts(ulong merchantId) //{ // Console.WriteLine("============================" + // "" + // "" + // "====================================="); // Console.WriteLine("Listing all Product Statuses"); // Console.WriteLine("================================================================="); // // Retrieve account list in pages and display data as we receive it. // string pageToken = null; // ProductstatusesListResponse statusesResponse = null; // do // { // ProductstatusesResource.ListRequest statusesRequest = // service.Productstatuses.List(merchantId); // statusesRequest.MaxResults = maxListPageSize; // statusesRequest.PageToken = pageToken; // statusesResponse = statusesRequest.Execute(); // if (statusesResponse.Resources != null && statusesResponse.Resources.Count != 0) // { // foreach (var status in statusesResponse.Resources) // { // Console.WriteLine( // "Product with ID \"{0}\" and title \"{1}\" was found.", // status.ProductId, // status.Title); // if (status.DataQualityIssues == null) // { // Console.WriteLine("- No data quality issues."); // } // else { // PrintDataQualityIssues(status.DataQualityIssues); // } // } // } // else // { // Console.WriteLine("No accounts found."); // } // pageToken = statusesResponse.NextPageToken; // } while (pageToken != null); // Console.WriteLine(); // // Return the last page of accounts. // return statusesResponse; //} private ProductstatusesListResponse GetAllProducts(ulong merchantId) { string nextPageToken = null; ProductstatusesListResponse response = null; int num = 0; int num2 = 0; do { ProductstatusesResource.ListRequest request1 = this.service.Productstatuses.List(merchantId); request1.MaxResults = 250L; request1.PageToken = nextPageToken; response = request1.Execute(); if ((response.Resources != null) && (response.Resources.Count != 0)) { foreach (ProductStatus status in response.Resources) { if (status.DataQualityIssues == null) { Console.WriteLine("- No data quality issues."); } else { this.PrintDataQualityIssues(status.DataQualityIssues); } ProductStatusDestinationStatus status2 = status.DestinationStatuses[0]; if (status2.ApprovalStatus == "disapproved") { num2++; } else if (status2.ApprovalStatus == "disapproved") { num++; } else if (status2.ApprovalStatus == "disapproved") { num++; } else if (status2.ApprovalStatus == "disapproved") { num++; } } } else { Console.WriteLine("No accounts found."); } nextPageToken = response.NextPageToken; }while (nextPageToken != null); Console.WriteLine(); Console.WriteLine(string.Format("Approved : {0} Diapproved: {1}", num, num2)); return(response); }