This commit is contained in:
2021-05-10 19:48:31 +00:00
parent b36ac39d95
commit 7a0e12728d

View File

@@ -526,7 +526,7 @@ namespace AyaNova.Util
} }
long TCSales = 0, TCGoods = 0, TCBoth = 0;
////////////////////////////////////////////////////// //////////////////////////////////////////////////////
//Seed known / expected test data for tests/development //Seed known / expected test data for tests/development
@@ -1144,7 +1144,7 @@ namespace AyaNova.Util
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
//WorkOrderItemPriority //WorkOrderItemPriority
{ {
@@ -1154,7 +1154,7 @@ namespace AyaNova.Util
stat.Active = true; stat.Active = true;
stat.Color = "#c00000"; stat.Color = "#c00000";
using (AyContext ct = ServiceProviderProvider.DBContext) using (AyContext ct = ServiceProviderProvider.DBContext)
{ {
WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct); WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct);
@@ -1175,7 +1175,7 @@ namespace AyaNova.Util
stat.Active = true; stat.Active = true;
stat.Color = "#ff9900"; stat.Color = "#ff9900";
using (AyContext ct = ServiceProviderProvider.DBContext) using (AyContext ct = ServiceProviderProvider.DBContext)
{ {
WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct); WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct);
@@ -1196,7 +1196,7 @@ namespace AyaNova.Util
stat.Active = true; stat.Active = true;
stat.Color = "#ffff00"; stat.Color = "#ffff00";
using (AyContext ct = ServiceProviderProvider.DBContext) using (AyContext ct = ServiceProviderProvider.DBContext)
{ {
WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct); WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct);
@@ -1217,7 +1217,7 @@ namespace AyaNova.Util
stat.Active = true; stat.Active = true;
stat.Color = "#00ccff"; stat.Color = "#00ccff";
using (AyContext ct = ServiceProviderProvider.DBContext) using (AyContext ct = ServiceProviderProvider.DBContext)
{ {
WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct); WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct);
@@ -1232,13 +1232,13 @@ namespace AyaNova.Util
} }
} }
{ {
WorkOrderItemPriority stat = new WorkOrderItemPriority(); WorkOrderItemPriority stat = new WorkOrderItemPriority();
stat.Name = "30 days"; stat.Name = "30 days";
stat.Active = true; stat.Active = true;
stat.Color = "#00ff00"; stat.Color = "#00ff00";
using (AyContext ct = ServiceProviderProvider.DBContext) using (AyContext ct = ServiceProviderProvider.DBContext)
{ {
WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct); WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct);
@@ -1251,9 +1251,9 @@ namespace AyaNova.Util
throw new System.Exception(err); throw new System.Exception(err);
} }
} }
} }
} }
@@ -1264,7 +1264,7 @@ namespace AyaNova.Util
///////////////////////////////////////////////////// /////////////////////////////////////////////////////
//TAX CODES //TAX CODES
long TCSales = 0, TCGoods = 0, TCBoth = 0;
{ {
{ {
TaxCode tc = new TaxCode(); TaxCode tc = new TaxCode();
@@ -1386,6 +1386,7 @@ namespace AyaNova.Util
public HashSet<string> HashUserNames = new HashSet<string>(); public HashSet<string> HashUserNames = new HashSet<string>();
public List<long> ServiceUserIds = new List<long>();
private int TotalSeededUsers = 0; private int TotalSeededUsers = 0;
public async Task<long> SeedUserAsync( public async Task<long> SeedUserAsync(
@@ -1457,6 +1458,10 @@ namespace AyaNova.Util
{ {
UserBiz biz = UserBiz.GetBiz(ct); UserBiz biz = UserBiz.GetBiz(ct);
var NewObject = await biz.CreateAsync(u); var NewObject = await biz.CreateAsync(u);
if (u.UserType != UserType.NotService)
{
ServiceUserIds.Add(u.Id);
}
TotalSeededUsers++; TotalSeededUsers++;
if (NewObject == null) if (NewObject == null)
{ {
@@ -2404,9 +2409,15 @@ namespace AyaNova.Util
} }
public long RandomServiceTechUserId()
{
return ServiceUserIds[Fake.Random.Int(1, ServiceUserIds.Count - 1)];
}
private int TotalSeededWorkOrders = 0; private int TotalSeededWorkOrders = 0;
////////////////////////////////////////////////////// //////////////////////////////////////////////////////
//PURCHASE ORDER //WORK ORDER
// //
public async Task SeedWorkOrderAsync(ILogger log, int count) public async Task SeedWorkOrderAsync(ILogger log, int count)
{ {
@@ -2472,18 +2483,50 @@ namespace AyaNova.Util
//add two users for testing //add two users for testing
var woItemScheduledUser = new WorkOrderItemScheduledUser() var woItemScheduledUser = new WorkOrderItemScheduledUser()
{ {
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
EstimatedQuantity = 1 EstimatedQuantity = 1
}; };
woItem.ScheduledUsers.Add(woItemScheduledUser); woItem.ScheduledUsers.Add(woItemScheduledUser);
woItemScheduledUser = new WorkOrderItemScheduledUser() woItemScheduledUser = new WorkOrderItemScheduledUser()
{ {
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
EstimatedQuantity = 2 EstimatedQuantity = 2
}; };
woItem.ScheduledUsers.Add(woItemScheduledUser); woItem.ScheduledUsers.Add(woItemScheduledUser);
//add two expenses for testing
var cost = Fake.Random.Decimal(1, 10);
var woItemExpense = new WorkOrderItemExpense()
{
UserId = RandomServiceTechUserId(),
TotalCost = cost,
ChargeAmount = cost * 1.2m,
ChargeToCustomer = true,
ReimburseUser = true,
ChargeTaxCodeId = TCGoods,
Name = Fake.Commerce.ProductName()
};
woItem.Expenses.Add(woItemExpense);
woItemExpense = new WorkOrderItemExpense()
{
UserId = RandomServiceTechUserId(),
TotalCost = cost * 2m,
ChargeAmount = cost * 2.2m,
ChargeToCustomer = true,
ReimburseUser = true,
ChargeTaxCodeId = TCGoods,
Name = Fake.Commerce.ProductName()
};
woItem.Expenses.Add(woItemExpense);
o.Items.Add(woItem); o.Items.Add(woItem);
} }
@@ -2492,7 +2535,7 @@ namespace AyaNova.Util
var WoState = new WorkOrderState() var WoState = new WorkOrderState()
{ {
WorkOrderStatusId = (long)SeedWOStatus.NeedsToBeAssigned, WorkOrderStatusId = (long)SeedWOStatus.NeedsToBeAssigned,
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
Created = ((DateTime)o.ServiceDate).AddMinutes(5) Created = ((DateTime)o.ServiceDate).AddMinutes(5)
}; };
o.States.Add(WoState); o.States.Add(WoState);
@@ -2502,7 +2545,7 @@ namespace AyaNova.Util
var WoState = new WorkOrderState() var WoState = new WorkOrderState()
{ {
WorkOrderStatusId = (long)SeedWOStatus.Scheduled, WorkOrderStatusId = (long)SeedWOStatus.Scheduled,
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
Created = ((DateTime)o.ServiceDate).AddHours(1) Created = ((DateTime)o.ServiceDate).AddHours(1)
}; };
o.States.Add(WoState); o.States.Add(WoState);
@@ -2512,7 +2555,7 @@ namespace AyaNova.Util
var WoState = new WorkOrderState() var WoState = new WorkOrderState()
{ {
WorkOrderStatusId = (long)SeedWOStatus.ManagerApprovalRequired, WorkOrderStatusId = (long)SeedWOStatus.ManagerApprovalRequired,
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
Created = ((DateTime)o.ServiceDate).AddHours(1).AddMinutes(5) Created = ((DateTime)o.ServiceDate).AddHours(1).AddMinutes(5)
}; };
o.States.Add(WoState); o.States.Add(WoState);
@@ -2521,7 +2564,7 @@ namespace AyaNova.Util
var WoState = new WorkOrderState() var WoState = new WorkOrderState()
{ {
WorkOrderStatusId = (long)SeedWOStatus.Scheduled, WorkOrderStatusId = (long)SeedWOStatus.Scheduled,
UserId = Fake.Random.Long(1, TotalSeededUsers), UserId = RandomServiceTechUserId(),
Created = ((DateTime)o.ServiceDate).AddHours(2) Created = ((DateTime)o.ServiceDate).AddHours(2)
}; };
o.States.Add(WoState); o.States.Add(WoState);