This commit is contained in:
@@ -96,6 +96,7 @@ namespace AyaNova.Util
|
||||
throw new System.NotSupportedException(msg);
|
||||
}
|
||||
|
||||
TimeZoneOffset = timeZoneOffset;
|
||||
|
||||
apiServerState.SetOpsOnly("Seeding database");
|
||||
ServerBootConfig.SEEDING = true;
|
||||
@@ -528,6 +529,20 @@ namespace AyaNova.Util
|
||||
|
||||
long TCSales = 0, TCGoods = 0, TCBoth = 0;
|
||||
|
||||
|
||||
public Decimal TimeZoneOffset = 0;
|
||||
//this is supposed to output the correct UTC
|
||||
//value to save to db to match the desired time input
|
||||
//taking into account the timezoneoffset specified for generating data
|
||||
//so for example if the tzoffset is -7 utc and a input of 9:00am
|
||||
//then it should figure out what 9am in a -7 time zone is in UTC
|
||||
//and return that value
|
||||
public DateTime DesiredTimeInUtc(DateTime dt)
|
||||
{
|
||||
return dt.AddHours(0 - (double)TimeZoneOffset);
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
//Seed known / expected test data for tests/development
|
||||
//
|
||||
@@ -2421,15 +2436,19 @@ namespace AyaNova.Util
|
||||
//
|
||||
public async Task SeedWorkOrderAsync(ILogger log, int count)
|
||||
{
|
||||
DateTime seedStartWindow = DateTime.Now.AddMonths(-9);
|
||||
DateTime seedEndWindow = DateTime.Now.AddMonths(3);
|
||||
DateTime seedStartWindow = DateTime.UtcNow.AddMonths(-9);
|
||||
DateTime seedEndWindow = DateTime.UtcNow.AddMonths(3);
|
||||
for (int x = 0; x < count; x++)
|
||||
{
|
||||
WorkOrder o = new WorkOrder();
|
||||
o.Notes = Fake.Lorem.Sentence();
|
||||
o.Tags = RandomTags();
|
||||
var woDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
||||
o.CompleteByDate = woDate.AddDays(5).ToUniversalTime();
|
||||
var tempDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
||||
var tempHour=Fake.Random.Int(9,17);//9am to 5 pm (except some times may be in different dst state so this will be out by an hour for example depending on time of year and time zone in question)
|
||||
var woDate = DesiredTimeInUtc(new DateTime(tempDate.Year, tempDate.Month, tempDate.Day, tempHour, 0, 0));
|
||||
|
||||
|
||||
o.CompleteByDate = woDate.AddDays(5);
|
||||
o.CustomerContactName = "contact name here";
|
||||
o.CustomerId = Fake.Random.Long(1, TotalSeededCustomers);
|
||||
|
||||
@@ -2467,7 +2486,7 @@ namespace AyaNova.Util
|
||||
|
||||
o.CustomerReferenceNumber = "crf-" + Fake.Finance.Account(4);
|
||||
o.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
|
||||
o.ServiceDate = woDate.ToUniversalTime();
|
||||
o.ServiceDate = woDate;
|
||||
|
||||
int woItemCount = Fake.Random.Int(1, 6);
|
||||
for (int y = 0; y < woItemCount; y++)
|
||||
@@ -2477,21 +2496,25 @@ namespace AyaNova.Util
|
||||
Sequence = y + 1,
|
||||
Notes = $"itemnotes - {y} ",
|
||||
TechNotes = $"technotes - {y}",
|
||||
RequestDate = woDate.ToUniversalTime().AddMinutes(y)
|
||||
RequestDate = woDate.AddMinutes(y)
|
||||
};
|
||||
|
||||
//add two users for testing
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
EstimatedQuantity = 1
|
||||
EstimatedQuantity = 1,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(1)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
|
||||
woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
EstimatedQuantity = 2
|
||||
EstimatedQuantity = 2,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(1)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user