diff --git a/.vscode/launch.json b/.vscode/launch.json index ebaa1145..b77f3b95 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -48,7 +48,7 @@ "AYANOVA_DEFAULT_TRANSLATION": "en", //TRANSLATION MUST BE en for Integration TESTING //"AYANOVA_PERMANENTLY_ERASE_DATABASE": "true", - "AYANOVA_DB_CONNECTION": "Server=localhost;Username=postgres;Password=raven;Database=AyaNova;CommandTimeout=90;", + "AYANOVA_DB_CONNECTION": "Server=localhost;Username=postgres;Password=raven;Database=AyaNova;CommandTimeout=120;", "AYANOVA_USE_URLS": "http://*:7575;", "AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles", "AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles", diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json index f7f78d42..f6541df5 100644 --- a/server/AyaNova/resource/en.json +++ b/server/AyaNova/resource/en.json @@ -386,13 +386,13 @@ "LoanUnitList": "Loan Items", "LoanUnitName": "Name", "LoanUnitNotes": "Notes", - "LoanUnitRateDay": "Day rate", - "LoanUnitRateHalfDay": "Half day rate", - "LoanUnitRateHour": "Hour rate", - "LoanUnitRateMonth": "Month rate", + "LoanUnitRateDay": "Day", + "LoanUnitRateHalfDay": "Half day", + "LoanUnitRateHour": "Hour", + "LoanUnitRateMonth": "Month", "LoanUnitRateNone": "-", - "LoanUnitRateWeek": "Week rate", - "LoanUnitRateYear": "Year rate", + "LoanUnitRateWeek": "Week", + "LoanUnitRateYear": "Year", "LoanUnitDefaultRate": "Default rate", "LoanUnitSerial": "Serial number", "LoanUnitShadowUnit": "Shadow Unit", diff --git a/server/AyaNova/util/DbUtil.cs b/server/AyaNova/util/DbUtil.cs index 32dfacca..400e197f 100644 --- a/server/AyaNova/util/DbUtil.cs +++ b/server/AyaNova/util/DbUtil.cs @@ -432,12 +432,12 @@ namespace AyaNova.Util //after cleanup using (var cmd = new Npgsql.NpgsqlCommand()) - { + { cmd.Connection = conn; cmd.CommandText = "delete from \"auseroptions\" where UserId <> 1;"; await cmd.ExecuteNonQueryAsync(); cmd.CommandText = "ALTER SEQUENCE auseroptions_id_seq RESTART WITH 2;"; - await cmd.ExecuteNonQueryAsync(); + await cmd.ExecuteNonQueryAsync(); cmd.CommandText = "delete from \"auser\" where id <> 1;"; await cmd.ExecuteNonQueryAsync(); cmd.CommandText = "ALTER SEQUENCE auser_id_seq RESTART WITH 2;"; @@ -477,7 +477,7 @@ namespace AyaNova.Util /////////////////////////////////////////// // Erase all data from the table specified // - private static async Task EraseTableAsync(string sTable, Npgsql.NpgsqlConnection conn, bool tableHasNoIdentity = false) + private static async Task EraseTableAsync(string sTable, Npgsql.NpgsqlConnection conn, bool tableHasNoSequence = false) { using (var cmd = new Npgsql.NpgsqlCommand()) { @@ -486,24 +486,18 @@ namespace AyaNova.Util //but then cascade causes things to delete in any referenced table // cmd.CommandText = "TRUNCATE \"" + sTable + "\" RESTART IDENTITY;"; - // cmd.CommandText = $"delete from {sTable};"; - if (tableHasNoIdentity) - cmd.CommandText = $"TRUNCATE {sTable};"; - else - cmd.CommandText = $"TRUNCATE {sTable} RESTART IDENTITY;"; + cmd.CommandText = $"delete from {sTable};"; await cmd.ExecuteNonQueryAsync(); - // if (!tableHasNoSequence) - // { - // cmd.CommandText = $"ALTER SEQUENCE {sTable}_id_seq RESTART WITH 1;"; - // await cmd.ExecuteNonQueryAsync(); + if (!tableHasNoSequence) + { + cmd.CommandText = $"ALTER SEQUENCE {sTable}_id_seq RESTART WITH 1;"; + await cmd.ExecuteNonQueryAsync(); - // } + } } } - - /////////////////////////////////////////// // Check if DB is empty // CALLED BY LICENSE CONTROLLER AND LICENSE.CS FOR TRIAL Request check diff --git a/server/AyaNova/util/Seeder.cs b/server/AyaNova/util/Seeder.cs index 55f519ed..3ce66518 100644 --- a/server/AyaNova/util/Seeder.cs +++ b/server/AyaNova/util/Seeder.cs @@ -228,7 +228,7 @@ namespace AyaNova.Util await SeedUserAsync(log, 1, AuthorizationRoles.BizAdminFull | AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.OpsAdminFull, UserType.Service); //Generate one office person / secretary await SeedUserAsync(log, 1, AuthorizationRoles.DispatchFull | AuthorizationRoles.InventoryFull | AuthorizationRoles.AccountingFull, UserType.NotService); - await SeedWidgetAsync(log, 25); + await SeedWidgetAsync(log, 3);//keeping this here for now but must remove later await SeedCustomerAsync(log, 25); await SeedHeadOfficeAsync(log, 10); await SeedVendorAsync(log, 10); @@ -283,15 +283,15 @@ namespace AyaNova.Util //1 accountant / bookkeeper await SeedUserAsync(log, 1, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - await SeedWidgetAsync(log, 100); + //await SeedWidgetAsync(log, 100); await SeedCustomerAsync(log, 500); await SeedHeadOfficeAsync(log, 20); await SeedVendorAsync(log, 50); await SeedProjectAsync(log, 50); await SeedServiceRateAsync(log, 10); await SeedTravelRateAsync(log, 5); - await SeedUnitModelAsync(log, 25); - await SeedUnitAsync(log, 2500);//5 times the customers or 5 units per customer + await SeedUnitModelAsync(log, 20); + await SeedUnitAsync(log, 2500); await SeedLoanLoanUnitAsync(log, 10); await SeedCustomerServiceRequestAsync(log, 10); await SeedPartWarehouseAsync(log, 10); @@ -325,10 +325,10 @@ namespace AyaNova.Util await SeedUserAsync(log, 2, AuthorizationRoles.BizAdminFull | AuthorizationRoles.OpsAdminLimited, UserType.NotService); //owner / upper management who doesn't control anything but views stuff await SeedUserAsync(log, 5, AuthorizationRoles.BizAdminLimited | AuthorizationRoles.DispatchLimited | AuthorizationRoles.InventoryLimited | AuthorizationRoles.OpsAdminLimited, UserType.NotService); - //100 techs - await SeedUserAsync(log, 100, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service); + //TECHS + await SeedUserAsync(log, 50, AuthorizationRoles.TechFull | AuthorizationRoles.DispatchLimited, UserType.Service); //limited techs - await SeedUserAsync(log, 50, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service); + await SeedUserAsync(log, 10, AuthorizationRoles.TechLimited | AuthorizationRoles.DispatchLimited, UserType.Service); //20 subcontractors await SeedUserAsync(log, 20, AuthorizationRoles.SubContractorFull, UserType.ServiceContractor); //10 limited subcontractors @@ -348,22 +348,22 @@ namespace AyaNova.Util //5 accountant / bookkeeper await SeedUserAsync(log, 5, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - await SeedWidgetAsync(log, 100); - await SeedCustomerAsync(log, 5000); - await SeedHeadOfficeAsync(log, 30); - await SeedVendorAsync(log, 75); - await SeedProjectAsync(log, 75); + //await SeedWidgetAsync(log, 100); + await SeedCustomerAsync(log, 1000); + await SeedHeadOfficeAsync(log, 40); + await SeedVendorAsync(log, 100); + await SeedProjectAsync(log, 100); await SeedServiceRateAsync(log, 20); await SeedTravelRateAsync(log, 10); - await SeedUnitModelAsync(log, 30); - await SeedUnitAsync(log, 25000);//5 times the customers or 5 units per customer - await SeedLoanLoanUnitAsync(log, 15); - await SeedCustomerServiceRequestAsync(log, 15); - await SeedPartWarehouseAsync(log, 15); + await SeedUnitModelAsync(log, 40); + await SeedUnitAsync(log, 5000); + await SeedLoanLoanUnitAsync(log, 20); + await SeedCustomerServiceRequestAsync(log, 20); + await SeedPartWarehouseAsync(log, 20); await SeedPartAsync(log, 200, 15); await SeedPartAssemblyAsync(log, 5); await SeedPurchaseOrderAsync(log, 50); - await SeedWorkOrderAsync(log, 50); + await SeedWorkOrderAsync(log, 60); //PERF watch.Stop(); @@ -414,22 +414,22 @@ namespace AyaNova.Util //accountant / bookkeeper await SeedUserAsync(log, 20, AuthorizationRoles.AccountingFull | AuthorizationRoles.BizAdminLimited, UserType.NotService); - await SeedWidgetAsync(log, 100); - await SeedCustomerAsync(log, 20000); - await SeedHeadOfficeAsync(log, 40); - await SeedVendorAsync(log, 100); + //await SeedWidgetAsync(log, 100); + await SeedCustomerAsync(log, 10000); + await SeedHeadOfficeAsync(log, 200); + await SeedVendorAsync(log, 500); await SeedProjectAsync(log, 500); - await SeedServiceRateAsync(log, 30); - await SeedTravelRateAsync(log, 15); - await SeedUnitModelAsync(log, 40); - await SeedUnitAsync(log, 100000);//5 times the customers or 5 units per customer - await SeedLoanLoanUnitAsync(log, 20); - await SeedCustomerServiceRequestAsync(log, 20); - await SeedPartWarehouseAsync(log, 20); - await SeedPartAsync(log, 500, 20); - await SeedPartAssemblyAsync(log, 5); - await SeedPurchaseOrderAsync(log, 200); - await SeedWorkOrderAsync(log, 200); + await SeedServiceRateAsync(log, 100); + await SeedTravelRateAsync(log, 50); + await SeedUnitModelAsync(log, 200); + await SeedUnitAsync(log, 25000); + await SeedLoanLoanUnitAsync(log, 100); + await SeedCustomerServiceRequestAsync(log, 100); + await SeedPartWarehouseAsync(log, 100); + await SeedPartAsync(log, 1000, 1000); + await SeedPartAssemblyAsync(log, 25); + await SeedPurchaseOrderAsync(log, 250); + await SeedWorkOrderAsync(log, 300); //PERF watch.Stop();