This commit is contained in:
2021-07-28 17:19:17 +00:00
parent b11491af66
commit 8440a4b132

View File

@@ -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;
} }
////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////