This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -48,7 +48,7 @@
|
||||
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
|
||||
"AYANOVA_USE_URLS": "http://*:7575;",
|
||||
//"AYANOVA_PERMANENTLY_ERASE_DATABASE":"true",
|
||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||
"AYANOVA_SERVER_TEST_MODE": "true",
|
||||
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-8",
|
||||
//"AYANOVA_REPORT_RENDERING_TIMEOUT":"1",
|
||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
|
||||
|
||||
@@ -2464,8 +2464,8 @@ namespace AyaNova.Util
|
||||
//
|
||||
public async Task SeedCustomerServiceRequestAsync(ILogger log, int count)
|
||||
{
|
||||
DateTime seedStartWindow = DateTime.Now.AddYears(-1);
|
||||
DateTime seedEndWindow = DateTime.Now.AddMonths(-11);
|
||||
DateTime seedStartWindow = DateTime.Now.AddMonths(-1);
|
||||
DateTime seedEndWindow = DateTime.Now;
|
||||
|
||||
for (int x = 0; x < count; x++)
|
||||
{
|
||||
@@ -2859,14 +2859,13 @@ namespace AyaNova.Util
|
||||
var tempDate = seedStartWindow.AddDays(x);
|
||||
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, DateTimeKind.Utc));
|
||||
bool isPast = (woDate.Subtract(DateTime.UtcNow).TotalDays < -7);
|
||||
bool olderThanOneWeekAgo = (woDate.Subtract(DateTime.UtcNow).TotalDays < -7);
|
||||
bool isFutureDate = woDate > DateTime.UtcNow;
|
||||
|
||||
o.CreatedDate = woDate > DateTime.UtcNow ? DateTime.UtcNow : woDate;//no created dates in future but want a range of past dates to show off age of wo
|
||||
o.CompleteByDate = woDate.AddDays(5);
|
||||
|
||||
//todo: NEED TO SHOW OFF COMPLETION TIME WIDGETS ETC, so need a o.completeddate set that corresponds also to a completed status set
|
||||
|
||||
// o.CustomerContactName = "contact name here";
|
||||
o.CustomerId = GetRandomCustomerId();//Fake.Random.Long(1, TotalSeededCustomers);
|
||||
|
||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||
@@ -3086,48 +3085,51 @@ namespace AyaNova.Util
|
||||
}
|
||||
|
||||
|
||||
|
||||
//LABOR
|
||||
var techId = RandomServiceTechUserId();
|
||||
var woItemLabor = new WorkOrderItemLabor()
|
||||
//LABOR
|
||||
if (!isFutureDate)
|
||||
{
|
||||
UserId = techId,
|
||||
ServiceRateQuantity = 1,
|
||||
ServiceStartDate = woDate,
|
||||
ServiceStopDate = woDate.AddHours(1),
|
||||
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
||||
ServiceDetails = Fake.Lorem.Sentence(null, 6)
|
||||
};
|
||||
woItem.Labors.Add(woItemLabor);
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
woItemLabor = new WorkOrderItemLabor()
|
||||
|
||||
var woItemLabor = new WorkOrderItemLabor()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
ServiceRateQuantity = 2,
|
||||
UserId = techId,
|
||||
ServiceRateQuantity = 1,
|
||||
ServiceStartDate = woDate,
|
||||
ServiceStopDate = woDate.AddHours(1),
|
||||
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
||||
ServiceDetails = Fake.Lorem.Sentence(null, 6)
|
||||
};
|
||||
woItem.Labors.Add(woItemLabor);
|
||||
}
|
||||
|
||||
|
||||
//TRAVEL
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
var woItemTravel = new WorkOrderItemTravel()
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
UserId = techId,
|
||||
TravelRateQuantity = 1,
|
||||
TravelStartDate = woDate,
|
||||
TravelStopDate = woDate.AddHours(1),
|
||||
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
||||
TravelDetails = Fake.Lorem.Sentence(null, 3),
|
||||
Distance = Fake.Random.Int(1, 20)
|
||||
};
|
||||
woItem.Travels.Add(woItemTravel);
|
||||
woItemLabor = new WorkOrderItemLabor()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
ServiceRateQuantity = 2,
|
||||
ServiceStartDate = woDate,
|
||||
ServiceStopDate = woDate.AddHours(1),
|
||||
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
||||
ServiceDetails = Fake.Lorem.Sentence(null, 6)
|
||||
};
|
||||
woItem.Labors.Add(woItemLabor);
|
||||
}
|
||||
|
||||
|
||||
//TRAVEL
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
var woItemTravel = new WorkOrderItemTravel()
|
||||
{
|
||||
UserId = techId,
|
||||
TravelRateQuantity = 1,
|
||||
TravelStartDate = woDate,
|
||||
TravelStopDate = woDate.AddHours(1),
|
||||
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
||||
TravelDetails = Fake.Lorem.Sentence(null, 3),
|
||||
Distance = Fake.Random.Int(1, 20)
|
||||
};
|
||||
woItem.Travels.Add(woItemTravel);
|
||||
}
|
||||
}
|
||||
|
||||
//TASKS
|
||||
@@ -3138,8 +3140,8 @@ namespace AyaNova.Util
|
||||
CompletedByUserId = techId,
|
||||
Task = "Dis-assemble",
|
||||
Sequence = 1,
|
||||
Status = WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = woDate.AddHours(1)
|
||||
Status = isFutureDate ? WorkOrderItemTaskCompletionType.Incomplete : WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = isFutureDate ? null : woDate.AddHours(1)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
|
||||
@@ -3149,7 +3151,7 @@ namespace AyaNova.Util
|
||||
Task = "Lubricate",
|
||||
Sequence = 2,
|
||||
Status = WorkOrderItemTaskCompletionType.NotApplicable,
|
||||
CompletedDate = woDate.AddHours(1)
|
||||
CompletedDate = isFutureDate ? null : woDate.AddHours(1)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
|
||||
@@ -3159,8 +3161,8 @@ namespace AyaNova.Util
|
||||
CompletedByUserId = techId,
|
||||
Task = "Repair",
|
||||
Sequence = 3,
|
||||
Status = WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = woDate.AddHours(1.5)
|
||||
Status = isFutureDate ? WorkOrderItemTaskCompletionType.Incomplete : WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = isFutureDate ? null : woDate.AddHours(1.5)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
|
||||
@@ -3169,8 +3171,8 @@ namespace AyaNova.Util
|
||||
CompletedByUserId = techId,
|
||||
Task = "Re-assemble",
|
||||
Sequence = 4,
|
||||
Status = WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = woDate.AddHours(2)
|
||||
Status = isFutureDate ? WorkOrderItemTaskCompletionType.Incomplete : WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = isFutureDate ? null : woDate.AddHours(2)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
|
||||
@@ -3179,8 +3181,8 @@ namespace AyaNova.Util
|
||||
CompletedByUserId = techId,
|
||||
Task = "Test and confirm repair",
|
||||
Sequence = 5,
|
||||
Status = WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = woDate.AddHours(2)
|
||||
Status = isFutureDate ? WorkOrderItemTaskCompletionType.Incomplete : WorkOrderItemTaskCompletionType.Complete,
|
||||
CompletedDate = isFutureDate ? null : woDate.AddHours(2)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
}
|
||||
@@ -3188,39 +3190,42 @@ namespace AyaNova.Util
|
||||
|
||||
|
||||
//EXPENSES
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
if (!isFutureDate)
|
||||
{
|
||||
var cost = Fake.Random.Decimal(1, 10);
|
||||
var woItemExpense = new WorkOrderItemExpense()
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
//TotalCost = cost,
|
||||
ChargeAmount = MoneyUtil.Round(cost * 1.2m),
|
||||
ChargeToCustomer = true,
|
||||
ReimburseUser = true,
|
||||
ChargeTaxCodeId = TCGoods,
|
||||
Name = Fake.Commerce.ProductName()
|
||||
var cost = Fake.Random.Decimal(1, 10);
|
||||
var woItemExpense = new WorkOrderItemExpense()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
//TotalCost = cost,
|
||||
ChargeAmount = MoneyUtil.Round(cost * 1.2m),
|
||||
ChargeToCustomer = true,
|
||||
ReimburseUser = true,
|
||||
ChargeTaxCodeId = TCGoods,
|
||||
Name = Fake.Commerce.ProductName()
|
||||
|
||||
};
|
||||
woItem.Expenses.Add(woItemExpense);
|
||||
};
|
||||
woItem.Expenses.Add(woItemExpense);
|
||||
|
||||
woItemExpense = new WorkOrderItemExpense()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
// TotalCost = cost * 2m,
|
||||
ChargeAmount = MoneyUtil.Round(cost * 2.2m),
|
||||
ChargeToCustomer = true,
|
||||
ReimburseUser = true,
|
||||
ChargeTaxCodeId = TCGoods,
|
||||
Name = Fake.Commerce.ProductName()
|
||||
woItemExpense = new WorkOrderItemExpense()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
// TotalCost = cost * 2m,
|
||||
ChargeAmount = MoneyUtil.Round(cost * 2.2m),
|
||||
ChargeToCustomer = true,
|
||||
ReimburseUser = true,
|
||||
ChargeTaxCodeId = TCGoods,
|
||||
Name = Fake.Commerce.ProductName()
|
||||
|
||||
};
|
||||
woItem.Expenses.Add(woItemExpense);
|
||||
};
|
||||
woItem.Expenses.Add(woItemExpense);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//OUTSIDE SERVICES
|
||||
if (Fake.Random.Int(1, 10) == 2)//10% chance
|
||||
if (!isFutureDate && Fake.Random.Int(1, 10) == 2)//10% chance
|
||||
{
|
||||
var ShippingCost = MoneyUtil.Round(Fake.Random.Decimal(5, 20));
|
||||
var RepairCost = MoneyUtil.Round(Fake.Random.Decimal(50, 1000));
|
||||
@@ -3326,7 +3331,7 @@ namespace AyaNova.Util
|
||||
|
||||
//All wo ending status
|
||||
//if it's in the past tag it with a completed type status
|
||||
if (isPast)
|
||||
if (olderThanOneWeekAgo)
|
||||
{
|
||||
{
|
||||
var WoState = new WorkOrderState()
|
||||
|
||||
Reference in New Issue
Block a user