This commit is contained in:
@@ -51,7 +51,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||||
if (!ModelState.IsValid)
|
if (!ModelState.IsValid)
|
||||||
return BadRequest(new ApiErrorResponse(ModelState));
|
return BadRequest(new ApiErrorResponse(ModelState));
|
||||||
PurchaseOrder o = await biz.CreateAsync(newObject);
|
PurchaseOrder o = await biz.CreateAsync(newObject, true);
|
||||||
if (o == null)
|
if (o == null)
|
||||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||||
else
|
else
|
||||||
@@ -125,7 +125,7 @@ namespace AyaNova.Api.Controllers
|
|||||||
else
|
else
|
||||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||||
}
|
}
|
||||||
return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency })); ;
|
return Ok(ApiOkResponse.Response(o));//Here return entire object since it's updated by the server in ways the client needs to see
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace AyaNova.Biz
|
|||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//CREATE
|
//CREATE
|
||||||
//
|
//
|
||||||
internal async Task<PurchaseOrder> CreateAsync(PurchaseOrder newObject)
|
internal async Task<PurchaseOrder> CreateAsync(PurchaseOrder newObject, bool populateDisplayFields)
|
||||||
{
|
{
|
||||||
await ValidateAsync(newObject, null);
|
await ValidateAsync(newObject, null);
|
||||||
if (HasErrors)
|
if (HasErrors)
|
||||||
@@ -61,6 +61,8 @@ namespace AyaNova.Biz
|
|||||||
await SearchIndexAsync(newObject, true);
|
await SearchIndexAsync(newObject, true);
|
||||||
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null);
|
await TagBiz.ProcessUpdateTagsInRepositoryAsync(ct, newObject.Tags, null);
|
||||||
await HandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
await HandlePotentialNotificationEvent(AyaEvent.Created, newObject);
|
||||||
|
if (populateDisplayFields)
|
||||||
|
await SetDisplayFields(newObject);
|
||||||
return newObject;
|
return newObject;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,8 +89,8 @@ namespace AyaNova.Biz
|
|||||||
item.ReceivedCost = 0;
|
item.ReceivedCost = 0;
|
||||||
item.ReceivedDate = null;
|
item.ReceivedDate = null;
|
||||||
item.PurchaseOrderId = 0;
|
item.PurchaseOrderId = 0;
|
||||||
item.WorkorderItemPartRequestId=null;
|
item.WorkorderItemPartRequestId = null;
|
||||||
item.PartRequestedById=null;
|
item.PartRequestedById = null;
|
||||||
}
|
}
|
||||||
newObject.Id = 0;
|
newObject.Id = 0;
|
||||||
newObject.Concurrency = 0;
|
newObject.Concurrency = 0;
|
||||||
@@ -108,8 +110,8 @@ namespace AyaNova.Biz
|
|||||||
internal async Task<PurchaseOrder> GetAsync(long id, bool populateDisplayFields, bool logTheGetEvent)
|
internal async Task<PurchaseOrder> GetAsync(long id, bool populateDisplayFields, bool logTheGetEvent)
|
||||||
{
|
{
|
||||||
var ret = await ct.PurchaseOrder.Include(z => z.Items).AsNoTracking().SingleOrDefaultAsync(z => z.Id == id);
|
var ret = await ct.PurchaseOrder.Include(z => z.Items).AsNoTracking().SingleOrDefaultAsync(z => z.Id == id);
|
||||||
|
if (populateDisplayFields)
|
||||||
await SetDisplayFields(ret);
|
await SetDisplayFields(ret);
|
||||||
|
|
||||||
if (logTheGetEvent && ret != null)
|
if (logTheGetEvent && ret != null)
|
||||||
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
|
await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct);
|
||||||
@@ -132,6 +134,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
foreach (PurchaseOrderItem item in po.Items)
|
foreach (PurchaseOrderItem item in po.Items)
|
||||||
{
|
{
|
||||||
|
|
||||||
item.DisplayPartNumber = await ct.Part.AsNoTracking().Where(x => x.Id == item.PartId).Select(x => x.PartNumber).SingleAsync();
|
item.DisplayPartNumber = await ct.Part.AsNoTracking().Where(x => x.Id == item.PartId).Select(x => x.PartNumber).SingleAsync();
|
||||||
item.DisplayWarehouse = await ct.PartWarehouse.AsNoTracking().Where(x => x.Id == item.PartWarehouseId).Select(x => x.Name).SingleAsync();
|
item.DisplayWarehouse = await ct.PartWarehouse.AsNoTracking().Where(x => x.Id == item.PartWarehouseId).Select(x => x.Name).SingleAsync();
|
||||||
if (item.WorkorderItemPartRequestId != null)
|
if (item.WorkorderItemPartRequestId != null)
|
||||||
|
|||||||
@@ -1706,7 +1706,7 @@ namespace AyaNova.Util
|
|||||||
PurchaseOrder o = new PurchaseOrder();
|
PurchaseOrder o = new PurchaseOrder();
|
||||||
o.Notes = Fake.Lorem.Sentence();
|
o.Notes = Fake.Lorem.Sentence();
|
||||||
o.Tags = RandomTags();
|
o.Tags = RandomTags();
|
||||||
o.VendorId = Fake.Random.Long(1, 9);//this matches the range set in parts so that we get some vendor numbers being set
|
o.VendorId = Fake.Random.Long(1, 9);//this matches the range set in parts so that we get ALL vendor numbers being set
|
||||||
var poDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
var poDate = Fake.Date.Between(seedStartWindow, seedEndWindow);
|
||||||
o.OrderedDate = poDate.ToUniversalTime();
|
o.OrderedDate = poDate.ToUniversalTime();
|
||||||
o.ExpectedReceiveDate = poDate.AddDays(5).ToUniversalTime();
|
o.ExpectedReceiveDate = poDate.AddDays(5).ToUniversalTime();
|
||||||
@@ -1714,16 +1714,11 @@ namespace AyaNova.Util
|
|||||||
o.ReferenceNumber = Fake.Finance.Account(6);
|
o.ReferenceNumber = Fake.Finance.Account(6);
|
||||||
o.VendorMemo = Fake.Lorem.Sentence();
|
o.VendorMemo = Fake.Lorem.Sentence();
|
||||||
if (Fake.Random.Number(1, 10) == 5)
|
if (Fake.Random.Number(1, 10) == 5)
|
||||||
{
|
|
||||||
o.ProjectId = Fake.Random.Long(1, TotalSeededProjects);
|
o.ProjectId = Fake.Random.Long(1, TotalSeededProjects);
|
||||||
}
|
|
||||||
|
|
||||||
o.Text1 = Fake.Lorem.Sentence(1, 3);
|
o.Text1 = Fake.Lorem.Sentence(1, 3);
|
||||||
o.Text2 = Fake.Lorem.Sentence(1, 3);
|
o.Text2 = Fake.Lorem.Sentence(1, 3);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
List<long> partsAdded = new List<long>();
|
List<long> partsAdded = new List<long>();
|
||||||
int partCount = Fake.Random.Int(1, 5);
|
int partCount = Fake.Random.Int(1, 5);
|
||||||
for (int y = 0; y < partCount; y++)
|
for (int y = 0; y < partCount; y++)
|
||||||
@@ -1753,7 +1748,7 @@ namespace AyaNova.Util
|
|||||||
using (AyContext ct = ServiceProviderProvider.DBContext)
|
using (AyContext ct = ServiceProviderProvider.DBContext)
|
||||||
{
|
{
|
||||||
PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct);
|
PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct);
|
||||||
var NewObject = await biz.CreateAsync(o);
|
var NewObject = await biz.CreateAsync(o, false);
|
||||||
TotalSeededPurchaseOrders++;
|
TotalSeededPurchaseOrders++;
|
||||||
if (NewObject == null)
|
if (NewObject == null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user