This commit is contained in:
@@ -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>();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user