This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -48,7 +48,7 @@
|
|||||||
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
|
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
|
||||||
"AYANOVA_USE_URLS": "http://*:7575;",
|
"AYANOVA_USE_URLS": "http://*:7575;",
|
||||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||||
"AYANOVA_REPORT_RENDERING_TIMEOUT":"1",
|
"AYANOVA_REPORT_RENDERING_TIMEOUT":"8",
|
||||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "large",
|
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "large",
|
||||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_14\\bin\\"
|
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_14\\bin\\"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//request cache for viz fields
|
//request cache for viz fields
|
||||||
private VizCache vc = new VizCache();
|
private VizCache vc = new VizCache();
|
||||||
private ObjectCache oc = new ObjectCache();
|
private ObjectCache oc = new ObjectCache();
|
||||||
|
|
||||||
@@ -440,7 +440,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
private async Task AutoSetAddressAsync(Quote newObj)
|
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;
|
return;
|
||||||
|
|
||||||
if (newObj.CustomerId == 0)
|
if (newObj.CustomerId == 0)
|
||||||
@@ -934,14 +934,14 @@ namespace AyaNova.Biz
|
|||||||
// if (o.PreparedById != null)
|
// if (o.PreparedById != null)
|
||||||
// o.PreparedByViz = await ct.User.AsNoTracking().Where(x => x.Id == o.PreparedById).Select(x => x.Name).FirstOrDefaultAsync();
|
// 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);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
o.PreparedByViz = vc.Get("user", o.PreparedById);
|
||||||
|
}
|
||||||
|
|
||||||
// if (o.ContractId != null)
|
// if (o.ContractId != null)
|
||||||
// {
|
// {
|
||||||
@@ -954,7 +954,7 @@ namespace AyaNova.Biz
|
|||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// o.ContractViz = "-";
|
// o.ContractViz = "-";
|
||||||
if (o.ContractId != null)
|
if (o.ContractId != null)
|
||||||
{
|
{
|
||||||
if (vc.Get("ctrctname", o.ContractId) == null)
|
if (vc.Get("ctrctname", o.ContractId) == null)
|
||||||
{
|
{
|
||||||
@@ -1154,7 +1154,16 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task StatePopulateVizFields(QuoteState o)
|
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)
|
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)
|
if (o.WorkOrderItemStatusId != null)
|
||||||
{
|
{
|
||||||
var StatusInfo = await ct.WorkOrderItemStatus.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemStatusId);
|
string value = vc.Get("woistatname", o.WorkOrderItemStatusId);
|
||||||
o.WorkOrderItemStatusNameViz = StatusInfo.Name;
|
if (value == null)
|
||||||
o.WorkOrderItemStatusColorViz = StatusInfo.Color;
|
{
|
||||||
|
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)
|
if (o.WorkOrderItemPriorityId != null)
|
||||||
{
|
{
|
||||||
var PriorityInfo = await ct.WorkOrderItemPriority.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.WorkOrderItemPriorityId);
|
string value = vc.Get("woipriorityname", o.WorkOrderItemPriorityId);
|
||||||
o.WorkOrderItemPriorityNameViz = PriorityInfo.Name;
|
if (value == null)
|
||||||
o.WorkOrderItemPriorityColorViz = PriorityInfo.Color;
|
{
|
||||||
|
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)
|
foreach (var v in o.Expenses)
|
||||||
await ExpensePopulateVizFields(v);
|
await ExpensePopulateVizFields(v);
|
||||||
foreach (var v in o.Labors)
|
foreach (var v in o.Labors)
|
||||||
@@ -1921,14 +1970,40 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task ExpensePopulateVizFields(QuoteItemExpense o, bool calculateTotalsOnly = false)
|
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)
|
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;
|
TaxCode Tax = null;
|
||||||
if (o.ChargeTaxCodeId != 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)
|
if (Tax != null)
|
||||||
o.TaxCodeViz = Tax.Name;
|
o.TaxCodeViz = Tax.Name;
|
||||||
|
|
||||||
|
|||||||
@@ -774,6 +774,10 @@ namespace AyaNova.Biz
|
|||||||
// #endif
|
// #endif
|
||||||
await page.PdfAsync(outputFullPath, PdfOptions);//###### TODO: SLOW NEEDS TIMEOUT HERE ONCE SUPPORTED, open bug: https://github.com/hardkoded/puppeteer-sharp/issues/1710
|
await page.PdfAsync(outputFullPath, PdfOptions);//###### TODO: SLOW NEEDS TIMEOUT HERE ONCE SUPPORTED, open bug: https://github.com/hardkoded/puppeteer-sharp/issues/1710
|
||||||
|
|
||||||
|
log.LogDebug($"Closing Page and Browser");
|
||||||
|
await page.CloseAsync();
|
||||||
|
await browser.CloseAsync();
|
||||||
|
|
||||||
log.LogDebug($"Completed, returning results");
|
log.LogDebug($"Completed, returning results");
|
||||||
return outputFileName;
|
return outputFileName;
|
||||||
}
|
}
|
||||||
@@ -801,7 +805,10 @@ namespace AyaNova.Biz
|
|||||||
// log.LogInformation($"DBG: ReportBiz::RenderReport - closing browser");
|
// log.LogInformation($"DBG: ReportBiz::RenderReport - closing browser");
|
||||||
// #endif
|
// #endif
|
||||||
log.LogDebug($"Closing browser");
|
log.LogDebug($"Closing browser");
|
||||||
await browser.CloseAsync();
|
if (!page.IsClosed)
|
||||||
|
await page.CloseAsync();
|
||||||
|
if (!browser.IsClosed)
|
||||||
|
await browser.CloseAsync();
|
||||||
ReportRenderManager.RemoveProcess(browser.Process.Id, log);
|
ReportRenderManager.RemoveProcess(browser.Process.Id, log);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1562,12 +1562,30 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task StatePopulateVizFields(WorkOrderState o)
|
private async Task StatePopulateVizFields(WorkOrderState 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();
|
||||||
var StateInfo = await ct.WorkOrderStatus.AsNoTracking().Where(x => x.Id == o.WorkOrderStatusId).FirstOrDefaultAsync();
|
if (o.UserId != 0)
|
||||||
o.NameViz = StateInfo.Name;
|
{
|
||||||
o.ColorViz = StateInfo.Color;
|
if (!vc.Has("user", o.UserId))
|
||||||
o.CompletedViz = StateInfo.Completed;
|
{
|
||||||
o.LockedViz = StateInfo.Locked;
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
WorkOrderStatus WOStatus = null;
|
||||||
|
|
||||||
|
if (!oc.Has("wostatus", o.WorkOrderStatusId))
|
||||||
|
{
|
||||||
|
WOStatus = await ct.WorkOrderStatus.AsNoTracking().Where(x => x.Id == o.WorkOrderStatusId).FirstOrDefaultAsync();
|
||||||
|
oc.Add(WOStatus, "wostatus", o.WorkOrderStatusId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
WOStatus = (WorkOrderStatus)oc.Get("wostatus", o.WorkOrderStatusId);
|
||||||
|
|
||||||
|
o.NameViz = WOStatus.Name;
|
||||||
|
o.ColorViz = WOStatus.Color;
|
||||||
|
o.CompletedViz = WOStatus.Completed;
|
||||||
|
o.LockedViz = WOStatus.Locked;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user