This commit is contained in:
@@ -445,7 +445,7 @@ namespace AyaNova.Util
|
||||
await SeedPartAsync(log, 10000, 6000);
|
||||
await SeedPartAssemblyAsync(log, 500);
|
||||
await SeedPurchaseOrderAsync(log, 1000);
|
||||
await SeedQuoteAsync(log, 1000);
|
||||
await SeedQuoteAsync(log, 10);
|
||||
await SeedPMAsync(log, 3);//DO NOT want too many of these as they affect performance
|
||||
await SeedWorkOrderAsync(log, 3600, slevel);
|
||||
|
||||
@@ -2853,8 +2853,7 @@ namespace AyaNova.Util
|
||||
}
|
||||
|
||||
//SCHEDULED USERS
|
||||
//not realistic, just to fill schedule forms with a nice even distribution
|
||||
//four random techs plus a few others of known type
|
||||
for (int a = 0; a < woItemCount; a++)//woItemCount works here
|
||||
{
|
||||
var randomStart = Fake.Random.Int(0, 5);
|
||||
var randomHours = Fake.Random.Int(1, 4);
|
||||
@@ -2870,94 +2869,94 @@ namespace AyaNova.Util
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
|
||||
{
|
||||
var randomStart = Fake.Random.Int(0, 5);
|
||||
var randomHours = Fake.Random.Int(1, 4);
|
||||
var randomDays = Fake.Random.Int(0, 3);
|
||||
var randomStop = randomStart + randomHours;
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
EstimatedQuantity = randomHours,
|
||||
StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
// {
|
||||
// var randomStart = Fake.Random.Int(0, 5);
|
||||
// var randomHours = Fake.Random.Int(1, 4);
|
||||
// var randomDays = Fake.Random.Int(0, 3);
|
||||
// var randomStop = randomStart + randomHours;
|
||||
// var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = RandomServiceTechUserId(),
|
||||
// EstimatedQuantity = randomHours,
|
||||
// StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
// StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// }
|
||||
|
||||
{
|
||||
var randomStart = Fake.Random.Int(0, 5);
|
||||
var randomHours = Fake.Random.Int(1, 4);
|
||||
var randomDays = Fake.Random.Int(0, 3);
|
||||
var randomStop = randomStart + randomHours;
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
EstimatedQuantity = randomHours,
|
||||
StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
// {
|
||||
// var randomStart = Fake.Random.Int(0, 5);
|
||||
// var randomHours = Fake.Random.Int(1, 4);
|
||||
// var randomDays = Fake.Random.Int(0, 3);
|
||||
// var randomStop = randomStart + randomHours;
|
||||
// var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = RandomServiceTechUserId(),
|
||||
// EstimatedQuantity = randomHours,
|
||||
// StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
// StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// }
|
||||
|
||||
{
|
||||
var randomStart = Fake.Random.Int(0, 5);
|
||||
var randomHours = Fake.Random.Int(1, 4);
|
||||
var randomDays = Fake.Random.Int(0, 3);
|
||||
var randomStop = randomStart + randomHours;
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
EstimatedQuantity = randomHours,
|
||||
StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
// {
|
||||
// var randomStart = Fake.Random.Int(0, 5);
|
||||
// var randomHours = Fake.Random.Int(1, 4);
|
||||
// var randomDays = Fake.Random.Int(0, 3);
|
||||
// var randomStop = randomStart + randomHours;
|
||||
// var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = RandomServiceTechUserId(),
|
||||
// EstimatedQuantity = randomHours,
|
||||
// StartDate = woDate.AddHours(randomStart).AddDays(randomDays),
|
||||
// StopDate = woDate.AddHours(randomStop).AddDays(randomDays)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// }
|
||||
|
||||
if (y == 1)
|
||||
{
|
||||
//known tech and subcontractor on every item
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = KnownUserTechId,
|
||||
EstimatedQuantity = 2,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(2)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// if (y == 1)
|
||||
// {
|
||||
// //known tech and subcontractor on every item
|
||||
// var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = KnownUserTechId,
|
||||
// EstimatedQuantity = 2,
|
||||
// StartDate = woDate,
|
||||
// StopDate = woDate.AddHours(2)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
|
||||
woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = KnownUserSubContractorId,
|
||||
EstimatedQuantity = 2,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(2)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
// woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = KnownUserSubContractorId,
|
||||
// EstimatedQuantity = 2,
|
||||
// StartDate = woDate,
|
||||
// StopDate = woDate.AddHours(2)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// }
|
||||
|
||||
if (y == 3)
|
||||
{
|
||||
//known restricted tech and subcontractor on some items
|
||||
var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = KnownUserTechRestrictedId,
|
||||
EstimatedQuantity = 2,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(2)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// if (y == 3)
|
||||
// {
|
||||
// //known restricted tech and subcontractor on some items
|
||||
// var woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = KnownUserTechRestrictedId,
|
||||
// EstimatedQuantity = 2,
|
||||
// StartDate = woDate,
|
||||
// StopDate = woDate.AddHours(2)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
|
||||
woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
{
|
||||
UserId = KnownUserSubContractorRestrictedId,
|
||||
EstimatedQuantity = 2,
|
||||
StartDate = woDate,
|
||||
StopDate = woDate.AddHours(2)
|
||||
};
|
||||
woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
}
|
||||
// woItemScheduledUser = new WorkOrderItemScheduledUser()
|
||||
// {
|
||||
// UserId = KnownUserSubContractorRestrictedId,
|
||||
// EstimatedQuantity = 2,
|
||||
// StartDate = woDate,
|
||||
// StopDate = woDate.AddHours(2)
|
||||
// };
|
||||
// woItem.ScheduledUsers.Add(woItemScheduledUser);
|
||||
// }
|
||||
/////////////////////////////////////////
|
||||
|
||||
//PARTS
|
||||
@@ -2980,6 +2979,8 @@ namespace AyaNova.Util
|
||||
woItem.Parts.Add(woItemPart);
|
||||
|
||||
//PARTREQUESTS
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
var woItemPartRequest = new WorkOrderItemPartRequest()
|
||||
{
|
||||
|
||||
@@ -2989,18 +2990,12 @@ namespace AyaNova.Util
|
||||
PurchaseOrderItemId = Fake.Random.Long(1, TotalSeededPurchaseOrders)//yes it's POITEM vs po but each po has at least one item so this will work
|
||||
};
|
||||
woItem.PartRequests.Add(woItemPartRequest);
|
||||
|
||||
woItemPartRequest = new WorkOrderItemPartRequest()
|
||||
{
|
||||
|
||||
Quantity = 1,
|
||||
PartId = Fake.Random.Long(1, TotalSeededParts),
|
||||
PartWarehouseId = 1
|
||||
};
|
||||
woItem.PartRequests.Add(woItemPartRequest);
|
||||
}
|
||||
|
||||
|
||||
//LOANERS
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
var woItemLoan = new WorkOrderItemLoan()
|
||||
{
|
||||
OutDate = woDate.AddHours(1),
|
||||
@@ -3010,16 +3005,8 @@ namespace AyaNova.Util
|
||||
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
||||
};
|
||||
woItem.Loans.Add(woItemLoan);
|
||||
}
|
||||
|
||||
woItemLoan = new WorkOrderItemLoan()
|
||||
{
|
||||
OutDate = woDate.AddHours(2),
|
||||
DueDate = woDate.AddHours(3),
|
||||
Quantity = 1,
|
||||
Rate = LoanUnitRateUnit.Hours,
|
||||
LoanUnitId = Fake.Random.Long(1, TotalSeededLoanUnits)
|
||||
};
|
||||
woItem.Loans.Add(woItemLoan);
|
||||
|
||||
|
||||
//LABOR
|
||||
@@ -3034,7 +3021,8 @@ namespace AyaNova.Util
|
||||
ServiceDetails = Fake.Lorem.Sentence()
|
||||
};
|
||||
woItem.Labors.Add(woItemLabor);
|
||||
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
woItemLabor = new WorkOrderItemLabor()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
@@ -3045,10 +3033,12 @@ namespace AyaNova.Util
|
||||
ServiceDetails = Fake.Lorem.Sentence()
|
||||
};
|
||||
woItem.Labors.Add(woItemLabor);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//TRAVEL
|
||||
if (Fake.Random.Bool())//50%
|
||||
{
|
||||
var woItemTravel = new WorkOrderItemTravel()
|
||||
{
|
||||
UserId = techId,
|
||||
@@ -3060,20 +3050,11 @@ namespace AyaNova.Util
|
||||
Distance = Fake.Random.Int(1, 20)
|
||||
};
|
||||
woItem.Travels.Add(woItemTravel);
|
||||
|
||||
woItemTravel = new WorkOrderItemTravel()
|
||||
{
|
||||
UserId = RandomServiceTechUserId(),
|
||||
TravelRateQuantity = 2,
|
||||
TravelStartDate = woDate,
|
||||
TravelStopDate = woDate.AddHours(1),
|
||||
TravelRateId = Fake.Random.Long(1, TotalSeededTravelRates),
|
||||
TravelDetails = Fake.Lorem.Sentence(),
|
||||
Distance = Fake.Random.Int(1, 20)
|
||||
};
|
||||
woItem.Travels.Add(woItemTravel);
|
||||
}
|
||||
|
||||
//TASKS
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance of task
|
||||
{
|
||||
var woItemTask = new WorkOrderItemTask()
|
||||
{
|
||||
CompletedByUserId = techId,
|
||||
@@ -3124,11 +3105,13 @@ namespace AyaNova.Util
|
||||
CompletedDate = woDate.AddHours(2)
|
||||
};
|
||||
woItem.Tasks.Add(woItemTask);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//EXPENSES
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
var cost = Fake.Random.Decimal(1, 10);
|
||||
var woItemExpense = new WorkOrderItemExpense()
|
||||
{
|
||||
@@ -3155,9 +3138,12 @@ namespace AyaNova.Util
|
||||
|
||||
};
|
||||
woItem.Expenses.Add(woItemExpense);
|
||||
}
|
||||
|
||||
|
||||
//OUTSIDE SERVICES
|
||||
if (Fake.Random.Int(1, 10) == 2)//10% chance
|
||||
{
|
||||
var ShippingCost = Fake.Random.Decimal(5, 20);
|
||||
var RepairCost = Fake.Random.Decimal(50, 1000);
|
||||
var woItemOutsideService = new WorkOrderItemOutsideService()
|
||||
@@ -3178,32 +3164,34 @@ namespace AyaNova.Util
|
||||
TaxCodeId = 1
|
||||
};
|
||||
woItem.OutsideServices.Add(woItemOutsideService);
|
||||
|
||||
ShippingCost = Fake.Random.Decimal(5, 20);
|
||||
RepairCost = Fake.Random.Decimal(50, 1000);
|
||||
woItemOutsideService = new WorkOrderItemOutsideService()
|
||||
{
|
||||
UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||
Notes = Fake.Lorem.Sentence(),
|
||||
VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
||||
VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
||||
RMANumber = "RMA" + Fake.Finance.Account(6),
|
||||
TrackingNumber = "TR" + Fake.Finance.Account(8),
|
||||
RepairCost = RepairCost,
|
||||
RepairPrice = RepairCost * 1.5m,
|
||||
ShippingCost = ShippingCost,
|
||||
ShippingPrice = ShippingCost * 1.5m,
|
||||
SentDate = woDate,
|
||||
ETADate = woDate.AddDays(7),
|
||||
ReturnDate = woDate.AddDays(8),
|
||||
TaxCodeId = 1
|
||||
};
|
||||
woItem.OutsideServices.Add(woItemOutsideService);
|
||||
}
|
||||
// ShippingCost = Fake.Random.Decimal(5, 20);
|
||||
// RepairCost = Fake.Random.Decimal(50, 1000);
|
||||
// woItemOutsideService = new WorkOrderItemOutsideService()
|
||||
// {
|
||||
// UnitId = GetRandomUnitForCustomer(o.CustomerId),
|
||||
// Notes = Fake.Lorem.Sentence(),
|
||||
// VendorSentToId = Fake.Random.Long(1, TotalSeededVendors),
|
||||
// VendorSentViaId = Fake.Random.Long(1, TotalSeededVendors),
|
||||
// RMANumber = "RMA" + Fake.Finance.Account(6),
|
||||
// TrackingNumber = "TR" + Fake.Finance.Account(8),
|
||||
// RepairCost = RepairCost,
|
||||
// RepairPrice = RepairCost * 1.5m,
|
||||
// ShippingCost = ShippingCost,
|
||||
// ShippingPrice = ShippingCost * 1.5m,
|
||||
// SentDate = woDate,
|
||||
// ETADate = woDate.AddDays(7),
|
||||
// ReturnDate = woDate.AddDays(8),
|
||||
// TaxCodeId = 1
|
||||
// };
|
||||
// woItem.OutsideServices.Add(woItemOutsideService);
|
||||
|
||||
o.Items.Add(woItem);
|
||||
}
|
||||
|
||||
//sample status changes
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
{
|
||||
var WoState = new WorkOrderState()
|
||||
{
|
||||
@@ -3213,7 +3201,10 @@ namespace AyaNova.Util
|
||||
};
|
||||
o.States.Add(WoState);
|
||||
}
|
||||
}
|
||||
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
{
|
||||
var WoState = new WorkOrderState()
|
||||
{
|
||||
@@ -3223,7 +3214,10 @@ namespace AyaNova.Util
|
||||
};
|
||||
o.States.Add(WoState);
|
||||
}
|
||||
}
|
||||
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
{
|
||||
var WoState = new WorkOrderState()
|
||||
{
|
||||
@@ -3233,6 +3227,9 @@ namespace AyaNova.Util
|
||||
};
|
||||
o.States.Add(WoState);
|
||||
}
|
||||
}
|
||||
if (Fake.Random.Int(1, 4) == 2)//25% chance
|
||||
{
|
||||
{
|
||||
var WoState = new WorkOrderState()
|
||||
{
|
||||
@@ -3244,7 +3241,9 @@ namespace AyaNova.Util
|
||||
o.LastStatusId = WoState.WorkOrderStatusId;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//All wo ending status
|
||||
//if it's in the past tag it with a completed type status
|
||||
if (isPast)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user