This commit is contained in:
@@ -139,35 +139,152 @@ namespace Sockeye.Biz
|
|||||||
//copy all the values to the new license
|
//copy all the values to the new license
|
||||||
newLicense.ExportToXLS = lastLicense.ExportToXLS;
|
newLicense.ExportToXLS = lastLicense.ExportToXLS;
|
||||||
newLicense.ExportToXLSExpires = lastLicense.ExportToXLSExpires;
|
newLicense.ExportToXLSExpires = lastLicense.ExportToXLSExpires;
|
||||||
newLicense.ImportExportCSVDuplicate=lastLicense.ImportExportCSVDuplicate;
|
newLicense.ImportExportCSVDuplicate = lastLicense.ImportExportCSVDuplicate;
|
||||||
newLicense.ImportExportCSVDuplicateExpires=lastLicense.ImportExportCSVDuplicateExpires;
|
newLicense.ImportExportCSVDuplicateExpires = lastLicense.ImportExportCSVDuplicateExpires;
|
||||||
newLicense.MaintenanceExpire=lastLicense.MaintenanceExpire;
|
newLicense.MaintenanceExpire = lastLicense.MaintenanceExpire;
|
||||||
newLicense.MBI=lastLicense.MBI;
|
newLicense.MBI = lastLicense.MBI;
|
||||||
newLicense.MBIExpires=lastLicense.MBIExpires;
|
newLicense.MBIExpires = lastLicense.MBIExpires;
|
||||||
newLicense.OLI=lastLicense.OLI;
|
newLicense.OLI = lastLicense.OLI;
|
||||||
newLicense.OLIExpires=lastLicense.OLIExpires;
|
newLicense.OLIExpires = lastLicense.OLIExpires;
|
||||||
newLicense.OutlookSchedule=lastLicense.OutlookSchedule;
|
newLicense.OutlookSchedule = lastLicense.OutlookSchedule;
|
||||||
newLicense.OutlookScheduleExpires=lastLicense.OutlookScheduleExpires;
|
newLicense.OutlookScheduleExpires = lastLicense.OutlookScheduleExpires;
|
||||||
newLicense.PTI=lastLicense.PTI;
|
newLicense.PTI = lastLicense.PTI;
|
||||||
newLicense.PTIExpires=lastLicense.PTIExpires;
|
newLicense.PTIExpires = lastLicense.PTIExpires;
|
||||||
newLicense.QBI=lastLicense.QBI;
|
newLicense.QBI = lastLicense.QBI;
|
||||||
newLicense.QBIExpires=lastLicense.QBIExpires;
|
newLicense.QBIExpires = lastLicense.QBIExpires;
|
||||||
newLicense.QBOI=lastLicense.QBOI;
|
newLicense.QBOI = lastLicense.QBOI;
|
||||||
newLicense.QBOIExpires=lastLicense.QBOIExpires;
|
newLicense.QBOIExpires = lastLicense.QBOIExpires;
|
||||||
newLicense.QuickNotification=lastLicense.QuickNotification;
|
newLicense.QuickNotification = lastLicense.QuickNotification;
|
||||||
newLicense.QuickNotificationExpires=lastLicense.QuickNotificationExpires;
|
newLicense.QuickNotificationExpires = lastLicense.QuickNotificationExpires;
|
||||||
newLicense.Renewal=true;
|
newLicense.Renewal = true;
|
||||||
newLicense.RI=lastLicense.RI;
|
newLicense.RI = lastLicense.RI;
|
||||||
newLicense.RIExpires=lastLicense.RIExpires;
|
newLicense.RIExpires = lastLicense.RIExpires;
|
||||||
newLicense.Tags=lastLicense.Tags;
|
newLicense.Tags = lastLicense.Tags;
|
||||||
newLicense.Users=lastLicense.Users;
|
newLicense.Users = lastLicense.Users;
|
||||||
newLicense.WBI=lastLicense.WBI;
|
newLicense.WBI = lastLicense.WBI;
|
||||||
newLicense.WBIExpires=lastLicense.WBIExpires;
|
newLicense.WBIExpires = lastLicense.WBIExpires;
|
||||||
newLicense.Wiki=lastLicense.Wiki;
|
newLicense.Wiki = lastLicense.Wiki;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//iterate the purchases and update / set the license
|
||||||
foreach (var purchase in purchaseGroup)
|
foreach (var purchase in purchaseGroup)
|
||||||
{
|
{
|
||||||
|
var product = await ct.Product.AsNoTracking().FirstOrDefaultAsync(z => z.Id == purchase.ProductId);//should *always* exist
|
||||||
|
if (product == null)
|
||||||
|
{
|
||||||
|
var err = $"SockBotProcessPurchasesIntoLicenses purchase: {purchase.Id} has un-matchable product id: {purchase.ProductId}";
|
||||||
|
//serious issue requires immediate notification
|
||||||
|
await NotifyEventHelper.AddOpsProblemEvent(err);
|
||||||
|
log.LogError(err);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
id name productCode price renewPrice
|
||||||
|
1 Key administration 300093112 3500 3500
|
||||||
|
2 Custom work 300151145 0 0
|
||||||
|
3 AyaNova RI 1 year subscription license 300740314 19900 6965
|
||||||
|
4 Single AyaNova schedulable resource 1 year subscription license 300740315 15900 5565
|
||||||
|
5 Single AyaNova Lite 1 year subscription license 300740316 6900 2415
|
||||||
|
6 Up to 5 AyaNova schedulable resource 1 year subscription license 300740317 69500 24325
|
||||||
|
7 Up to 10 AyaNova schedulable resource 1 year subscription license 300740318 119000 41650
|
||||||
|
8 Up to 20 AyaNova schedulable resource 1 year subscription license 300740319 198000 69300
|
||||||
|
9 AyaNova WBI (web browser interface) 1 year subscription license 300740321 9900 3465
|
||||||
|
10 AyaNova MBI (minimal browser interface) 1 year subscription license 300740322 9900 3465
|
||||||
|
11 AyaNova QBI(QuickBooks interface) 1 year subscription license 300740323 9900 3465
|
||||||
|
12 AyaNova PTI(US Peachtree/Sage 50 interface) 1 year subscription license 300740324 9900 3465
|
||||||
|
13 AyaNova OLI(Outlook interface) 1 year subscription license 300740325 9900 3465
|
||||||
|
14 Plug-in Outlook Schedule Export 1 year subscription license 300740326 1900 665
|
||||||
|
15 Plug-in Export to XLS 1 year subscription license 300740327 1900 665
|
||||||
|
16 Plug-in Quick Notification 1 year subscription license 300740328 1900 665
|
||||||
|
17 Plug-in importexport.csv duplicate 1 year subscription license 300740329 1900 665
|
||||||
|
18 Up to 999 AyaNova schedulable resource 1 year subscription license 300741264 15000 5250
|
||||||
|
19 Up to 15 AyaNova schedulable resource 1 year subscription license 300807973 165000 57750
|
||||||
|
20 AyaNova QBOI(QuickBooks Online interface) 1 year subscription license 300784766 12900 4515
|
||||||
|
21 Single AyaNova service techncian perpetual license 301028314 135 100
|
||||||
|
22 Single AyaNova service techncian 1 year maintenance plan - new 301028317 135 100
|
||||||
|
23 Single AyaNova service techncian 1 year maintenance plan - active 301028315 100 100
|
||||||
|
*/
|
||||||
|
var dtOneYear = DateTime.UtcNow.AddYears(1);
|
||||||
|
switch (product.VendorCode)
|
||||||
|
{
|
||||||
|
case "300740314":
|
||||||
|
newLicense.RI = true;
|
||||||
|
newLicense.RIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740321":
|
||||||
|
newLicense.WBI = true;
|
||||||
|
newLicense.WBIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740322":
|
||||||
|
newLicense.MBI = true;
|
||||||
|
newLicense.MBIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740323":
|
||||||
|
newLicense.QBI = true;
|
||||||
|
newLicense.QBIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740324":
|
||||||
|
newLicense.PTI = true;
|
||||||
|
newLicense.PTIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740325":
|
||||||
|
newLicense.OLI = true;
|
||||||
|
newLicense.OLIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740326":
|
||||||
|
newLicense.OutlookSchedule = true;
|
||||||
|
newLicense.OutlookScheduleExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740327":
|
||||||
|
newLicense.ExportToXLS = true;
|
||||||
|
newLicense.ExportToXLSExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740328":
|
||||||
|
newLicense.QuickNotification = true;
|
||||||
|
newLicense.QuickNotificationExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740329":
|
||||||
|
newLicense.ImportExportCSVDuplicate = true;
|
||||||
|
newLicense.ImportExportCSVDuplicateExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300784766":
|
||||||
|
newLicense.QBOI = true;
|
||||||
|
newLicense.QBOIExpires = dtOneYear;
|
||||||
|
break;
|
||||||
|
//USERS
|
||||||
|
case "300740315":
|
||||||
|
newLicense.Users = 1;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740317":
|
||||||
|
newLicense.Users = 5;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740318":
|
||||||
|
newLicense.Users = 10;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300740319":
|
||||||
|
newLicense.Users = 20;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300741264":
|
||||||
|
newLicense.Users = 999;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
case "300807973":
|
||||||
|
newLicense.Users = 15;
|
||||||
|
newLicense.MaintenanceExpire = dtOneYear;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
var err = $"SockBotProcessPurchasesIntoLicenses purchase: {purchase.Id} has product not part of v7 group expected: {product.Name}-{product.VendorCode}";
|
||||||
|
//serious issue requires immediate notification
|
||||||
|
await NotifyEventHelper.AddOpsProblemEvent(err);
|
||||||
|
log.LogError(err);
|
||||||
|
continue;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user