This commit is contained in:
2021-12-23 23:13:08 +00:00
parent 227e6ec2cc
commit d20a0afbdb
4 changed files with 128 additions and 28 deletions

View File

@@ -61,7 +61,7 @@ namespace AyaNova.Biz
}
//request cache for viz fields
//request cache for viz fields
private VizCache vc = new VizCache();
private ObjectCache oc = new ObjectCache();
@@ -440,9 +440,9 @@ namespace AyaNova.Biz
private async Task AutoSetAddressAsync(Quote newObj)
{
if(!string.IsNullOrWhiteSpace(newObj.PostAddress) || !string.IsNullOrWhiteSpace(newObj.Address))
if (!string.IsNullOrWhiteSpace(newObj.PostAddress) || !string.IsNullOrWhiteSpace(newObj.Address))
return;
if (newObj.CustomerId == 0)
return;
@@ -934,14 +934,14 @@ namespace AyaNova.Biz
// if (o.PreparedById != null)
// o.PreparedByViz = await ct.User.AsNoTracking().Where(x => x.Id == o.PreparedById).Select(x => x.Name).FirstOrDefaultAsync();
if (o.PreparedById != null)
if (o.PreparedById != null)
{
if (!vc.Has("user", o.PreparedById))
{
if (!vc.Has("user", o.PreparedById))
{
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.PreparedById).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.PreparedById);
}
o.PreparedByViz = vc.Get("user", o.PreparedById);
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.PreparedById).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.PreparedById);
}
o.PreparedByViz = vc.Get("user", o.PreparedById);
}
// if (o.ContractId != null)
// {
@@ -954,7 +954,7 @@ namespace AyaNova.Biz
// }
// else
// o.ContractViz = "-";
if (o.ContractId != null)
if (o.ContractId != null)
{
if (vc.Get("ctrctname", o.ContractId) == null)
{
@@ -1154,7 +1154,16 @@ namespace AyaNova.Biz
//
private async Task StatePopulateVizFields(QuoteState o)
{
o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
// o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
if (o.UserId != 0)
{
if (!vc.Has("user", o.UserId))
{
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.UserId);
}
o.UserViz = vc.Get("user", o.UserId);
}
}
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1629,19 +1638,59 @@ namespace AyaNova.Biz
//
private async Task ItemPopulateVizFields(QuoteItem o, bool populateForReporting)
{
// if (o.WorkOrderItemStatusId != null)
// {
// var StatusInfo = await ct.WorkOrderItemStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemStatusId);
// o.WorkOrderItemStatusNameViz = StatusInfo.Name;
// o.WorkOrderItemStatusColorViz = StatusInfo.Color;
// }
// if (o.WorkOrderItemPriorityId != null)
// {
// var PriorityInfo = await ct.WorkOrderItemPriority.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemPriorityId);
// o.WorkOrderItemPriorityNameViz = PriorityInfo.Name;
// o.WorkOrderItemPriorityColorViz = PriorityInfo.Color;
// }
if (o.WorkOrderItemStatusId != null)
{
var StatusInfo = await ct.WorkOrderItemStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemStatusId);
o.WorkOrderItemStatusNameViz = StatusInfo.Name;
o.WorkOrderItemStatusColorViz = StatusInfo.Color;
string value = vc.Get("woistatname", o.WorkOrderItemStatusId);
if (value == null)
{
var StatusInfo = await ct.WorkOrderItemStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemStatusId);
vc.Add(StatusInfo.Name, "woistatname", o.WorkOrderItemStatusId);
vc.Add(StatusInfo.Color, "woistatcolor", o.WorkOrderItemStatusId);
o.WorkOrderItemStatusNameViz = StatusInfo.Name;
o.WorkOrderItemStatusColorViz = StatusInfo.Color;
}
else
{
o.WorkOrderItemStatusNameViz = value;
o.WorkOrderItemStatusColorViz = vc.Get("woistatcolor", o.WorkOrderItemStatusId);
}
}
if (o.WorkOrderItemPriorityId != null)
{
var PriorityInfo = await ct.WorkOrderItemPriority.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemPriorityId);
o.WorkOrderItemPriorityNameViz = PriorityInfo.Name;
o.WorkOrderItemPriorityColorViz = PriorityInfo.Color;
string value = vc.Get("woipriorityname", o.WorkOrderItemPriorityId);
if (value == null)
{
var PriorityInfo = await ct.WorkOrderItemPriority.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemPriorityId);
vc.Add(PriorityInfo.Name, "woipriorityname", o.WorkOrderItemPriorityId);
vc.Add(PriorityInfo.Color, "woiprioritycolor", o.WorkOrderItemPriorityId);
o.WorkOrderItemPriorityNameViz = PriorityInfo.Name;
o.WorkOrderItemPriorityColorViz = PriorityInfo.Color;
}
else
{
o.WorkOrderItemPriorityNameViz = value;
o.WorkOrderItemPriorityColorViz = vc.Get("woiprioritycolor", o.WorkOrderItemPriorityId);
}
}
foreach (var v in o.Expenses)
await ExpensePopulateVizFields(v);
foreach (var v in o.Labors)
@@ -1921,14 +1970,40 @@ namespace AyaNova.Biz
//
private async Task ExpensePopulateVizFields(QuoteItemExpense o, bool calculateTotalsOnly = false)
{
if (calculateTotalsOnly == false)
// if (calculateTotalsOnly == false)
// {
// if (o.UserId != null)
// o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
// }
// TaxCode Tax = null;
// if (o.ChargeTaxCodeId != null)
// Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.ChargeTaxCodeId);
// if (Tax != null)
// o.TaxCodeViz = Tax.Name;
if (calculateTotalsOnly == false)
{
if (o.UserId != null)
o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
{
if (!vc.Has("user", o.UserId))
{
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.UserId);
}
o.UserViz = vc.Get("user", o.UserId);
}
}
TaxCode Tax = null;
if (o.ChargeTaxCodeId != null)
Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.ChargeTaxCodeId);
{
if (!oc.Has("tax", o.ChargeTaxCodeId))
{
Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.ChargeTaxCodeId);
oc.Add(Tax, "tax", o.ChargeTaxCodeId);
}
else
Tax = (TaxCode)oc.Get("tax", o.ChargeTaxCodeId);
}
if (Tax != null)
o.TaxCodeViz = Tax.Name;