This commit is contained in:
@@ -244,9 +244,10 @@ namespace AyaNova.Util
|
|||||||
await SeedPartWarehouseAsync(log, 5);
|
await SeedPartWarehouseAsync(log, 5);
|
||||||
await SeedPartAsync(log, 20, 100);
|
await SeedPartAsync(log, 20, 100);
|
||||||
await SeedPartAssemblyAsync(log, 5);
|
await SeedPartAssemblyAsync(log, 5);
|
||||||
await SeedPurchaseOrderAsync(log, 20);
|
await SeedPurchaseOrderAsync(log, 10);
|
||||||
await SeedQuoteAsync(log, 5);
|
await SeedQuoteAsync(log, 5);
|
||||||
await SeedWorkOrderAsync(log, 25);
|
await SeedPMAsync(log, 3);
|
||||||
|
await SeedWorkOrderAsync(log, 10);
|
||||||
|
|
||||||
//PERF
|
//PERF
|
||||||
watch.Stop();
|
watch.Stop();
|
||||||
@@ -304,6 +305,7 @@ namespace AyaNova.Util
|
|||||||
await SeedPartAssemblyAsync(log, 5);
|
await SeedPartAssemblyAsync(log, 5);
|
||||||
await SeedPurchaseOrderAsync(log, 30);
|
await SeedPurchaseOrderAsync(log, 30);
|
||||||
await SeedQuoteAsync(log, 5);
|
await SeedQuoteAsync(log, 5);
|
||||||
|
await SeedPMAsync(log, 3);
|
||||||
await SeedWorkOrderAsync(log, 75);
|
await SeedWorkOrderAsync(log, 75);
|
||||||
|
|
||||||
//PERF
|
//PERF
|
||||||
@@ -372,6 +374,7 @@ namespace AyaNova.Util
|
|||||||
await SeedPartAssemblyAsync(log, 5);
|
await SeedPartAssemblyAsync(log, 5);
|
||||||
await SeedPurchaseOrderAsync(log, 50);
|
await SeedPurchaseOrderAsync(log, 50);
|
||||||
await SeedQuoteAsync(log, 5);
|
await SeedQuoteAsync(log, 5);
|
||||||
|
await SeedPMAsync(log, 3);
|
||||||
await SeedWorkOrderAsync(log, 150);
|
await SeedWorkOrderAsync(log, 150);
|
||||||
|
|
||||||
//PERF
|
//PERF
|
||||||
@@ -441,6 +444,7 @@ namespace AyaNova.Util
|
|||||||
await SeedPartAssemblyAsync(log, 25);
|
await SeedPartAssemblyAsync(log, 25);
|
||||||
await SeedPurchaseOrderAsync(log, 250);
|
await SeedPurchaseOrderAsync(log, 250);
|
||||||
await SeedQuoteAsync(log, 5);
|
await SeedQuoteAsync(log, 5);
|
||||||
|
await SeedPMAsync(log, 3);
|
||||||
await SeedWorkOrderAsync(log, 300);
|
await SeedWorkOrderAsync(log, 300);
|
||||||
|
|
||||||
//PERF
|
//PERF
|
||||||
@@ -3694,25 +3698,25 @@ namespace AyaNova.Util
|
|||||||
var woDate = DesiredTimeInUtc(new DateTime(tempDate.Year, tempDate.Month, tempDate.Day, tempHour, 0, 0));
|
var woDate = DesiredTimeInUtc(new DateTime(tempDate.Year, tempDate.Month, tempDate.Day, tempHour, 0, 0));
|
||||||
|
|
||||||
o.CreatedDate = DateTime.UtcNow;
|
o.CreatedDate = DateTime.UtcNow;
|
||||||
|
|
||||||
o.CustomerId = GetRandomCustomerId();//Fake.Random.Long(1, TotalSeededCustomers);
|
o.CustomerId = GetRandomCustomerId();//Fake.Random.Long(1, TotalSeededCustomers);
|
||||||
|
|
||||||
//------
|
//------
|
||||||
o.StopGeneratingDate=woDate.AddYears(1);
|
o.StopGeneratingDate = woDate.AddYears(1);
|
||||||
o.ExcludeDaysOfWeek= new bool[]{true,true,true,true,true,false,false};//Monday to Sunday (0-6 index)
|
o.ExcludeDaysOfWeek = new bool[] { true, true, true, true, true, false, false };//Monday to Sunday (0-6 index)
|
||||||
o.Active=true;
|
o.Active = true;
|
||||||
o.NextServiceDate=woDate.AddDays(1);
|
o.NextServiceDate = woDate.AddDays(1);
|
||||||
o.RepeatInterval=1;
|
o.RepeatInterval = 1;
|
||||||
o.RepeatUnit= PMTimeUnit.Months;
|
o.RepeatUnit = PMTimeUnit.Months;
|
||||||
o.GenerateBeforeInterval=3;
|
o.GenerateBeforeInterval = 3;
|
||||||
o.GenerateBeforeUnit=PMTimeUnit.Days;
|
o.GenerateBeforeUnit = PMTimeUnit.Days;
|
||||||
//------
|
//------
|
||||||
|
|
||||||
|
|
||||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||||
{
|
{
|
||||||
var cust = await ct.Customer.AsNoTracking().FirstAsync(z => z.Id == o.CustomerId);
|
var cust = await ct.Customer.AsNoTracking().FirstAsync(z => z.Id == o.CustomerId);
|
||||||
o.Latitude = cust.Latitude;
|
o.Latitude = cust.Latitude;
|
||||||
o.Longitude = cust.Longitude;
|
o.Longitude = cust.Longitude;
|
||||||
o.Address = cust.Address;
|
o.Address = cust.Address;
|
||||||
o.City = cust.City;
|
o.City = cust.City;
|
||||||
@@ -3723,353 +3727,353 @@ namespace AyaNova.Util
|
|||||||
if (cust.BillHeadOffice && cust.HeadOfficeId != null)
|
if (cust.BillHeadOffice && cust.HeadOfficeId != null)
|
||||||
{
|
{
|
||||||
var head = await ct.HeadOffice.AsNoTracking().FirstAsync(z => z.Id == cust.HeadOfficeId);
|
var head = await ct.HeadOffice.AsNoTracking().FirstAsync(z => z.Id == cust.HeadOfficeId);
|
||||||
o.PostAddress = head.PostAddress;
|
o.PostAddress = head.PostAddress;
|
||||||
o.PostCity = head.PostCity;
|
o.PostCity = head.PostCity;
|
||||||
o.PostRegion = head.PostRegion;
|
o.PostRegion = head.PostRegion;
|
||||||
o.PostCountry = head.PostCountry;
|
o.PostCountry = head.PostCountry;
|
||||||
o.PostCode = head.PostCode;
|
o.PostCode = head.PostCode;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
o.PostAddress = cust.PostAddress;
|
o.PostAddress = cust.PostAddress;
|
||||||
o.PostCity = cust.PostCity;
|
o.PostCity = cust.PostCity;
|
||||||
o.PostRegion = cust.PostRegion;
|
o.PostRegion = cust.PostRegion;
|
||||||
o.PostCountry = cust.PostCountry;
|
o.PostCountry = cust.PostCountry;
|
||||||
o.PostCode = cust.PostCode;
|
o.PostCode = cust.PostCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
o.CustomerReferenceNumber = "crf-" + Fake.Finance.Account(4);
|
o.CustomerReferenceNumber = "crf-" + Fake.Finance.Account(4);
|
||||||
o.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
|
o.InternalReferenceNumber = "irf-" + Fake.Finance.Account(4);
|
||||||
//o.ServiceDate = woDate;
|
//o.ServiceDate = woDate;
|
||||||
|
|
||||||
int woItemCount = Fake.Random.Int(1, 2);
|
int woItemCount = Fake.Random.Int(1, 2);
|
||||||
for (int y = 0; y < woItemCount; y++)
|
for (int y = 0; y < woItemCount; y++)
|
||||||
{
|
{
|
||||||
var woItem = new PMItem()
|
var woItem = new PMItem()
|
||||||
{
|
{
|
||||||
Sequence = y + 1,
|
Sequence = y + 1,
|
||||||
Notes = $"itemnotes - {y} ",
|
Notes = $"itemnotes - {y} ",
|
||||||
TechNotes = $"technotes - {y}",
|
TechNotes = $"technotes - {y}",
|
||||||
RequestDate = woDate.AddMinutes(y),
|
RequestDate = woDate.AddMinutes(y),
|
||||||
WorkOrderItemPriorityId = Fake.Random.Long(1, 5),//there are 5 different sample priorities
|
WorkOrderItemPriorityId = Fake.Random.Long(1, 5),//there are 5 different sample priorities
|
||||||
WorkOrderItemStatusId = Fake.Random.Long(1, 3)//there are 3 different sample woitem status
|
WorkOrderItemStatusId = Fake.Random.Long(1, 3)//there are 3 different sample woitem status
|
||||||
};
|
};
|
||||||
|
|
||||||
//UNITS
|
//UNITS
|
||||||
var woItemUnit = new PMItemUnit()
|
var woItemUnit = new PMItemUnit()
|
||||||
{
|
{
|
||||||
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||||
Notes = Fake.Lorem.Sentence()
|
Notes = Fake.Lorem.Sentence()
|
||||||
};
|
};
|
||||||
woItem.Units.Add(woItemUnit);
|
woItem.Units.Add(woItemUnit);
|
||||||
|
|
||||||
woItemUnit = new PMItemUnit()
|
woItemUnit = new PMItemUnit()
|
||||||
{
|
{
|
||||||
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||||
Notes = Fake.Lorem.Sentence()
|
Notes = Fake.Lorem.Sentence()
|
||||||
};
|
};
|
||||||
woItem.Units.Add(woItemUnit);
|
woItem.Units.Add(woItemUnit);
|
||||||
|
|
||||||
//SCHEDULED USERS
|
//SCHEDULED USERS
|
||||||
var woItemScheduledUser = new PMItemScheduledUser()
|
var woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
EstimatedQuantity = 1,
|
EstimatedQuantity = 1,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(1)
|
StopDate = woDate.AddHours(1)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
|
|
||||||
|
|
||||||
woItemScheduledUser = new PMItemScheduledUser()
|
woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
EstimatedQuantity = 2,
|
EstimatedQuantity = 2,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(1)
|
StopDate = woDate.AddHours(1)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
|
|
||||||
if (y == 1)
|
if (y == 1)
|
||||||
{
|
{
|
||||||
//known tech and subcontractor on every item
|
//known tech and subcontractor on every item
|
||||||
woItemScheduledUser = new PMItemScheduledUser()
|
woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = KnownUserTechId,
|
UserId = KnownUserTechId,
|
||||||
EstimatedQuantity = 2,
|
EstimatedQuantity = 2,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(2)
|
StopDate = woDate.AddHours(2)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
|
|
||||||
woItemScheduledUser = new PMItemScheduledUser()
|
woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = KnownUserSubContractorId,
|
UserId = KnownUserSubContractorId,
|
||||||
EstimatedQuantity = 2,
|
EstimatedQuantity = 2,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(2)
|
StopDate = woDate.AddHours(2)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (y == 3)
|
if (y == 3)
|
||||||
{
|
{
|
||||||
//known restricted tech and subcontractor on some items
|
//known restricted tech and subcontractor on some items
|
||||||
woItemScheduledUser = new PMItemScheduledUser()
|
woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = KnownUserTechRestrictedId,
|
UserId = KnownUserTechRestrictedId,
|
||||||
EstimatedQuantity = 2,
|
EstimatedQuantity = 2,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(2)
|
StopDate = woDate.AddHours(2)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
|
|
||||||
woItemScheduledUser = new PMItemScheduledUser()
|
woItemScheduledUser = new PMItemScheduledUser()
|
||||||
{
|
{
|
||||||
UserId = KnownUserSubContractorRestrictedId,
|
UserId = KnownUserSubContractorRestrictedId,
|
||||||
EstimatedQuantity = 2,
|
EstimatedQuantity = 2,
|
||||||
StartDate = woDate,
|
StartDate = woDate,
|
||||||
StopDate = woDate.AddHours(2)
|
StopDate = woDate.AddHours(2)
|
||||||
};
|
};
|
||||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
//PARTS
|
//PARTS
|
||||||
var woItemPart = new PMItemPart()
|
var woItemPart = new PMItemPart()
|
||||||
{
|
{
|
||||||
|
|
||||||
Quantity = 1,
|
Quantity = 1,
|
||||||
PartId = Fake.Random.Long(1, TotalSeededParts),
|
PartId = Fake.Random.Long(1, TotalSeededParts),
|
||||||
PartWarehouseId = 1
|
PartWarehouseId = 1
|
||||||
};
|
};
|
||||||
woItem.Parts.Add(woItemPart);
|
woItem.Parts.Add(woItemPart);
|
||||||
|
|
||||||
woItemPart = new PMItemPart()
|
woItemPart = new PMItemPart()
|
||||||
{
|
{
|
||||||
|
|
||||||
Quantity = 1,
|
Quantity = 1,
|
||||||
PartId = Fake.Random.Long(1, TotalSeededParts),
|
PartId = Fake.Random.Long(1, TotalSeededParts),
|
||||||
PartWarehouseId = 1
|
PartWarehouseId = 1
|
||||||
};
|
};
|
||||||
woItem.Parts.Add(woItemPart);
|
woItem.Parts.Add(woItemPart);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//LOANERS
|
//LOANERS
|
||||||
var woItemLoan = new PMItemLoan()
|
var woItemLoan = new PMItemLoan()
|
||||||
{
|
{
|
||||||
OutDate = woDate.AddHours(1),
|
OutDate = woDate.AddHours(1),
|
||||||
DueDate = woDate.AddHours(4),
|
DueDate = woDate.AddHours(4),
|
||||||
Quantity = 4,
|
Quantity = 4,
|
||||||
Rate = LoanUnitRateUnit.Hours,
|
Rate = LoanUnitRateUnit.Hours,
|
||||||
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
||||||
};
|
};
|
||||||
woItem.Loans.Add(woItemLoan);
|
woItem.Loans.Add(woItemLoan);
|
||||||
|
|
||||||
woItemLoan = new PMItemLoan()
|
woItemLoan = new PMItemLoan()
|
||||||
{
|
{
|
||||||
OutDate = woDate.AddHours(2),
|
OutDate = woDate.AddHours(2),
|
||||||
DueDate = woDate.AddHours(3),
|
DueDate = woDate.AddHours(3),
|
||||||
Quantity = 1,
|
Quantity = 1,
|
||||||
Rate = LoanUnitRateUnit.Hours,
|
Rate = LoanUnitRateUnit.Hours,
|
||||||
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
||||||
};
|
};
|
||||||
woItem.Loans.Add(woItemLoan);
|
woItem.Loans.Add(woItemLoan);
|
||||||
|
|
||||||
|
|
||||||
//LABOR
|
//LABOR
|
||||||
var techId = RandomServiceTechUserId();
|
var techId = RandomServiceTechUserId();
|
||||||
var woItemLabor = new PMItemLabor()
|
var woItemLabor = new PMItemLabor()
|
||||||
{
|
{
|
||||||
UserId = techId,
|
UserId = techId,
|
||||||
ServiceRateQuantity = 1,
|
ServiceRateQuantity = 1,
|
||||||
ServiceStartDate = woDate,
|
ServiceStartDate = woDate,
|
||||||
ServiceStopDate = woDate.AddHours(1),
|
ServiceStopDate = woDate.AddHours(1),
|
||||||
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
||||||
ServiceDetails = Fake.Lorem.Sentence()
|
ServiceDetails = Fake.Lorem.Sentence()
|
||||||
};
|
};
|
||||||
woItem.Labors.Add(woItemLabor);
|
woItem.Labors.Add(woItemLabor);
|
||||||
|
|
||||||
woItemLabor = new PMItemLabor()
|
woItemLabor = new PMItemLabor()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
ServiceRateQuantity = 2,
|
ServiceRateQuantity = 2,
|
||||||
ServiceStartDate = woDate,
|
ServiceStartDate = woDate,
|
||||||
ServiceStopDate = woDate.AddHours(1),
|
ServiceStopDate = woDate.AddHours(1),
|
||||||
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
ServiceRateId = Fake.Random.Long(1, TotalSeededServiceRates),
|
||||||
ServiceDetails = Fake.Lorem.Sentence()
|
ServiceDetails = Fake.Lorem.Sentence()
|
||||||
};
|
};
|
||||||
woItem.Labors.Add(woItemLabor);
|
woItem.Labors.Add(woItemLabor);
|
||||||
|
|
||||||
|
|
||||||
//TRAVEL
|
//TRAVEL
|
||||||
var woItemTravel = new PMItemTravel()
|
var woItemTravel = new PMItemTravel()
|
||||||
{
|
{
|
||||||
UserId = techId,
|
UserId = techId,
|
||||||
TravelRateQuantity = 1,
|
TravelRateQuantity = 1,
|
||||||
TravelStartDate = woDate,
|
TravelStartDate = woDate,
|
||||||
TravelStopDate = woDate.AddHours(1),
|
TravelStopDate = woDate.AddHours(1),
|
||||||
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
||||||
TravelDetails = Fake.Lorem.Sentence(),
|
TravelDetails = Fake.Lorem.Sentence(),
|
||||||
Distance = Fake.Random.Decimal(1.0m, 20.0m)
|
Distance = Fake.Random.Decimal(1.0m, 20.0m)
|
||||||
};
|
};
|
||||||
woItem.Travels.Add(woItemTravel);
|
woItem.Travels.Add(woItemTravel);
|
||||||
|
|
||||||
woItemTravel = new PMItemTravel()
|
woItemTravel = new PMItemTravel()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
TravelRateQuantity = 2,
|
TravelRateQuantity = 2,
|
||||||
TravelStartDate = woDate,
|
TravelStartDate = woDate,
|
||||||
TravelStopDate = woDate.AddHours(1),
|
TravelStopDate = woDate.AddHours(1),
|
||||||
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
||||||
TravelDetails = Fake.Lorem.Sentence(),
|
TravelDetails = Fake.Lorem.Sentence(),
|
||||||
Distance = Fake.Random.Decimal(1.0m, 20.0m)
|
Distance = Fake.Random.Decimal(1.0m, 20.0m)
|
||||||
};
|
};
|
||||||
woItem.Travels.Add(woItemTravel);
|
woItem.Travels.Add(woItemTravel);
|
||||||
|
|
||||||
//TASKS
|
//TASKS
|
||||||
var woItemTask = new PMItemTask()
|
var woItemTask = new PMItemTask()
|
||||||
{
|
{
|
||||||
CompletedByUserId = techId,
|
CompletedByUserId = techId,
|
||||||
Task = "Dis-assemble",
|
Task = "Dis-assemble",
|
||||||
Sequence = 1,
|
Sequence = 1,
|
||||||
Status = WorkorderItemTaskCompletionType.Incomplete
|
Status = WorkorderItemTaskCompletionType.Incomplete
|
||||||
};
|
};
|
||||||
woItem.Tasks.Add(woItemTask);
|
woItem.Tasks.Add(woItemTask);
|
||||||
|
|
||||||
woItemTask = new PMItemTask()
|
woItemTask = new PMItemTask()
|
||||||
{
|
{
|
||||||
CompletedByUserId = techId,
|
CompletedByUserId = techId,
|
||||||
Task = "Lubricate",
|
Task = "Lubricate",
|
||||||
Sequence = 2,
|
Sequence = 2,
|
||||||
Status = WorkorderItemTaskCompletionType.Incomplete
|
Status = WorkorderItemTaskCompletionType.Incomplete
|
||||||
};
|
};
|
||||||
woItem.Tasks.Add(woItemTask);
|
woItem.Tasks.Add(woItemTask);
|
||||||
|
|
||||||
|
|
||||||
woItemTask = new PMItemTask()
|
woItemTask = new PMItemTask()
|
||||||
{
|
{
|
||||||
CompletedByUserId = techId,
|
CompletedByUserId = techId,
|
||||||
Task = "Repair",
|
Task = "Repair",
|
||||||
Sequence = 3,
|
Sequence = 3,
|
||||||
Status = WorkorderItemTaskCompletionType.Incomplete
|
Status = WorkorderItemTaskCompletionType.Incomplete
|
||||||
};
|
};
|
||||||
woItem.Tasks.Add(woItemTask);
|
woItem.Tasks.Add(woItemTask);
|
||||||
|
|
||||||
woItemTask = new PMItemTask()
|
woItemTask = new PMItemTask()
|
||||||
{
|
{
|
||||||
CompletedByUserId = techId,
|
CompletedByUserId = techId,
|
||||||
Task = "Re-assemble",
|
Task = "Re-assemble",
|
||||||
Sequence = 4,
|
Sequence = 4,
|
||||||
Status = WorkorderItemTaskCompletionType.Incomplete
|
Status = WorkorderItemTaskCompletionType.Incomplete
|
||||||
};
|
};
|
||||||
woItem.Tasks.Add(woItemTask);
|
woItem.Tasks.Add(woItemTask);
|
||||||
|
|
||||||
woItemTask = new PMItemTask()
|
woItemTask = new PMItemTask()
|
||||||
{
|
{
|
||||||
CompletedByUserId = techId,
|
CompletedByUserId = techId,
|
||||||
Task = "Test and confirm repair",
|
Task = "Test and confirm repair",
|
||||||
Sequence = 5,
|
Sequence = 5,
|
||||||
Status = WorkorderItemTaskCompletionType.Incomplete
|
Status = WorkorderItemTaskCompletionType.Incomplete
|
||||||
};
|
};
|
||||||
woItem.Tasks.Add(woItemTask);
|
woItem.Tasks.Add(woItemTask);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//EXPENSES
|
//EXPENSES
|
||||||
var cost = Fake.Random.Decimal(1, 10);
|
var cost = Fake.Random.Decimal(1, 10);
|
||||||
var woItemExpense = new PMItemExpense()
|
var woItemExpense = new PMItemExpense()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
//TotalCost = cost,
|
//TotalCost = cost,
|
||||||
ChargeAmount = cost * 1.2m,
|
ChargeAmount = cost * 1.2m,
|
||||||
ChargeToCustomer = true,
|
ChargeToCustomer = true,
|
||||||
ReimburseUser = true,
|
ReimburseUser = true,
|
||||||
ChargeTaxCodeId = TCGoods,
|
ChargeTaxCodeId = TCGoods,
|
||||||
Name = Fake.Commerce.ProductName()
|
Name = Fake.Commerce.ProductName()
|
||||||
|
|
||||||
};
|
};
|
||||||
woItem.Expenses.Add(woItemExpense);
|
woItem.Expenses.Add(woItemExpense);
|
||||||
|
|
||||||
woItemExpense = new PMItemExpense()
|
woItemExpense = new PMItemExpense()
|
||||||
{
|
{
|
||||||
UserId = RandomServiceTechUserId(),
|
UserId = RandomServiceTechUserId(),
|
||||||
// TotalCost = cost * 2m,
|
// TotalCost = cost * 2m,
|
||||||
ChargeAmount = cost * 2.2m,
|
ChargeAmount = cost * 2.2m,
|
||||||
ChargeToCustomer = true,
|
ChargeToCustomer = true,
|
||||||
ReimburseUser = true,
|
ReimburseUser = true,
|
||||||
ChargeTaxCodeId = TCGoods,
|
ChargeTaxCodeId = TCGoods,
|
||||||
Name = Fake.Commerce.ProductName()
|
Name = Fake.Commerce.ProductName()
|
||||||
|
|
||||||
};
|
};
|
||||||
woItem.Expenses.Add(woItemExpense);
|
woItem.Expenses.Add(woItemExpense);
|
||||||
|
|
||||||
|
|
||||||
//OUTSIDE SERVICES
|
//OUTSIDE SERVICES
|
||||||
var ShippingCost = Fake.Random.Decimal(5, 20);
|
var ShippingCost = Fake.Random.Decimal(5, 20);
|
||||||
var RepairCost = Fake.Random.Decimal(50, 1000);
|
var RepairCost = Fake.Random.Decimal(50, 1000);
|
||||||
var woItemOutsideService = new PMItemOutsideService()
|
var woItemOutsideService = new PMItemOutsideService()
|
||||||
{
|
{
|
||||||
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||||
Notes = Fake.Lorem.Sentence(),
|
Notes = Fake.Lorem.Sentence(),
|
||||||
VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
||||||
VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
||||||
RMANumber = "RMA" + Fake.Finance.Account(6),
|
RMANumber = "RMA" + Fake.Finance.Account(6),
|
||||||
TrackingNumber = "TR" + Fake.Finance.Account(8),
|
TrackingNumber = "TR" + Fake.Finance.Account(8),
|
||||||
RepairCost = RepairCost,
|
RepairCost = RepairCost,
|
||||||
RepairPrice = RepairCost * 1.5m,
|
RepairPrice = RepairCost * 1.5m,
|
||||||
ShippingCost = ShippingCost,
|
ShippingCost = ShippingCost,
|
||||||
ShippingPrice = ShippingCost * 1.5m,
|
ShippingPrice = ShippingCost * 1.5m,
|
||||||
SentDate = woDate,
|
SentDate = woDate,
|
||||||
ETADate = woDate.AddDays(7),
|
ETADate = woDate.AddDays(7),
|
||||||
ReturnDate = woDate.AddDays(8),
|
ReturnDate = woDate.AddDays(8),
|
||||||
TaxCodeId = 1
|
TaxCodeId = 1
|
||||||
};
|
};
|
||||||
woItem.OutsideServices.Add(woItemOutsideService);
|
woItem.OutsideServices.Add(woItemOutsideService);
|
||||||
|
|
||||||
ShippingCost = Fake.Random.Decimal(5, 20);
|
ShippingCost = Fake.Random.Decimal(5, 20);
|
||||||
RepairCost = Fake.Random.Decimal(50, 1000);
|
RepairCost = Fake.Random.Decimal(50, 1000);
|
||||||
woItemOutsideService = new PMItemOutsideService()
|
woItemOutsideService = new PMItemOutsideService()
|
||||||
{
|
{
|
||||||
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||||
Notes = Fake.Lorem.Sentence(),
|
Notes = Fake.Lorem.Sentence(),
|
||||||
VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
||||||
VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
||||||
RMANumber = "RMA" + Fake.Finance.Account(6),
|
RMANumber = "RMA" + Fake.Finance.Account(6),
|
||||||
TrackingNumber = "TR" + Fake.Finance.Account(8),
|
TrackingNumber = "TR" + Fake.Finance.Account(8),
|
||||||
RepairCost = RepairCost,
|
RepairCost = RepairCost,
|
||||||
RepairPrice = RepairCost * 1.5m,
|
RepairPrice = RepairCost * 1.5m,
|
||||||
ShippingCost = ShippingCost,
|
ShippingCost = ShippingCost,
|
||||||
ShippingPrice = ShippingCost * 1.5m,
|
ShippingPrice = ShippingCost * 1.5m,
|
||||||
SentDate = woDate,
|
SentDate = woDate,
|
||||||
ETADate = woDate.AddDays(7),
|
ETADate = woDate.AddDays(7),
|
||||||
ReturnDate = woDate.AddDays(8),
|
ReturnDate = woDate.AddDays(8),
|
||||||
TaxCodeId = 1
|
TaxCodeId = 1
|
||||||
};
|
};
|
||||||
woItem.OutsideServices.Add(woItemOutsideService);
|
woItem.OutsideServices.Add(woItemOutsideService);
|
||||||
|
|
||||||
o.Items.Add(woItem);
|
o.Items.Add(woItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//This seems wrong to do in a loop but is 4 times faster this way ?!?
|
//This seems wrong to do in a loop but is 4 times faster this way ?!?
|
||||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||||
{
|
{
|
||||||
PMBiz biz = PMBiz.GetBiz(ct);
|
PMBiz biz = PMBiz.GetBiz(ct);
|
||||||
var NewObject = await biz.PMCreateAsync(o, false);
|
var NewObject = await biz.PMCreateAsync(o, false);
|
||||||
TotalSeededPMs++;
|
TotalSeededPMs++;
|
||||||
if (NewObject == null)
|
if (NewObject == null)
|
||||||
{
|
{
|
||||||
var err = $"Seeder::SeedPM error creating {o.Serial}\r\n{biz.GetErrorsAsString()}";
|
var err = $"Seeder::SeedPM error creating {o.Serial}\r\n{biz.GetErrorsAsString()}";
|
||||||
log.LogError(err);
|
log.LogError(err);
|
||||||
throw new System.Exception(err);
|
throw new System.Exception(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4079,22 +4083,22 @@ using (AyContext ct = ServiceProviderProvider.DBContext)
|
|||||||
|
|
||||||
|
|
||||||
private long GetRandomUnitForCustomer(long customerId)
|
private long GetRandomUnitForCustomer(long customerId)
|
||||||
{
|
{
|
||||||
var l = CustomerUnits.Where(x => x.Key == customerId).FirstOrDefault();//Fake.Random.Long(1, TotalSeededUnits);
|
var l = CustomerUnits.Where(x => x.Key == customerId).FirstOrDefault();//Fake.Random.Long(1, TotalSeededUnits);
|
||||||
var numUnits = l.Value.Count();
|
var numUnits = l.Value.Count();
|
||||||
//because faker values are INCLUSIVE and this is going to be used as an index on an array need to -1 each end of the range
|
//because faker values are INCLUSIVE and this is going to be used as an index on an array need to -1 each end of the range
|
||||||
var i = Fake.Random.Int(0, numUnits - 1);
|
var i = Fake.Random.Int(0, numUnits - 1);
|
||||||
return l.Value[i];
|
return l.Value[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
private long GetRandomCustomerId()
|
private long GetRandomCustomerId()
|
||||||
{
|
{
|
||||||
//return any random customer except for the shadow unit one
|
//return any random customer except for the shadow unit one
|
||||||
long ret = KnownCustomerForShadownUnitsId;
|
long ret = KnownCustomerForShadownUnitsId;
|
||||||
while (ret == KnownCustomerForShadownUnitsId)
|
while (ret == KnownCustomerForShadownUnitsId)
|
||||||
ret = Fake.Random.Long(1, TotalSeededCustomers);
|
ret = Fake.Random.Long(1, TotalSeededCustomers);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user