This commit is contained in:
@@ -23,7 +23,8 @@ namespace AyaNova.Models
|
||||
public string CustomFields { get; set; }
|
||||
public List<string> Tags { get; set; }
|
||||
|
||||
|
||||
public string Contact { get; set; }
|
||||
public string ContactNotes { get; set; }
|
||||
public string PopUpNotes { get; set; }
|
||||
public string WebAddress { get; set; }
|
||||
public string AccountNumber { get; set; }
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace AyaNova.Util
|
||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
||||
private const int DESIRED_SCHEMA_LEVEL = 15;
|
||||
|
||||
internal const long EXPECTED_COLUMN_COUNT = 498;
|
||||
internal const long EXPECTED_COLUMN_COUNT = 500;
|
||||
internal const long EXPECTED_INDEX_COUNT = 145;
|
||||
|
||||
//!!!!WARNING: BE SURE TO UPDATE THE DbUtil::EmptyBizDataFromDatabaseForSeedingOrImporting WHEN NEW TABLES ADDED!!!!
|
||||
@@ -559,7 +559,7 @@ $BODY$;
|
||||
//VENDOR
|
||||
await ExecQueryAsync("CREATE TABLE avendor (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name text not null unique, active bool, " +
|
||||
"notes text, wiki text, customfields text, tags varchar(255) ARRAY, webaddress text, popupnotes text, accountnumber text, " +
|
||||
"phone1 text, phone2 text, phone3 text, phone4 text, phone5 text, emailaddress text, " +
|
||||
"contact text, contactnotes text, phone1 text, phone2 text, phone3 text, phone4 text, phone5 text, emailaddress text, " +
|
||||
"postaddress text, postcity text, postregion text, postcountry text, postcode text, address text, city text, region text, country text, latitude decimal(8,6), longitude decimal(9,6))");
|
||||
await ExecQueryAsync("CREATE UNIQUE INDEX avendor_name_id_idx ON avendor (id, name);");
|
||||
await ExecQueryAsync("CREATE INDEX avendor_tags ON avendor using GIN(tags)");
|
||||
|
||||
@@ -214,20 +214,22 @@ namespace AyaNova.Util
|
||||
|
||||
//USERS
|
||||
//Generate owner and lead tech
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.OpsAdminFull, UserType.Service);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.OpsAdminFull, UserType.Service);
|
||||
|
||||
//Generate one office person / secretary
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.AccountingFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.AccountingFull, UserType.NotService);
|
||||
|
||||
//WIDGET
|
||||
await GenSeedWidgetAsync(log, 100);
|
||||
await SeedWidgetAsync(log, 100);
|
||||
|
||||
//CUSTOMERS
|
||||
await GenSeedCustomerAsync(log, 100);
|
||||
await SeedCustomerAsync(log, 100);
|
||||
|
||||
//HEAD-OFFICES
|
||||
await GenSeedHeadOfficeAsync(log, 10);
|
||||
await SeedHeadOfficeAsync(log, 10);
|
||||
|
||||
//VENDORS
|
||||
await SeedVendorAsync(log, 25);
|
||||
|
||||
|
||||
//PERF
|
||||
@@ -249,44 +251,47 @@ namespace AyaNova.Util
|
||||
|
||||
//USERS
|
||||
//One IT administrator, can change ops but nothing else
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
|
||||
//One business administrator, can view ops issues
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
|
||||
//One owner who doesn't control anything but views stuff
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited | AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited | AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
|
||||
//20 techs
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
|
||||
//2 subcontractors
|
||||
await GenSeedUserAsync(log, 2, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
await SeedUserAsync(log, 2, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
|
||||
//3 generic office people people
|
||||
await GenSeedUserAsync(log, 3, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 3, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//2 Full sales people
|
||||
await GenSeedUserAsync(log, 2, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 2, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
|
||||
//1 dispatch manager
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//1 Inventory manager
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
|
||||
//1 accountant / bookkeeper
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
|
||||
|
||||
//WIDGETS
|
||||
await GenSeedWidgetAsync(log, 500);
|
||||
await SeedWidgetAsync(log, 500);
|
||||
|
||||
//CUSTOMERS
|
||||
await GenSeedCustomerAsync(log, 500);
|
||||
await SeedCustomerAsync(log, 500);
|
||||
|
||||
//HEAD-OFFICES
|
||||
await GenSeedHeadOfficeAsync(log, 20);
|
||||
await SeedHeadOfficeAsync(log, 20);
|
||||
|
||||
//VENDORS
|
||||
await SeedVendorAsync(log, 50);
|
||||
|
||||
//PERF
|
||||
watch.Stop();
|
||||
@@ -309,58 +314,61 @@ namespace AyaNova.Util
|
||||
|
||||
//USERS
|
||||
//IT administrator, can change ops but nothing else
|
||||
await GenSeedUserAsync(log, 2, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 2, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
|
||||
//business administrator, can view ops issues
|
||||
await GenSeedUserAsync(log, 2, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 2, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
|
||||
//owner / upper management who doesn't control anything but views stuff
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
|
||||
//100 techs
|
||||
await GenSeedUserAsync(log, 100, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
await SeedUserAsync(log, 100, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
|
||||
//limited techs
|
||||
await GenSeedUserAsync(log, 50, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
await SeedUserAsync(log, 50, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
|
||||
//20 subcontractors
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
|
||||
//10 limited subcontractors
|
||||
await GenSeedUserAsync(log, 10, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor);
|
||||
await SeedUserAsync(log, 10, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor);
|
||||
|
||||
//30 generic office people people
|
||||
await GenSeedUserAsync(log, 30, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 30, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//10 Full sales people
|
||||
await GenSeedUserAsync(log, 10, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 10, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
|
||||
//5 Limited sales people
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
|
||||
//5 dispatch manager
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//5 Inventory manager
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
|
||||
//10 Inventory manager assistants
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//5 accountant / bookkeeper
|
||||
await GenSeedUserAsync(log, 5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
|
||||
|
||||
|
||||
|
||||
//WIDGETS
|
||||
await GenSeedWidgetAsync(log, 5000);
|
||||
await SeedWidgetAsync(log, 5000);
|
||||
|
||||
//CUSTOMERS
|
||||
await GenSeedCustomerAsync(log, 5000);
|
||||
await SeedCustomerAsync(log, 5000);
|
||||
|
||||
//HEAD-OFFICES
|
||||
await GenSeedHeadOfficeAsync(log, 30);
|
||||
await SeedHeadOfficeAsync(log, 30);
|
||||
|
||||
//VENDORS
|
||||
await SeedVendorAsync(log, 75);
|
||||
|
||||
//PERF
|
||||
watch.Stop();
|
||||
@@ -383,58 +391,61 @@ namespace AyaNova.Util
|
||||
|
||||
//USERS
|
||||
//IT administrator, can change ops but nothing else
|
||||
await GenSeedUserAsync(log, 10, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 10, AuthorizationRoles.OpsAdminFull, UserType.NotService);
|
||||
|
||||
//business administrator, can view ops issues
|
||||
await GenSeedUserAsync(log, 10, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 10, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
|
||||
//owner / upper management who doesn't control anything but views stuff
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NotService);
|
||||
|
||||
//regular techs
|
||||
await GenSeedUserAsync(log, 500, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
await SeedUserAsync(log, 500, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
|
||||
//limited techs
|
||||
await GenSeedUserAsync(log, 200, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
await SeedUserAsync(log, 200, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service);
|
||||
|
||||
//subcontractors
|
||||
await GenSeedUserAsync(log, 80, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
await SeedUserAsync(log, 80, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor);
|
||||
|
||||
//limited subcontractors
|
||||
await GenSeedUserAsync(log, 40, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor);
|
||||
await SeedUserAsync(log, 40, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor);
|
||||
|
||||
//generic office people people
|
||||
await GenSeedUserAsync(log, 200, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 200, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//20 Full sales people
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.SalesFull, UserType.NotService);
|
||||
|
||||
//10 Limited sales people
|
||||
await GenSeedUserAsync(log, 10, AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 10, AuthorizationRoles.SalesLimited, UserType.NotService);
|
||||
|
||||
//dispatch manager
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//Inventory manager
|
||||
await GenSeedUserAsync(log, 40, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 40, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NotService);
|
||||
|
||||
//Inventory manager assistants
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.InventoryLimited, UserType.NotService);
|
||||
|
||||
//accountant / bookkeeper
|
||||
await GenSeedUserAsync(log, 20, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
await SeedUserAsync(log, 20, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService);
|
||||
|
||||
|
||||
|
||||
|
||||
//WIDGETS
|
||||
await GenSeedWidgetAsync(log, 20000);
|
||||
await SeedWidgetAsync(log, 20000);
|
||||
|
||||
//CUSTOMERS
|
||||
await GenSeedCustomerAsync(log, 20000);
|
||||
await SeedCustomerAsync(log, 20000);
|
||||
|
||||
//HEAD-OFFICES
|
||||
await GenSeedHeadOfficeAsync(log, 40);
|
||||
await SeedHeadOfficeAsync(log, 40);
|
||||
|
||||
//VENDORS
|
||||
await SeedVendorAsync(log, 100);
|
||||
|
||||
//PERF
|
||||
watch.Stop();
|
||||
@@ -528,35 +539,35 @@ namespace AyaNova.Util
|
||||
KnownUserTags.Add("test-role-user");
|
||||
//TEST USERS
|
||||
//one of each role type
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.BizAdminLimited, UserType.NotService, "BizAdminLimited", "BizAdminLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull, UserType.NotService, "BizAdminFull", "BizAdminFull", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.DispatchLimited, UserType.NotService, "DispatchLimited", "DispatchLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.DispatchFull, UserType.NotService, "DispatchFull", "DispatchFull", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.InventoryLimited, UserType.NotService, "InventoryLimited", "InventoryLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.InventoryFull, UserType.NotService, "InventoryFull", "InventoryFull", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.AccountingFull, UserType.NotService, "Accounting", "Accounting", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.TechLimited, UserType.Service, "TechLimited", "TechLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.TechFull, UserType.Service, "TechFull", "TechFull", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.SalesLimited, UserType.NotService, "SalesLimited", "SalesLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.SalesFull, UserType.NotService, "SalesFull", "SalesFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminLimited, UserType.NotService, "BizAdminLimited", "BizAdminLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull, UserType.NotService, "BizAdminFull", "BizAdminFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.DispatchLimited, UserType.NotService, "DispatchLimited", "DispatchLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.DispatchFull, UserType.NotService, "DispatchFull", "DispatchFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.InventoryLimited, UserType.NotService, "InventoryLimited", "InventoryLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.InventoryFull, UserType.NotService, "InventoryFull", "InventoryFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.AccountingFull, UserType.NotService, "Accounting", "Accounting", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.TechLimited, UserType.Service, "TechLimited", "TechLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.TechFull, UserType.Service, "TechFull", "TechFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.SalesLimited, UserType.NotService, "SalesLimited", "SalesLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.SalesFull, UserType.NotService, "SalesFull", "SalesFull", KnownUserTags);
|
||||
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor, "SubContractorLimited", "SubContractorLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor, "SubContractorFull", "SubContractorFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.SubContractorLimited, UserType.ServiceContractor, "SubContractorLimited", "SubContractorLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor, "SubContractorFull", "SubContractorFull", KnownUserTags);
|
||||
|
||||
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, "OpsAdminLimited", "OpsAdminLimited", KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminFull, UserType.NotService, "OpsAdminFull", "OpsAdminFull", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, "OpsAdminLimited", "OpsAdminLimited", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.OpsAdminFull, UserType.NotService, "OpsAdminFull", "OpsAdminFull", KnownUserTags);
|
||||
|
||||
//PRIVACY TEST USER - this is used for a test to see if user info leaks into the logs
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, "TEST_PRIVACY_USER_ACCOUNT", "TEST_PRIVACY_USER_ACCOUNT", KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, "TEST_PRIVACY_USER_ACCOUNT", "TEST_PRIVACY_USER_ACCOUNT", KnownUserTags);
|
||||
|
||||
//TEST NOT ACTIVE - this is used for a test to see if inactive user can login
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, false, "TEST_INACTIVE", "TEST_INACTIVE", 0, KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.OpsAdminLimited, UserType.NotService, false, "TEST_INACTIVE", "TEST_INACTIVE", 0, KnownUserTags);
|
||||
|
||||
//Alternate translation users for each stock translation
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "de", "de", await TranslationBiz.TranslationNameToIdStaticAsync("de"), KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "es", "es", await TranslationBiz.TranslationNameToIdStaticAsync("es"), KnownUserTags);
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "fr", "fr", await TranslationBiz.TranslationNameToIdStaticAsync("fr"), KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "de", "de", await TranslationBiz.TranslationNameToIdStaticAsync("de"), KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "es", "es", await TranslationBiz.TranslationNameToIdStaticAsync("es"), KnownUserTags);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.All, UserType.NotService, true, "fr", "fr", await TranslationBiz.TranslationNameToIdStaticAsync("fr"), KnownUserTags);
|
||||
|
||||
|
||||
}
|
||||
@@ -572,11 +583,11 @@ namespace AyaNova.Util
|
||||
/// Generate seed user with active=true
|
||||
/// (override to save typing)
|
||||
/// </summary>
|
||||
public async Task GenSeedUserAsync(ILogger log, int count, AuthorizationRoles roles, UserType userType, string login, string password, List<string> tags = null)
|
||||
public async Task SeedUserAsync(ILogger log, int count, AuthorizationRoles roles, UserType userType, string login, string password, List<string> tags = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
await GenSeedUserAsync(log, count, roles, userType, true, login, password, 0, tags);
|
||||
await SeedUserAsync(log, count, roles, userType, true, login, password, 0, tags);
|
||||
}
|
||||
catch
|
||||
{
|
||||
@@ -586,7 +597,7 @@ namespace AyaNova.Util
|
||||
|
||||
|
||||
|
||||
public async Task GenSeedUserAsync(
|
||||
public async Task SeedUserAsync(
|
||||
ILogger log, int count, AuthorizationRoles roles, UserType userType,
|
||||
bool active = true, string login = null, string password = null,
|
||||
long translationId = 0, List<string> tags = null,
|
||||
@@ -603,9 +614,9 @@ namespace AyaNova.Util
|
||||
User u = new User();
|
||||
u.Active = active;
|
||||
|
||||
var p = new Bogus.Person();
|
||||
// var BogusPerson = new Bogus.Person();
|
||||
|
||||
u.Name = Uniquify(p.FullName);
|
||||
u.Name = Uniquify(new Bogus.Person().FullName);
|
||||
var bogusEmail = u.Name.ToLowerInvariant().Replace(" ", "_") + "@example.net";
|
||||
if (login != null)
|
||||
{
|
||||
@@ -655,8 +666,8 @@ namespace AyaNova.Util
|
||||
var NewObject = await Biz.CreateAsync(u);
|
||||
if (NewObject == null)
|
||||
{
|
||||
log.LogError($"Seeder::GenSeedUser error creating {u.Name}\r\n" + Biz.GetErrorsAsString());
|
||||
throw new System.Exception("Seeder::GenSeedUser error creating user\r\n" + Biz.GetErrorsAsString());
|
||||
log.LogError($"Seeder::SeedUser error creating {u.Name}\r\n" + Biz.GetErrorsAsString());
|
||||
throw new System.Exception("Seeder::SeedUser error creating user\r\n" + Biz.GetErrorsAsString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -667,7 +678,7 @@ namespace AyaNova.Util
|
||||
//////////////////////////////////////////////////////
|
||||
//Seed widget for testing
|
||||
//
|
||||
public async Task GenSeedWidgetAsync(ILogger log, int count)
|
||||
public async Task SeedWidgetAsync(ILogger log, int count)
|
||||
{
|
||||
//this is 4 times slower than doing it inside the loop below
|
||||
//seems counterintuitive but maybe it's to do with the db context not being refreshed?
|
||||
@@ -710,8 +721,8 @@ namespace AyaNova.Util
|
||||
var NewObject = await biz.CreateAsync(o);
|
||||
if (NewObject == null)
|
||||
{
|
||||
log.LogError($"Seeder::GenSeedWidget error creating {o.Name}\r\n" + biz.GetErrorsAsString());
|
||||
throw new System.Exception("Seeder::GenSeedWidget error creating widget\r\n" + biz.GetErrorsAsString());
|
||||
log.LogError($"Seeder::SeedWidget error creating {o.Name}\r\n" + biz.GetErrorsAsString());
|
||||
throw new System.Exception("Seeder::SeedWidget error creating widget\r\n" + biz.GetErrorsAsString());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -724,7 +735,7 @@ namespace AyaNova.Util
|
||||
//////////////////////////////////////////////////////
|
||||
//CUSTOMER
|
||||
//
|
||||
public async Task GenSeedCustomerAsync(ILogger log, int count, long? headOfficeId = null)
|
||||
public async Task SeedCustomerAsync(ILogger log, int count, long? headOfficeId = null)
|
||||
{
|
||||
|
||||
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
|
||||
@@ -767,12 +778,12 @@ namespace AyaNova.Util
|
||||
|
||||
if (NewObject == null)
|
||||
{
|
||||
var err = $"Seeder::GenSeedCustomer error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
|
||||
var err = $"Seeder::SeedCustomer error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
|
||||
log.LogError(err);
|
||||
throw new System.Exception(err);
|
||||
}
|
||||
//Customer contacts
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.Customer, true, null, null, 0, null, null, NewObject.Id, null);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.Customer, true, null, null, 0, null, null, NewObject.Id, null);
|
||||
|
||||
|
||||
}
|
||||
@@ -783,7 +794,7 @@ namespace AyaNova.Util
|
||||
//////////////////////////////////////////////////////
|
||||
//HEADOFFICE
|
||||
//
|
||||
public async Task GenSeedHeadOfficeAsync(ILogger log, int count)
|
||||
public async Task SeedHeadOfficeAsync(ILogger log, int count)
|
||||
{
|
||||
|
||||
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
|
||||
@@ -820,14 +831,73 @@ namespace AyaNova.Util
|
||||
|
||||
if (NewObject == null)
|
||||
{
|
||||
var err = $"Seeder::GenSeedHeadOffice error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
|
||||
var err = $"Seeder::SeedHeadOffice error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
|
||||
log.LogError(err);
|
||||
throw new System.Exception(err);
|
||||
}
|
||||
//HeadOffice contacts
|
||||
await GenSeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.HeadOffice, true, null, null, 0, null, null, null, NewObject.Id);
|
||||
await SeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.HeadOffice, true, null, null, 0, null, null, null, NewObject.Id);
|
||||
//HeadOffice Customer
|
||||
await GenSeedCustomerAsync(log, 2, NewObject.Id);
|
||||
await SeedCustomerAsync(log, 2, NewObject.Id);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
//VENDOR
|
||||
//
|
||||
public async Task SeedVendorAsync(ILogger log, int count)
|
||||
{
|
||||
|
||||
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
|
||||
DateTime seedEndWindow = DateTime.Now.AddYears(1);
|
||||
for (int x = 0; x < count; x++)
|
||||
{
|
||||
Vendor o = new Vendor();
|
||||
|
||||
o.Name = Uniquify(Fake.Company.CompanyName());
|
||||
o.Active = true;
|
||||
o.Notes = Fake.Company.CatchPhrase();
|
||||
o.Tags = RandomTags();
|
||||
|
||||
|
||||
o.Contact = Fake.Person.FullName;
|
||||
o.ContactNotes = Fake.Person.FullName;
|
||||
o.AccountNumber = Fake.Finance.Account();
|
||||
o.Latitude = (decimal)Fake.Address.Latitude();
|
||||
o.Longitude = (decimal)Fake.Address.Longitude();
|
||||
o.Address = Fake.Address.StreetAddress();
|
||||
o.City = Fake.Address.City();
|
||||
o.Region = Fake.Address.State();
|
||||
o.Country = Fake.Address.Country();
|
||||
|
||||
o.Phone1 = Fake.Phone.PhoneNumber();
|
||||
o.Phone2 = Fake.Phone.PhoneNumber();
|
||||
o.Phone3 = Fake.Phone.PhoneNumber();
|
||||
o.WebAddress = Fake.Internet.Url();
|
||||
o.EmailAddress = Fake.Internet.ExampleEmail();
|
||||
|
||||
|
||||
|
||||
//This seems wrong to do in a loop but is 4 times faster this way ?!?
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
{
|
||||
VendorBiz biz = VendorBiz.GetBiz(ct);
|
||||
var NewObject = await biz.CreateAsync(o);
|
||||
|
||||
if (NewObject == null)
|
||||
{
|
||||
var err = $"Seeder::SeedVendor error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
|
||||
log.LogError(err);
|
||||
throw new System.Exception(err);
|
||||
}
|
||||
//HeadOffice contacts
|
||||
// await SeedUserAsync(log, 1, AuthorizationRoles.CustomerFull, UserType.HeadOffice, true, null, null, 0, null, null, null, NewObject.Id);
|
||||
//HeadOffice Customer
|
||||
// await SeedCustomerAsync(log, 2, NewObject.Id);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user