public FeedSubmissionInfo SubmitFeed(EFeedType FeedType, string FeedContent, bool PurgeAndReplace) { switch (PurgeAndReplace) { case true: this.Throttle(ERequestType.SubmitFeedPurgeAndReplace); break; case false: this.Throttle(); break; } AmazonCredential Credentials = this.GetCredential(); MarketplaceWebServiceClient Client = this.GetClient(Credentials); SubmitFeedRequest Request = new SubmitFeedRequest() { Merchant = Credentials.MerchantID, FeedType = EnumStringHandler.GetEnumString <EFeedType>(FeedType), FeedContent = new MemoryStream(Encoding.ASCII.GetBytes(FeedContent)), PurgeAndReplace = PurgeAndReplace }; SubmitFeedResponse Response = Client.SubmitFeed(Request); if (Response.IsSetSubmitFeedResult()) { SubmitFeedResult Result = Response.SubmitFeedResult; if (Result.IsSetFeedSubmissionInfo()) { return(Result.FeedSubmissionInfo); } else { return(null); } } else { return(null); } }
public ReportRequestInfo RequestReport(EReportType ReportType, DateTime StartDate, DateTime EndDate) { this.Throttle(); AmazonCredential Credentials = this.GetCredential(); MarketplaceWebServiceClient Client = this.GetClient(Credentials); RequestReportRequest Request = new RequestReportRequest() { Merchant = Credentials.MerchantID, ReportType = EnumStringHandler.GetEnumString <EReportType>(ReportType) }; if (StartDate != default(DateTime)) { Request.StartDate = StartDate; } if (EndDate != default(DateTime)) { Request.EndDate = EndDate; } RequestReportResponse Response = Client.RequestReport(Request); if (Response.IsSetRequestReportResult()) { RequestReportResult Result = Response.RequestReportResult; if (Result.IsSetReportRequestInfo()) { return(Result.ReportRequestInfo); } else { return(null); } } else { return(null); } }
private FeedSubmissionInfo[] CancelFeedSubmissions(string[] FeedSubmissionIds, EFeedType[] FeedTypeList, DateTime SubmittedFromDate, DateTime SubmittedToDate) { this.Throttle(); AmazonCredential Credentials = this.GetCredential(); MarketplaceWebServiceClient Client = this.GetClient(Credentials); CancelFeedSubmissionsRequest Request = default(CancelFeedSubmissionsRequest); if (FeedSubmissionIds != null) { Request = new CancelFeedSubmissionsRequest() { Merchant = Credentials.MerchantID, FeedSubmissionIdList = new IdList() { Id = FeedSubmissionIds.ToList() } } } ; else if (FeedTypeList != null) { Request = new CancelFeedSubmissionsRequest() { Merchant = Credentials.MerchantID, FeedTypeList = new TypeList() { Type = FeedTypeList.Select(Item => EnumStringHandler.GetEnumString <EFeedType>(Item)).ToList() } } } ; else if (SubmittedFromDate != default(DateTime) && SubmittedFromDate != default(DateTime)) { Request = new CancelFeedSubmissionsRequest() { Merchant = Credentials.MerchantID, SubmittedFromDate = SubmittedFromDate, SubmittedToDate = SubmittedToDate } } ; else { throw new ArgumentException("Error, invalid arguments provided!"); } CancelFeedSubmissionsResponse Response = Client.CancelFeedSubmissions(Request); if (Response.IsSetCancelFeedSubmissionsResult()) { CancelFeedSubmissionsResult Result = Response.CancelFeedSubmissionsResult; if (Result.IsSetCount()) { if (Result.Count > 0) { Console.WriteLine($"Successfully canceled [{Result.Count}] feeds!"); } } if (Result.IsSetFeedSubmissionInfo()) { return(Result.FeedSubmissionInfo.ToArray()); } else { return(null); } } else { return(null); } }
private FeedSubmissionInfo[] _GetFeedSubmissionList(string[] FeedSubmissionIdList, EFeedType[] FeedTypeList, EFeedProcessingStatus[] FeedProcessingStatusList, DateTime SubmittedFromDate, DateTime SubmittedToDate) { string NextToken = string.Empty; AmazonCredential Credentials = this.GetCredential(); MarketplaceWebServiceClient Client = this.GetClient(Credentials); GetFeedSubmissionListRequest Request = new GetFeedSubmissionListRequest() { Merchant = Credentials.MerchantID, MaxCount = 100 }; if (FeedSubmissionIdList != null) { Request.FeedSubmissionIdList = new IdList() { Id = FeedSubmissionIdList.ToList() } } ; else if (FeedTypeList != null) { Request.FeedTypeList = new TypeList() { Type = FeedTypeList.Select(Item => EnumStringHandler.GetEnumString <EFeedType>(Item)).ToList() } } ; else if (FeedProcessingStatusList != null) { Request.FeedProcessingStatusList = new StatusList() { Status = FeedProcessingStatusList.Select(Item => EnumStringHandler.GetEnumString <EFeedProcessingStatus>(Item)).ToList() } } ; else if (SubmittedFromDate != default(DateTime) && SubmittedToDate != default(DateTime)) { Request.SubmittedFromDate = SubmittedFromDate; Request.SubmittedToDate = SubmittedToDate; } List <FeedSubmissionInfo> Info = new List <FeedSubmissionInfo>(); Task GetFeedSubmissionListTask = new Task(() => { while (true) { switch (NextToken == string.Empty) { case true: this.Throttle(ERequestType.GetFeedSubmissionList); GetFeedSubmissionListResponse Response = Client.GetFeedSubmissionList(Request); if (Response.IsSetGetFeedSubmissionListResult()) { GetFeedSubmissionListResult Result = Response.GetFeedSubmissionListResult; if (Result.IsSetFeedSubmissionInfo()) { foreach (var FeedInfo in Result.FeedSubmissionInfo) { Info.Add(FeedInfo); } } if (Result.HasNext) { NextToken = Result.NextToken; } else { goto EndOfLoop; } } break; case false: this.Throttle(ERequestType.GetFeedSubmissionListByNextToken); GetFeedSubmissionListByNextTokenRequest RequestNextToken = new GetFeedSubmissionListByNextTokenRequest() { Merchant = Credentials.MerchantID, NextToken = NextToken, }; GetFeedSubmissionListByNextTokenResponse ResponseNextToken = Client.GetFeedSubmissionListByNextToken(RequestNextToken); if (ResponseNextToken.IsSetGetFeedSubmissionListByNextTokenResult()) { GetFeedSubmissionListByNextTokenResult ResultNextToken = ResponseNextToken.GetFeedSubmissionListByNextTokenResult; if (ResultNextToken.IsSetFeedSubmissionInfo()) { foreach (var FeedInfo in ResultNextToken.FeedSubmissionInfo) { Info.Add(FeedInfo); } } if (ResultNextToken.HasNext) { NextToken = ResultNextToken.NextToken; } else { goto EndOfLoop; } } break; } } EndOfLoop: Console.Write(""); }); GetFeedSubmissionListTask.Start(); GetFeedSubmissionListTask.Wait((int)Math.Ceiling(TimeSpan.FromMinutes(Definitions.Timeout_Minutes).Add(TimeSpan.FromHours(Definitions.Timeout_Hours)).TotalMilliseconds)); return(Info.ToArray()); }