This commit is contained in:
2020-12-16 15:54:13 +00:00
parent d32703d31c
commit 30a0a7d640
2 changed files with 58 additions and 1 deletions

2
.vscode/launch.json vendored
View File

@@ -53,7 +53,7 @@
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
"AYANOVA_SERVER_TEST_MODE": "false",
"AYANOVA_SERVER_TEST_MODE": "true",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"

View File

@@ -233,6 +233,9 @@ namespace AyaNova.Util
//VENDORS
await SeedVendorAsync(log, 25);
//PROJECTS
await SeedProjectAsync(log, 25);
//PERF
watch.Stop();
@@ -295,6 +298,9 @@ namespace AyaNova.Util
//VENDORS
await SeedVendorAsync(log, 50);
//PROJECTS
await SeedProjectAsync(log, 50);
//PERF
watch.Stop();
await LogStatusAsync(JobId, LogJob, log, $"MEDIUM level sample data seeded in {watch.ElapsedMilliseconds} ms");
@@ -372,6 +378,9 @@ namespace AyaNova.Util
//VENDORS
await SeedVendorAsync(log, 75);
//PROJECTS
await SeedProjectAsync(log, 75);
//PERF
watch.Stop();
await LogStatusAsync(JobId, LogJob, log, $"LARGE level sample data seeded in {watch.ElapsedMilliseconds} ms");
@@ -449,6 +458,9 @@ namespace AyaNova.Util
//VENDORS
await SeedVendorAsync(log, 100);
//PROJECTS
await SeedProjectAsync(log, 500);
//PERF
watch.Stop();
await LogStatusAsync(JobId, LogJob, log, $"HUGE level sample data seeded in {watch.ElapsedMilliseconds} ms");
@@ -736,6 +748,8 @@ namespace AyaNova.Util
}
}
}
///////////////////////////////////////////////
}
@@ -1076,6 +1090,49 @@ namespace AyaNova.Util
}
}
//////////////////////////////////////////////////////
//PROJECT
//
public async Task SeedProjectAsync(ILogger log, int count)
{
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
DateTime seedEndWindow = DateTime.Now.AddYears(1);
for (int x = 0; x < count; x++)
{
Project o = new Project();
o.Name = $"{Fake.Random.AlphaNumeric(8)}{x + 1}";
o.AccountNumber = Fake.Finance.Account();
o.Active = true;
o.Notes = Fake.Lorem.Sentence();
o.Tags = RandomTags();
DateTime dtSeed = Fake.Date.Between(seedStartWindow, seedEndWindow).ToUniversalTime();
o.DateStarted = dtSeed;
if (Fake.Random.Number(9) != 5)
o.DateCompleted = dtSeed.AddDays(Fake.Random.Long(2, 100));
o.ProjectOverseerId = Fake.Random.Long(2, 13);
//This seems wrong to do in a loop but is 4 times faster this way ?!?
using (AyContext ct = ServiceProviderProvider.DBContext)
{
ProjectBiz biz = ProjectBiz.GetBiz(ct);
var NewObject = await biz.CreateAsync(o);
if (NewObject == null)
{
var err = $"Seeder::SeedProject error creating {o.Name}\r\n{biz.GetErrorsAsString()}";
log.LogError(err);
throw new System.Exception(err);
}
}
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////
}//eoc