This commit is contained in:
@@ -547,8 +547,6 @@ MULTIPLE discount / markup ITEMS
|
|||||||
foreach (var i in o.ContractServiceRateOverrideItems)
|
foreach (var i in o.ContractServiceRateOverrideItems)
|
||||||
i.OverrideTypeViz = contractOverrideTypeEnumList.Where(x => x.Id == (long)i.OverrideType).Select(x => x.Name).First();
|
i.OverrideTypeViz = contractOverrideTypeEnumList.Where(x => x.Id == (long)i.OverrideType).Select(x => x.Name).First();
|
||||||
|
|
||||||
// foreach (var i in o.ServiceRateItems)
|
|
||||||
// i.ServiceRateViz = await ct.ServiceRate.AsNoTracking().Where(x => x.Id == i.ServiceRateId).Select(x => x.Name).FirstOrDefaultAsync();
|
|
||||||
foreach (var i in o.ServiceRateItems)
|
foreach (var i in o.ServiceRateItems)
|
||||||
{
|
{
|
||||||
if (!vc.Has("servicerate", i.ServiceRateId))
|
if (!vc.Has("servicerate", i.ServiceRateId))
|
||||||
@@ -558,8 +556,6 @@ MULTIPLE discount / markup ITEMS
|
|||||||
i.ServiceRateViz = vc.Get("servicerate", i.ServiceRateId);
|
i.ServiceRateViz = vc.Get("servicerate", i.ServiceRateId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// foreach (var i in o.TravelRateItems)
|
|
||||||
// i.TravelRateViz = await ct.TravelRate.AsNoTracking().Where(x => x.Id == i.TravelRateId).Select(x => x.Name).FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
foreach (var i in o.TravelRateItems)
|
foreach (var i in o.TravelRateItems)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -192,6 +192,8 @@ namespace AyaNova.Biz
|
|||||||
var batchResults = await ct.CustomerNote.AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
var batchResults = await ct.CustomerNote.AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
||||||
//order the results back into original
|
//order the results back into original
|
||||||
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
||||||
|
batchResults = null;
|
||||||
|
|
||||||
foreach (CustomerNote w in orderedList)
|
foreach (CustomerNote w in orderedList)
|
||||||
{
|
{
|
||||||
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
||||||
@@ -199,16 +201,26 @@ namespace AyaNova.Biz
|
|||||||
var jo = JObject.FromObject(w);
|
var jo = JObject.FromObject(w);
|
||||||
ReportData.Add(jo);
|
ReportData.Add(jo);
|
||||||
}
|
}
|
||||||
|
orderedList = null;
|
||||||
}
|
}
|
||||||
|
vc.Clear();
|
||||||
return ReportData;
|
return ReportData;
|
||||||
}
|
}
|
||||||
|
|
||||||
//populate viz fields from provided object
|
//populate viz fields from provided object
|
||||||
private async Task PopulateVizFields(CustomerNote o)
|
private async Task PopulateVizFields(CustomerNote o)
|
||||||
{
|
{
|
||||||
o.CustomerViz = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.Name).FirstOrDefaultAsync();
|
if (!vc.Has("customer", o.CustomerId))
|
||||||
o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
|
vc.Add(await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.Name).FirstOrDefaultAsync(), "customer", o.CustomerId);
|
||||||
|
o.CustomerViz = vc.Get("customer", o.CustomerId);
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
//request cache for viz fields
|
||||||
|
private VizCache vc = new VizCache();
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -303,43 +303,65 @@ namespace AyaNova.Biz
|
|||||||
//order the results back into original
|
//order the results back into original
|
||||||
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
||||||
|
|
||||||
//cache frequent viz data
|
batchResults = null;
|
||||||
//usertypes
|
|
||||||
var CustomerServiceRequestStatusEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
|
||||||
StringUtil.TrimTypeName(typeof(CustomerServiceRequestStatus).ToString()),
|
|
||||||
UserTranslationId,
|
|
||||||
CurrentUserRoles);
|
|
||||||
var CustomerServiceRequestPriorityEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
|
||||||
StringUtil.TrimTypeName(typeof(CustomerServiceRequestPriority).ToString()),
|
|
||||||
UserTranslationId,
|
|
||||||
CurrentUserRoles);
|
|
||||||
|
|
||||||
|
|
||||||
foreach (CustomerServiceRequest w in orderedList)
|
foreach (CustomerServiceRequest w in orderedList)
|
||||||
{
|
{
|
||||||
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
||||||
await PopulateVizFields(w, CustomerServiceRequestStatusEnumList, CustomerServiceRequestPriorityEnumList);
|
await PopulateVizFields(w);
|
||||||
var jo = JObject.FromObject(w);
|
var jo = JObject.FromObject(w);
|
||||||
if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"]))
|
if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"]))
|
||||||
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
|
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
|
||||||
ReportData.Add(jo);
|
ReportData.Add(jo);
|
||||||
}
|
}
|
||||||
|
orderedList = null;
|
||||||
}
|
}
|
||||||
|
vc.Clear();
|
||||||
return ReportData;
|
return ReportData;
|
||||||
}
|
}
|
||||||
|
//request cache for viz fields
|
||||||
|
private VizCache vc = new VizCache();
|
||||||
|
|
||||||
//populate viz fields from provided object
|
//populate viz fields from provided object
|
||||||
private async Task PopulateVizFields(CustomerServiceRequest o, List<NameIdItem> customerServiceRequestStatusEnumList, List<NameIdItem> customerServiceRequestPriorityEnumList)
|
private async Task PopulateVizFields(CustomerServiceRequest o)
|
||||||
{
|
{
|
||||||
|
if (customerServiceRequestStatusEnumList == null)
|
||||||
|
customerServiceRequestStatusEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
||||||
|
StringUtil.TrimTypeName(typeof(CustomerServiceRequestStatus).ToString()),
|
||||||
|
UserTranslationId,
|
||||||
|
CurrentUserRoles);
|
||||||
|
if (customerServiceRequestPriorityEnumList == null)
|
||||||
|
customerServiceRequestPriorityEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
||||||
|
StringUtil.TrimTypeName(typeof(CustomerServiceRequestPriority).ToString()),
|
||||||
|
UserTranslationId,
|
||||||
|
CurrentUserRoles);
|
||||||
|
|
||||||
if (o.UnitId != null)
|
if (o.UnitId != null)
|
||||||
o.UnitViz = await ct.Unit.AsNoTracking().Where(x => x.Id == o.UnitId).Select(x => x.Serial).FirstOrDefaultAsync();
|
{
|
||||||
o.CustomerViz = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.Name).FirstOrDefaultAsync();
|
if (!vc.Has("unitserial", o.UnitId))
|
||||||
|
vc.Add(await ct.Unit.AsNoTracking().Where(x => x.Id == o.UnitId).Select(x => x.Serial).FirstOrDefaultAsync(), "unitserial", o.UnitId);
|
||||||
|
o.UnitViz = vc.Get("unitserial", o.UnitId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!vc.Has("customer", o.CustomerId))
|
||||||
|
vc.Add(await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.Name).FirstOrDefaultAsync(), "customer", o.CustomerId);
|
||||||
|
o.CustomerViz = vc.Get("customer", o.CustomerId);
|
||||||
|
|
||||||
if (o.WorkOrderItemId != null)
|
if (o.WorkOrderItemId != null)
|
||||||
o.WorkOrderSerialViz = (await WorkOrderBiz.GetWorkOrderSerialFromRelativeAsync(AyaType.WorkOrderItem, (long)o.WorkOrderItemId, ct)).ToString();
|
{
|
||||||
o.RequestedByUserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.RequestedByUserId).Select(x => x.Name).FirstOrDefaultAsync();
|
if (!vc.Has("woserial", o.WorkOrderItemId))
|
||||||
|
vc.Add((await WorkOrderBiz.GetWorkOrderSerialFromRelativeAsync(AyaType.WorkOrderItem, (long)o.WorkOrderItemId, ct)).ToString(), "woserial", o.WorkOrderItemId);
|
||||||
|
o.WorkOrderSerialViz = vc.Get("woserial", o.WorkOrderItemId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!vc.Has("user", o.RequestedByUserId))
|
||||||
|
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.RequestedByUserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.RequestedByUserId);
|
||||||
|
o.RequestedByUserViz = vc.Get("user", o.RequestedByUserId);
|
||||||
|
|
||||||
o.StatusViz = customerServiceRequestStatusEnumList.Where(x => x.Id == (long)o.Status).Select(x => x.Name).First();
|
o.StatusViz = customerServiceRequestStatusEnumList.Where(x => x.Id == (long)o.Status).Select(x => x.Name).First();
|
||||||
o.PriorityViz = customerServiceRequestPriorityEnumList.Where(x => x.Id == (long)o.Priority).Select(x => x.Name).First();
|
o.PriorityViz = customerServiceRequestPriorityEnumList.Where(x => x.Id == (long)o.Priority).Select(x => x.Name).First();
|
||||||
}
|
}
|
||||||
|
private List<NameIdItem> customerServiceRequestStatusEnumList = null;
|
||||||
|
private List<NameIdItem> customerServiceRequestPriorityEnumList = null;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// IMPORT EXPORT
|
// IMPORT EXPORT
|
||||||
|
|||||||
@@ -298,6 +298,7 @@ namespace AyaNova.Biz
|
|||||||
var batchResults = await ct.HeadOffice.AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
var batchResults = await ct.HeadOffice.AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
|
||||||
//order the results back into original
|
//order the results back into original
|
||||||
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
||||||
|
batchResults = null;
|
||||||
foreach (HeadOffice w in orderedList)
|
foreach (HeadOffice w in orderedList)
|
||||||
{
|
{
|
||||||
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
if (!ReportRenderManager.KeepGoing(jobId)) return null;
|
||||||
@@ -307,15 +308,25 @@ namespace AyaNova.Biz
|
|||||||
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
|
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
|
||||||
ReportData.Add(jo);
|
ReportData.Add(jo);
|
||||||
}
|
}
|
||||||
|
orderedList = null;
|
||||||
}
|
}
|
||||||
|
vc.Clear();
|
||||||
return ReportData;
|
return ReportData;
|
||||||
}
|
}
|
||||||
|
//request cache for viz fields
|
||||||
|
private VizCache vc = new VizCache();
|
||||||
|
|
||||||
//populate viz fields from provided object
|
//populate viz fields from provided object
|
||||||
private async Task PopulateVizFields(HeadOffice o)
|
private async Task PopulateVizFields(HeadOffice o)
|
||||||
{
|
{
|
||||||
if (o.ContractId != null)
|
if (o.ContractId != null)
|
||||||
o.ContractViz = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => x.Name).FirstOrDefaultAsync();
|
{
|
||||||
|
if (!vc.Has("contract", o.ContractId))
|
||||||
|
{
|
||||||
|
vc.Add(await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => x.Name).FirstOrDefaultAsync(), "contract", o.ContractId);
|
||||||
|
}
|
||||||
|
o.ContractViz = vc.Get("contract", o.ContractId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user