This commit is contained in:
2023-01-30 22:33:02 +00:00
parent a16f5c5ff0
commit 9e946cc8a3

View File

@@ -54,22 +54,69 @@ namespace Sockeye.Biz
&& z.LicenseId == null
&& z.CustomerId != null
&& (z.PGroup == ProductGroup.AyaNova7 || z.PGroup == ProductGroup.RavenPerpetual || z.PGroup == ProductGroup.RavenSubscription))
.OrderByDescending(z => z.PurchaseDate)
.OrderByDescending(z => z.PurchaseDate)
.ToListAsync()).GroupBy(z => (long)z.CustomerId);
try
{
foreach (var purchaseGroup in purchaseList)
{
//vet the group if v7 to be sure no item is less than 5 minutes old to ensure multiple add-on's have all arrived from mycommerce
foreach(var purchase in purchaseGroup){
if (purchase.PGroup == ProductGroup.AyaNova7 && DateTime.UtcNow - purchase.PurchaseDate < PROCESS_V7_AGE)
//Iterate the group and qualify it
bool isRavenPerpetual = false;
bool isRavenSubscription = false;
bool isV7 = false;
bool isLessThanV7Age = false;
foreach (var purchase in purchaseGroup)
{
if (purchase.PGroup == ProductGroup.AyaNova7)
isV7 = true;
if (purchase.PGroup == ProductGroup.RavenPerpetual)
isRavenPerpetual = true;
if (purchase.PGroup == ProductGroup.RavenSubscription)
isRavenSubscription = true;
if (DateTime.UtcNow - purchase.PurchaseDate < PROCESS_V7_AGE)
isLessThanV7Age = true; ;
}
//sanity checks should never be mixed
if ((isRavenPerpetual && isV7))
{
var err = $"SockBotProcessPurchasesIntoLicenses both raven perpetual and v7 in same customer's purchase group First record order number: {purchaseGroup.First().SalesOrderNumber}";
//serious issue requires immediate notification
await NotifyEventHelper.AddOpsProblemEvent(err);
log.LogError(err);
continue;
}
// LEFT OFF HERE, the stuff below here is old stuff rom copied code so wipe adn repurpose as required
//was about to encode
if ((isRavenSubscription && isV7))
{
var err = $"SockBotProcessPurchasesIntoLicenses both raven subscription and v7 in same customer's purchase group First record order number: {purchaseGroup.First().SalesOrderNumber}";
//serious issue requires immediate notification
await NotifyEventHelper.AddOpsProblemEvent(err);
log.LogError(err);
continue;
}
if ((isRavenPerpetual && isRavenSubscription))
{
var err = $"SockBotProcessPurchasesIntoLicenses both raven perpetual and raven subscription in same customer's purchase group First record order number: {purchaseGroup.First().SalesOrderNumber}";
//serious issue requires immediate notification
await NotifyEventHelper.AddOpsProblemEvent(err);
log.LogError(err);
continue;
}
//if v7 skip for this iteration to ensure multiple add-on's have all arrived from mycommerce
if (isV7 && isLessThanV7Age)
continue;
//if v7 license then lookup last license for same pgroup for same customer, if none then consider it a new license fresh
//if there is one and it's not entirely expired then duplicate and fixup from purchases in this group
@@ -84,7 +131,7 @@ namespace Sockeye.Biz
// log.LogDebug($"Processing purchase id:{purchaseGroup[0].Id},purchasedate:{purchaseGroup.PurchaseDate}, custid:{purchaseGroup.CustomerId}");
}