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;
|
var orderedList = from id in batch join z in batchResults on id equals z.Id select z;
|
||||||
foreach (Project w in orderedList)
|
foreach (Project w in orderedList)
|
||||||
{
|
{
|
||||||
|
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"]);
|
||||||
@@ -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
|
// IMPORT EXPORT
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
public async Task<JArray> GetExportData(long[] idList)
|
public async Task<JArray> GetExportData(long[] idList)
|
||||||
{
|
{
|
||||||
//for now just re-use the report data code
|
//for now just re-use the report data code
|
||||||
@@ -303,9 +311,6 @@ namespace AyaNova.Biz
|
|||||||
return await GetReportData(idList);
|
return await GetReportData(idList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public async Task<List<string>> ImportData(JArray ja)
|
public async Task<List<string>> ImportData(JArray ja)
|
||||||
{
|
{
|
||||||
List<string> ImportResult = new List<string>();
|
List<string> ImportResult = new List<string>();
|
||||||
|
|||||||
@@ -147,23 +147,29 @@ namespace AyaNova.Biz
|
|||||||
po.HasVendorNumber = false;
|
po.HasVendorNumber = false;
|
||||||
po.HasUnreceived = 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)
|
foreach (PurchaseOrderItem item in po.Items)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
item.PartViz = await ct.Part.AsNoTracking().Where(x => x.Id == item.PartId).Select(x => x.PartNumber).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).SingleAsync();
|
item.WarehouseViz = await ct.PartWarehouse.AsNoTracking().Where(x => x.Id == item.PartWarehouseId).Select(x => x.Name).FirstOrDefaultAsync();
|
||||||
if (item.WorkorderItemPartRequestId != null)
|
if (item.WorkorderItemPartRequestId != null)
|
||||||
{
|
{
|
||||||
po.HasPartRequest = true;
|
po.HasPartRequest = true;
|
||||||
item.WorkorderItemPartRequestViz = "todo:woidfromleafnode";//MIGRATE_OUTSTANDING routine to get wo id from the woitempartrequestid
|
item.WorkorderItemPartRequestViz = "todo:woidfromleafnode";//MIGRATE_OUTSTANDING routine to get wo id from the woitempartrequestid
|
||||||
if (item.PartRequestedById != null)
|
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;
|
TaxCode tax = null;
|
||||||
if (item.PurchaseTaxCodeId != 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;
|
item.PurchaseTaxCodeViz = tax.Name;
|
||||||
po.HasTaxes = true;
|
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)
|
//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
|
//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?
|
//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
|
//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;
|
||||||
foreach (PurchaseOrder w in orderedList)
|
foreach (PurchaseOrder w in orderedList)
|
||||||
{
|
{
|
||||||
|
await SetDisplayFields(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"]);
|
||||||
@@ -690,11 +697,10 @@ namespace AyaNova.Biz
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// IMPORT EXPORT
|
// IMPORT EXPORT
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
public async Task<JArray> GetExportData(long[] idList)
|
public async Task<JArray> GetExportData(long[] idList)
|
||||||
{
|
{
|
||||||
//for now just re-use the report data code
|
//for now just re-use the report data code
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ namespace AyaNova.Models
|
|||||||
public DateTime? DateStarted { get; set; }
|
public DateTime? DateStarted { get; set; }
|
||||||
public DateTime? DateCompleted { get; set; }
|
public DateTime? DateCompleted { get; set; }
|
||||||
public long? ProjectOverseerId { get; set; }
|
public long? ProjectOverseerId { get; set; }
|
||||||
|
[NotMapped]
|
||||||
|
public string ProjectOverseerViz { get; set; }
|
||||||
public string AccountNumber { get; set; }
|
public string AccountNumber { get; set; }
|
||||||
|
|
||||||
public Project()
|
public Project()
|
||||||
|
|||||||
Reference in New Issue
Block a user