Skip to content

Commit 288086f

Browse files
committed
Add delete notification optional
1 parent ed91821 commit 288086f

File tree

2 files changed

+25
-10
lines changed

2 files changed

+25
-10
lines changed

Source/FikaAmazonAPI.SampleCode/Program.cs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,29 @@ static async Task Main(string[] args)
2828
IsDebugMode = true
2929
});
3030

31+
//var feedTypes = new ParameterGetFeed { feedTypes = { FeedType.POST_PRODUCT_PRICING_DATA }, processingStatuses = ProcessingStatuses.IN_PROGRESS };
3132

32-
FeedsSample feedsSample = new FeedsSample(amazonConnection);
33-
feedsSample.SubmitFeedPRICING(69.3F, "8809606851663");
33+
//var feeds = amazonConnection.Feed.GetFeeds(feedTypes);
34+
35+
36+
//FeedsSample feedsSample = new FeedsSample(amazonConnection);
37+
//feedsSample.SubmitFeedPRICING(69.3F, "8809606851663");
3438

3539
var feeds = amazonConnection.Feed.GetFeeds(new Parameter.Feed.ParameterGetFeed()
3640
{
37-
processingStatuses = ProcessingStatuses.IN_QUEUE,
41+
processingStatuses = ProcessingStatuses.IN_PROGRESS,//ProcessingStatuses.IN_QUEUE,
3842
pageSize = 100,
3943
feedTypes = new List<FeedType> { FeedType.POST_PRODUCT_PRICING_DATA },
4044
marketplaceIds = new List<string> { MarketPlace.UnitedArabEmirates.ID }
4145
});
4246

47+
var feeds2 = amazonConnection.Feed.GetFeeds(new Parameter.Feed.ParameterGetFeed()
48+
{
49+
processingStatuses = ProcessingStatuses.IN_PROGRESS,//ProcessingStatuses.IN_PROGRESS,
50+
pageSize = 100,
51+
feedTypes = new List<FeedType> { FeedType.POST_INVENTORY_AVAILABILITY_DATA },
52+
marketplaceIds = new List<string> { MarketPlace.UnitedArabEmirates.ID }
53+
});
4354
foreach (var feed in feeds)
4455
{
4556
Console.WriteLine("FeedId " + feed.FeedId);

Source/FikaAmazonAPI/Services/NotificationService.cs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,10 @@ public async Task<bool> DeleteSubscriptionByIdAsync(NotificationType notificatio
113113
return true;
114114
}
115115

116-
public void StartReceivingNotificationMessages(ParameterMessageReceiver param, IMessageReceiver messageReceiver) =>
117-
Task.Run(() => StartReceivingNotificationMessagesAsync(param, messageReceiver)).ConfigureAwait(false).GetAwaiter().GetResult();
116+
public void StartReceivingNotificationMessages(ParameterMessageReceiver param, IMessageReceiver messageReceiver, bool isDeleteNotificationAfterRead = true) =>
117+
Task.Run(() => StartReceivingNotificationMessagesAsync(param, messageReceiver, isDeleteNotificationAfterRead)).ConfigureAwait(false).GetAwaiter().GetResult();
118118

119-
public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiver param, IMessageReceiver messageReceiver, CancellationToken cancellationToken = default)
119+
public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiver param, IMessageReceiver messageReceiver, bool isDeleteNotificationAfterRead = true, CancellationToken cancellationToken = default)
120120
{
121121
var awsAccessKeyId = param.awsAccessKeyId;
122122
var awsSecretAccessKey = param.awsSecretAccessKey;
@@ -140,7 +140,7 @@ public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiv
140140
{
141141
foreach (var msg in Messages)
142142
{
143-
ProcessAnyOfferChangedMessage(msg, messageReceiver, amazonSQSClient, SQS_URL, cancellationToken).ConfigureAwait(false);
143+
ProcessAnyOfferChangedMessage(msg, messageReceiver, amazonSQSClient, SQS_URL, isDeleteNotificationAfterRead, cancellationToken).ConfigureAwait(false);
144144

145145
}
146146

@@ -156,19 +156,23 @@ public async Task StartReceivingNotificationMessagesAsync(ParameterMessageReceiv
156156
}
157157
}
158158

159-
private async Task ProcessAnyOfferChangedMessage(Message msg, IMessageReceiver messageReceiver, AmazonSQSClient amazonSQSClient, string SQS_URL, CancellationToken cancellationToken = default)
159+
private async Task ProcessAnyOfferChangedMessage(Message msg, IMessageReceiver messageReceiver, AmazonSQSClient amazonSQSClient, string SQS_URL, bool isDeleteNotificationAfterRead = true, CancellationToken cancellationToken = default)
160160
{
161161
try
162162
{
163163
var data = DeserializeNotification(msg);
164164

165165
messageReceiver.NewMessageRevicedTriger(data);
166-
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
166+
167+
if (isDeleteNotificationAfterRead)
168+
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
167169
}
168170
catch (Exception ex)
169171
{
170172
messageReceiver.ErrorCatch(ex);
171-
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
173+
174+
if (isDeleteNotificationAfterRead)
175+
await DeleteMessageFromQueueAsync(amazonSQSClient, SQS_URL, msg.ReceiptHandle, cancellationToken);
172176
}
173177
}
174178
private async Task DeleteMessageFromQueueAsync(AmazonSQSClient sqsClient, string QueueUrl, string ReceiptHandle, CancellationToken cancellationToken = default)

0 commit comments

Comments
 (0)