This commit is contained in:
2021-07-20 16:07:01 +00:00
parent d3dba0fb68
commit 89e3e96320

View File

@@ -414,6 +414,19 @@ namespace AyaNova.Biz
if (ayaEvent != AyaEvent.Created && ayaEvent != AyaEvent.Modified)
return;
//CREATED OR MODIFIED
if(ayaEvent==AyaEvent.Created || ayaEvent==AyaEvent.Modified)
{
//Set duration to completed
//Clear it if set and not completed state
//or
//Set it if not set and completed state
todo
}
//CREATION ACTIONS
if (ayaEvent == AyaEvent.Created)
{
@@ -421,7 +434,6 @@ namespace AyaNova.Biz
if (newObj.CompleteByDate == null)//need to account for a user manually selecting a specific close by date in advance indicating to ignore any auto sets
await AutoSetCloseByDateAsync(newObj);
await AutoSetAddressAsync(newObj);
return;
}
//MODIFIED ACTIONS
@@ -6490,14 +6502,14 @@ namespace AyaNova.Biz
////////////////////////////////////////////////////////////////////////////////////////////////
//GET CURRENT STATUS FOR WORKORDER FROM RELATIVE
//
//cache the state to save repeatedly fetching it for this operation which could be called multiple times in a flowv
internal WorkOrderStatus mCurrentWorkOrderStatus = null;
internal async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id)
{
//instantiated method to save adding the context
return await GetCurrentWorkOrderStatusFromRelatedAsync(ayaType, id, ct);
}
internal static async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id, AyContext ct)
if (mCurrentWorkOrderStatus == null)
{
//static method
var wid = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
var stat = await ct.WorkOrderState.AsNoTracking()
.Where(z => z.WorkOrderId == wid.WorkOrderId)
@@ -6505,15 +6517,34 @@ namespace AyaNova.Biz
.Take(1)
.FirstOrDefaultAsync();
//no state set yet?
if (stat == null)
{ //default
return new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
mCurrentWorkOrderStatus = new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
else
mCurrentWorkOrderStatus = await ct.WorkOrderStatus.AsNoTracking().Where(z => z.Id == stat.WorkOrderStatusId).FirstAsync();//this should never not be null
}
return mCurrentWorkOrderStatus;
}
return await ct.WorkOrderStatus.AsNoTracking().Where(z => z.Id == stat.WorkOrderStatusId).FirstAsync();//this should never not be null
}
// internal static async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id, AyContext ct)
// {
// //static method
// var wid = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
// var stat = await ct.WorkOrderState.AsNoTracking()
// .Where(z => z.WorkOrderId == wid.WorkOrderId)
// .OrderByDescending(z => z.Created)
// .Take(1)
// .FirstOrDefaultAsync();
// //no state set yet?
// if (stat == null)
// { //default
// return new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
// }
// return await ct.WorkOrderStatus.AsNoTracking().Where(z => z.Id == stat.WorkOrderStatusId).FirstAsync();//this should never not be null
// }