This commit is contained in:
2021-03-02 00:53:36 +00:00
parent ec9e80befd
commit 0f2095d0cd
3 changed files with 24 additions and 11 deletions

View File

@@ -281,6 +281,7 @@ namespace AyaNova.Biz
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
foreach (Project w in orderedList)
{
await PopulateVizFields(w);
var jo = JObject.FromObject(w);
if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"]))
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
@@ -291,11 +292,18 @@ namespace AyaNova.Biz
}
//populate viz fields from provided object
private async Task PopulateVizFields(Project o)
{
if (o.ProjectOverseerId != null)
o.ProjectOverseerViz = await ct.User.AsNoTracking().Where(x => x.Id == o.ProjectOverseerId).Select(x => x.Name).FirstOrDefaultAsync();
}
////////////////////////////////////////////////////////////////////////////////////////////////
// IMPORT EXPORT
//
public async Task<JArray> GetExportData(long[] idList)
{
//for now just re-use the report data code
@@ -303,9 +311,6 @@ namespace AyaNova.Biz
return await GetReportData(idList);
}
public async Task<List<string>> ImportData(JArray ja)
{
List<string> ImportResult = new List<string>();

View File

@@ -147,23 +147,29 @@ namespace AyaNova.Biz
po.HasVendorNumber = false;
po.HasUnreceived = false;
if (po.DropShipToCustomerId != null)
po.DropShipToCustomerViz = await ct.Customer.AsNoTracking().Where(x => x.Id == po.DropShipToCustomerId).Select(x => x.Name).FirstOrDefaultAsync();
po.VendorViz = await ct.Contract.AsNoTracking().Where(x => x.Id == po.VendorId).Select(x => x.Name).FirstOrDefaultAsync();
if (po.ProjectId != null)
po.ProjectViz = await ct.Contract.AsNoTracking().Where(x => x.Id == po.ProjectId).Select(x => x.Name).FirstOrDefaultAsync();
foreach (PurchaseOrderItem item in po.Items)
{
item.PartViz = await ct.Part.AsNoTracking().Where(x => x.Id == item.PartId).Select(x => x.PartNumber).SingleAsync();
item.WarehouseViz = await ct.PartWarehouse.AsNoTracking().Where(x => x.Id == item.PartWarehouseId).Select(x => x.Name).SingleAsync();
item.PartViz = await ct.Part.AsNoTracking().Where(x => x.Id == item.PartId).Select(x => x.PartNumber).FirstOrDefaultAsync();
item.WarehouseViz = await ct.PartWarehouse.AsNoTracking().Where(x => x.Id == item.PartWarehouseId).Select(x => x.Name).FirstOrDefaultAsync();
if (item.WorkorderItemPartRequestId != null)
{
po.HasPartRequest = true;
item.WorkorderItemPartRequestViz = "todo:woidfromleafnode";//MIGRATE_OUTSTANDING routine to get wo id from the woitempartrequestid
if (item.PartRequestedById != null)
item.PartRequestedByViz = await ct.User.AsNoTracking().Where(x => x.Id == item.PartRequestedById).Select(x => x.Name).SingleAsync();
item.PartRequestedByViz = await ct.User.AsNoTracking().Where(x => x.Id == item.PartRequestedById).Select(x => x.Name).FirstOrDefaultAsync();
}
TaxCode tax = null;
if (item.PurchaseTaxCodeId != null)
{
tax = await ct.TaxCode.AsNoTracking().Where(x => x.Id == item.PurchaseTaxCodeId).SingleAsync();
tax = await ct.TaxCode.AsNoTracking().Where(x => x.Id == item.PurchaseTaxCodeId).FirstOrDefaultAsync();
item.PurchaseTaxCodeViz = tax.Name;
po.HasTaxes = true;
}
@@ -675,11 +681,12 @@ namespace AyaNova.Biz
//have a report mode get or I guess just do it all here (but then need for export as well, but then again this is the way it gets for export via getreportdata)
//so perhaps we have a REPORT format of a biz object model and that format has display names mirroring all the fields
//it's fetching it here anyway, might as well do the whole shebang?
var batchResults = await ct.PurchaseOrder.Include(x=>x.Items).AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
var batchResults = await ct.PurchaseOrder.Include(x => x.Items).AsNoTracking().Where(z => batch.Contains(z.Id)).ToArrayAsync();
//order the results back into original
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
foreach (PurchaseOrder w in orderedList)
{
await SetDisplayFields(w);
var jo = JObject.FromObject(w);
if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"]))
jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]);
@@ -690,11 +697,10 @@ namespace AyaNova.Biz
}
////////////////////////////////////////////////////////////////////////////////////////////////
// IMPORT EXPORT
//
public async Task<JArray> GetExportData(long[] idList)
{
//for now just re-use the report data code

View File

@@ -26,6 +26,8 @@ namespace AyaNova.Models
public DateTime? DateStarted { get; set; }
public DateTime? DateCompleted { get; set; }
public long? ProjectOverseerId { get; set; }
[NotMapped]
public string ProjectOverseerViz { get; set; }
public string AccountNumber { get; set; }
public Project()