|
|
|
|
@@ -70,10 +70,10 @@ namespace AyaNova.Util
|
|
|
|
|
//This is for a busy but one man shop with a single office person handling stuff back at the shop
|
|
|
|
|
case SeedLevel.SmallOneManShopTrialDataSet:
|
|
|
|
|
//Generate owner and lead tech
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.OpsAdminFull);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.OpsAdminFull, UserType.Schedulable);
|
|
|
|
|
|
|
|
|
|
//Generate one office person / secretary
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.AccountingFull);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.AccountingFull, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//200 widgets
|
|
|
|
|
GenSeedWidget(200);
|
|
|
|
|
@@ -84,37 +84,37 @@ namespace AyaNova.Util
|
|
|
|
|
case SeedLevel.MediumLocalServiceCompanyTrialDataSet:
|
|
|
|
|
|
|
|
|
|
//One IT administrator, can change ops but nothing else
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminFull);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminFull, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//One business administrator, can view ops issues
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//One owner who doesn't control anything but views stuff
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//20 techs
|
|
|
|
|
GenSeedUser(20, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited);
|
|
|
|
|
GenSeedUser(20, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Schedulable);
|
|
|
|
|
|
|
|
|
|
//2 subcontractors
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.SubContractorFull);
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.SubContractorFull, UserType.Subcontractor);
|
|
|
|
|
|
|
|
|
|
//3 sales / generic office people people
|
|
|
|
|
GenSeedUser(3, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited);
|
|
|
|
|
GenSeedUser(3, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//1 dispatch manager
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//1 Inventory manager
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//1 accountant / bookkeeper
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited);
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//10 full on client users
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.ClientLimited);
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.ClientLimited, UserType.Client);
|
|
|
|
|
|
|
|
|
|
//10 limited client users
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.ClientLimited);
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.ClientLimited, UserType.Client);
|
|
|
|
|
|
|
|
|
|
//2000 widgets
|
|
|
|
|
GenSeedWidget(2000);
|
|
|
|
|
@@ -124,46 +124,46 @@ namespace AyaNova.Util
|
|
|
|
|
//Each location has a full staff and corporate head office has an overarching staff member in charge of each location
|
|
|
|
|
case SeedLevel.LargeCorporateMultiRegionalTrialDataSet:
|
|
|
|
|
//IT administrator, can change ops but nothing else
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.OpsAdminFull);
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.OpsAdminFull, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//business administrator, can view ops issues
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited);
|
|
|
|
|
GenSeedUser(2, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//owner / upper management who doesn't control anything but views stuff
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited);
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//techs
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited);
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Schedulable);
|
|
|
|
|
|
|
|
|
|
//limited techs
|
|
|
|
|
GenSeedUser(50, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited);
|
|
|
|
|
GenSeedUser(50, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Schedulable);
|
|
|
|
|
|
|
|
|
|
//20 subcontractors
|
|
|
|
|
GenSeedUser(20, AuthorizationRoles.SubContractorFull);
|
|
|
|
|
GenSeedUser(20, AuthorizationRoles.SubContractorFull, UserType.Subcontractor);
|
|
|
|
|
|
|
|
|
|
//10 limited subcontractors
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.SubContractorLimited);
|
|
|
|
|
GenSeedUser(10, AuthorizationRoles.SubContractorLimited, UserType.Subcontractor);
|
|
|
|
|
|
|
|
|
|
//30 sales / generic office people people
|
|
|
|
|
GenSeedUser(30, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited);
|
|
|
|
|
GenSeedUser(30, AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//5 dispatch manager
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited);
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//5 Inventory manager
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited);
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.InventoryFull | AuthorizationRoles.DispatchLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//10 Inventory manager assistants
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.InventoryLimited);
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.InventoryLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//5 accountant / bookkeeper
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited);
|
|
|
|
|
GenSeedUser(5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NonSchedulable);
|
|
|
|
|
|
|
|
|
|
//100 full on client users
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.ClientFull);
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.ClientFull, UserType.Client);
|
|
|
|
|
|
|
|
|
|
//100 limited client users
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.ClientLimited);
|
|
|
|
|
GenSeedUser(100, AuthorizationRoles.ClientLimited, UserType.Client);
|
|
|
|
|
|
|
|
|
|
//20000 widgets
|
|
|
|
|
GenSeedWidget(20000);
|
|
|
|
|
@@ -195,24 +195,24 @@ namespace AyaNova.Util
|
|
|
|
|
|
|
|
|
|
//TEST USERS
|
|
|
|
|
//one of each role type
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminLimited, "BizAdminLimited", "BizAdminLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull, "BizAdminFull", "BizAdminFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchLimited, "DispatchLimited", "DispatchLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull, "DispatchFull", "DispatchFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryLimited, "InventoryLimited", "InventoryLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryFull, "InventoryFull", "InventoryFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.AccountingFull, "Accounting", "Accounting");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.TechLimited, "TechLimited", "TechLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.TechFull, "TechFull", "TechFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.SubContractorLimited, "SubContractorLimited", "SubContractorLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.SubContractorFull, "SubContractorFull", "SubContractorFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.ClientLimited, "ClientLimited", "ClientLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.ClientFull, "ClientFull", "ClientFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminLimited, "OpsAdminLimited", "OpsAdminLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminFull, "OpsAdminFull", "OpsAdminFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminLimited, UserType.NonSchedulable, "BizAdminLimited", "BizAdminLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.BizAdminFull, UserType.NonSchedulable, "BizAdminFull", "BizAdminFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchLimited, UserType.NonSchedulable, "DispatchLimited", "DispatchLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.DispatchFull, UserType.NonSchedulable, "DispatchFull", "DispatchFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryLimited, UserType.NonSchedulable, "InventoryLimited", "InventoryLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.InventoryFull, UserType.NonSchedulable, "InventoryFull", "InventoryFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.AccountingFull, UserType.NonSchedulable, "Accounting", "Accounting");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.TechLimited, UserType.Schedulable, "TechLimited", "TechLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.TechFull, UserType.Schedulable, "TechFull", "TechFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.SubContractorLimited, UserType.Subcontractor, "SubContractorLimited", "SubContractorLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.SubContractorFull, UserType.Subcontractor, "SubContractorFull", "SubContractorFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.ClientLimited, UserType.Client, "ClientLimited", "ClientLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.ClientFull, UserType.Client, "ClientFull", "ClientFull");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable, "OpsAdminLimited", "OpsAdminLimited");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminFull, UserType.NonSchedulable, "OpsAdminFull", "OpsAdminFull");
|
|
|
|
|
|
|
|
|
|
//PRIVACY TEST USER - this is used for a test to see if user info leaks into the logs
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminLimited, "TEST_PRIVACY_USER_ACCOUNT", "TEST_PRIVACY_USER_ACCOUNT");
|
|
|
|
|
GenSeedUser(1, AuthorizationRoles.OpsAdminLimited, UserType.NonSchedulable, "TEST_PRIVACY_USER_ACCOUNT", "TEST_PRIVACY_USER_ACCOUNT");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -224,7 +224,7 @@ namespace AyaNova.Util
|
|
|
|
|
//////////////////////////////////////////////////////
|
|
|
|
|
//Seed user - default login / pw is first name
|
|
|
|
|
//
|
|
|
|
|
public static void GenSeedUser(int count, AuthorizationRoles roles, string login = null, string password = null)
|
|
|
|
|
public static void GenSeedUser(int count, AuthorizationRoles roles, UserType userType, string login = null, string password = null)
|
|
|
|
|
{
|
|
|
|
|
AyContext ct = ServiceProviderProvider.DBContext;
|
|
|
|
|
|
|
|
|
|
@@ -247,12 +247,15 @@ namespace AyaNova.Util
|
|
|
|
|
u.Password = Hasher.hash(u.Salt, u.Login);
|
|
|
|
|
u.Roles = roles;
|
|
|
|
|
u.LocaleId = ServerBootConfig.AYANOVA_DEFAULT_LANGUAGE_ID;
|
|
|
|
|
u.UserType = userType;
|
|
|
|
|
//TODO: if usertype is subcontractor or client or headoffice it needs to set a corresponding user's parent org record id to go with it
|
|
|
|
|
|
|
|
|
|
ct.User.Add(u);
|
|
|
|
|
}
|
|
|
|
|
//save to get id values
|
|
|
|
|
ct.SaveChanges();
|
|
|
|
|
|
|
|
|
|
//Now that we have the ID values bulk add the event log entries
|
|
|
|
|
//Now that we have the ID values bulk add the event log entries
|
|
|
|
|
//To save a db call iterate the local collection in the context, but...
|
|
|
|
|
//can't modify the context in the foreach, even if it's another collection entirely, so need to save the id's in a temporary list
|
|
|
|
|
List<long> ItemsAdded = new List<long>();
|
|
|
|
|
|