This commit is contained in:
@@ -666,8 +666,7 @@ namespace Sockeye
|
||||
if (ServerBootConfig.SOCKEYE_PERMANENTLY_ERASE_DATABASE)
|
||||
{
|
||||
_newLog.LogWarning("SOCKEYE_PERMANENTLY_ERASE_DATABASE has been set - IMPORTING ROCKFISH");
|
||||
GlobalBizSettingsBiz biz = GlobalBizSettingsBiz.GetBiz(dbContext);
|
||||
biz.ImportRockfish(dbContext, _newLog).Wait();
|
||||
GlobalBizSettingsBiz.ImportRockfish(_newLog).Wait();
|
||||
_newLog.LogInformation("IMPORT COMPLETED");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ namespace Sockeye.Biz
|
||||
|
||||
//IMPORT FROM ROCKFISH
|
||||
|
||||
public async Task ImportRockfish(AyContext ct, ILogger log)
|
||||
public static async Task ImportRockfish(ILogger log)
|
||||
{
|
||||
log.LogInformation("Start import from rockfish, authenticating");
|
||||
ApiServerState apiServerState = (ApiServerState)ServiceProviderProvider.Provider.GetService(typeof(ApiServerState));
|
||||
@@ -192,6 +192,9 @@ namespace Sockeye.Biz
|
||||
bool multiSite = jaSiteList.Count() > 1;
|
||||
|
||||
foreach (JObject jSite in jaSiteList)
|
||||
{
|
||||
long CurrentCustomerId = 0;
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
var CustomerName = jCustomer["name"].Value<string>();
|
||||
if (multiSite)
|
||||
@@ -199,7 +202,7 @@ namespace Sockeye.Biz
|
||||
CustomerName += " - " + jSite["name"].Value<string>();
|
||||
log.LogInformation($"RFImport MULTISITE CUSTOMER: {CustomerName}");
|
||||
}
|
||||
long CurrentCustomerId = 0;
|
||||
|
||||
|
||||
//Create customer if we don't have one already
|
||||
if (await ct.Customer.AnyAsync(z => z.Name == CustomerName))
|
||||
@@ -236,6 +239,7 @@ namespace Sockeye.Biz
|
||||
var NewObject = await biz.CreateAsync(c);
|
||||
CurrentCustomerId = NewObject.Id;
|
||||
}//customer creation
|
||||
}//context
|
||||
|
||||
|
||||
//SITE PURCHASES
|
||||
@@ -243,6 +247,8 @@ namespace Sockeye.Biz
|
||||
var jaPurchaseList = JArray.Parse(await res.Content.ReadAsStringAsync());
|
||||
|
||||
foreach (JObject jPurchase in jaPurchaseList)
|
||||
{
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
//create product if not exist then import
|
||||
//Get product id if exists
|
||||
@@ -300,7 +306,7 @@ namespace Sockeye.Biz
|
||||
PurchaseBiz biz = PurchaseBiz.GetBiz(ct);
|
||||
await biz.CreateAsync(s);
|
||||
}
|
||||
|
||||
}//context
|
||||
}
|
||||
|
||||
|
||||
@@ -341,7 +347,8 @@ namespace Sockeye.Biz
|
||||
"processed": false
|
||||
},
|
||||
*/
|
||||
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
var vn = new VendorNotification();
|
||||
vn.Created = DateUtil.EpochToDateNullIsMin(jVendorNotificationItem["dtCreated"].Value<long>());
|
||||
vn.VendorId = 1;
|
||||
@@ -349,13 +356,14 @@ namespace Sockeye.Biz
|
||||
vn.Processed = vn.Created;//indicate it's been processed
|
||||
await ct.SaveChangesAsync();
|
||||
|
||||
|
||||
#if (DEBUG)
|
||||
//Test dev stuff
|
||||
#warning DEV TEST ORDER PROCESSING REMOVE THIS WHEN DONE
|
||||
if (!string.IsNullOrWhiteSpace(vn.VendorData))
|
||||
await SockBotProcessVendorNotifications.ParseVendorNotificationData(vn, ct, log);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
}// all vendor notifications loop
|
||||
}
|
||||
@@ -379,6 +387,8 @@ namespace Sockeye.Biz
|
||||
|
||||
// }
|
||||
// {
|
||||
// using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
// {
|
||||
// res = await client.GetAsync($"{URL_ROCKFISH}api/rfcase/list");
|
||||
// responseText = await res.Content.ReadAsStringAsync();
|
||||
// var jaRFCaseList = JArray.Parse(responseText);
|
||||
@@ -387,6 +397,7 @@ namespace Sockeye.Biz
|
||||
// foreach (JObject jRFCase in jaRFCaseList.Reverse())
|
||||
// {
|
||||
|
||||
|
||||
// var g = new GZCase();
|
||||
// g.CaseId = jRFCase["id"].Value<long>();
|
||||
// g.Closed = DateUtil.EpochToDateNullIsNull(jRFCase["dtClosed"].Value<long?>());
|
||||
@@ -462,6 +473,7 @@ namespace Sockeye.Biz
|
||||
// await command.ExecuteNonQueryAsync();
|
||||
// await ct.Database.CloseConnectionAsync();
|
||||
// }
|
||||
// }//end of context
|
||||
// }
|
||||
|
||||
#endregion cases
|
||||
@@ -477,7 +489,8 @@ namespace Sockeye.Biz
|
||||
DateTime dtTempCreated = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
||||
foreach (JObject jLicenseListItem in jaLicenseList.Reverse())
|
||||
{
|
||||
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
res = await client.GetAsync($"{URL_ROCKFISH}api/license/{jLicenseListItem["id"].Value<long>()}");
|
||||
responseText = await res.Content.ReadAsStringAsync();
|
||||
var jLicense = JObject.Parse(responseText);
|
||||
@@ -637,6 +650,7 @@ namespace Sockeye.Biz
|
||||
l.NotificationSent = true;
|
||||
LicenseBiz biz = LicenseBiz.GetBiz(ct);
|
||||
await biz.CreateAsync(l, true);
|
||||
}//context
|
||||
|
||||
}// all licenses loop
|
||||
|
||||
@@ -676,7 +690,8 @@ namespace Sockeye.Biz
|
||||
},
|
||||
*/
|
||||
|
||||
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
//Save Key first then can set keyid on tlr
|
||||
long? TrialKeyId = null;
|
||||
{
|
||||
@@ -765,7 +780,7 @@ namespace Sockeye.Biz
|
||||
await biz.CreateAsync(tlr, true);
|
||||
}
|
||||
|
||||
|
||||
}//context
|
||||
}// all trial requests loop
|
||||
|
||||
|
||||
|
||||
@@ -123,14 +123,18 @@ namespace Sockeye.Biz
|
||||
#region CUSTOMER MAKE OR LOCATED
|
||||
///////////////////////////////////////////////////////////////////////////////////////////
|
||||
var jCustomerName = jData["order_notification"]["purchase"]["customer_data"]["reg_name"].Value<string>() ?? throw new System.FormatException($"Vendor data empty reg_name:{vn.VendorData}");
|
||||
var jCustomerEmail = jData["order_notification"]["purchase"]["customer_data"]["delivery_contact"]["email"].Value<string>() ?? throw new System.FormatException($"Vendor data empty email:{vn.VendorData}");
|
||||
if (jData["order_notification"]["purchase"]["customer_data"]["delivery_contact"]["email"] == null)//we can't process orders with no email at all hard no
|
||||
throw new System.FormatException($"Vendor data empty email:{vn.VendorData}");
|
||||
var jCustomerEmail = jData["order_notification"]["purchase"]["customer_data"]["delivery_contact"]["email"].Value<string>();
|
||||
var jCustomerAccountNumber = jData["order_notification"]["purchase"]["customer_data"]["shopper_id"].Value<string>();//appears to be mycommerce customer id number hopefully static between orders
|
||||
|
||||
var customerBiz = CustomerBiz.GetBiz(ct);
|
||||
|
||||
//attempt to match to existing customer
|
||||
//account number is most ideal match, name second but could be multiple in sockeye from rockfish sites so name will start the same, finally email if nothing else
|
||||
Customer customer = await ct.Customer.FirstOrDefaultAsync(z => z.AccountNumber == jCustomerAccountNumber) ?? await ct.Customer.FirstOrDefaultAsync(z => z.Name.StartsWith(jCustomerName)) ?? await ct.Customer.FirstOrDefaultAsync(z => z.EmailAddress == jCustomerEmail);
|
||||
Customer customer = await ct.Customer.AsNoTracking().FirstOrDefaultAsync(z => z.AccountNumber == jCustomerAccountNumber)
|
||||
?? await ct.Customer.AsNoTracking().FirstOrDefaultAsync(z => z.Name.StartsWith(jCustomerName))
|
||||
?? await ct.Customer.AsNoTracking().FirstOrDefaultAsync(z => z.EmailAddress == jCustomerEmail);
|
||||
if (customer == null)
|
||||
{
|
||||
//New customer
|
||||
|
||||
20
todo.txt
20
todo.txt
@@ -6,6 +6,26 @@ TODO:
|
||||
- if v7 needs to account for there being a delay sometimes in order completeness
|
||||
maybe just keep adding to the order and refreshing
|
||||
|
||||
2023-01-23 12:07:29.9706|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - TEMPORARY-HPE d.o.o.
|
||||
2023-01-23 12:07:30.0367|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - TestEvalMartinParsons
|
||||
2023-01-23 12:07:30.1134|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - test.onayanova.com
|
||||
2023-01-23 12:07:30.1817|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - development laptop debug mode
|
||||
2023-01-23 12:07:30.2467|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - test.helloayanova.com
|
||||
2023-01-23 12:07:30.3152|INFO|SERVER|RFImport MULTISITE CUSTOMER: AAA TEST DEVELOPMENT - main
|
||||
2023-01-23 12:07:41.4818|INFO|SERVER|RFImport MULTISITE CUSTOMER: Concept Machine Tool - Concept Machine Tool WI
|
||||
2023-01-23 12:07:42.7496|INFO|SERVER|RFImport MULTISITE CUSTOMER: Concept Machine Tool - Concept Machine Tool Sales
|
||||
2023-01-23 12:08:12.2217|INFO|SERVER|RFImport MULTISITE CUSTOMER: Morrow Service, Inc. - TestV8TrialExtension
|
||||
2023-01-23 12:08:12.3234|INFO|SERVER|RFImport MULTISITE CUSTOMER: Morrow Service, Inc. - Morrow Service, Inc.
|
||||
2023-01-23 12:08:24.8012|INFO|SERVER|RFImport MULTISITE CUSTOMER: Repairtek Technical Services Inc CANCELLED May 2017 - Repairtek Technical Services Inc - Project CPC
|
||||
2023-01-23 12:08:24.9617|INFO|SERVER|RFImport MULTISITE CUSTOMER: Repairtek Technical Services Inc CANCELLED May 2017 - CANCELED Repairtek Technical Services Inc
|
||||
2023-01-23 12:08:41.3152|INFO|SERVER|RFImport MULTISITE CUSTOMER: WE Technology Solutions, INC. - main-raven
|
||||
2023-01-23 12:08:41.4872|INFO|SERVER|RFImport MULTISITE CUSTOMER: WE Technology Solutions, INC. - Main
|
||||
2023-01-23 12:08:42.2448|INFO|SERVER|RFImport MULTISITE CUSTOMER: Yamaha Music Malaysia May 2017 - Yamaha Music Malaysia Sdn Bhd - ASC2
|
||||
2023-01-23 12:08:42.3657|INFO|SERVER|RFImport MULTISITE CUSTOMER: Yamaha Music Malaysia May 2017 - Yamaha Music Malaysia Sdn Bhd - ASC1
|
||||
2023-01-23 12:08:42.4901|INFO|SERVER|RFImport MULTISITE CUSTOMER: Yamaha Music Malaysia May 2017 - Yamaha Music Malaysia ASC3
|
||||
2023-01-23 12:08:42.6139|INFO|SERVER|RFImport MULTISITE CUSTOMER: Yamaha Music Malaysia May 2017 - Yamaha Music Malaysia ASC4
|
||||
|
||||
|
||||
- JOB: make a license from purchases but not active ready to send / in waiting only for approval
|
||||
- if v7 needs to account for there being a delay sometimes in order completeness
|
||||
maybe just keep adding to the order and refreshing
|
||||
|
||||
Reference in New Issue
Block a user