This commit is contained in:
@@ -207,7 +207,7 @@ namespace AyaNova.Biz
|
|||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// GET
|
// GET
|
||||||
//
|
//
|
||||||
internal async Task<WorkOrder> WorkOrderGetAsync(long id, bool populateDisplayFields, bool logTheGetEvent = true, bool populateForReporting=false)
|
internal async Task<WorkOrder> WorkOrderGetAsync(long id, bool populateDisplayFields, bool logTheGetEvent = true, bool populateForReporting = false)
|
||||||
{
|
{
|
||||||
|
|
||||||
var ret = await WorkOrderGetFullAsync(id);
|
var ret = await WorkOrderGetFullAsync(id);
|
||||||
@@ -414,6 +414,19 @@ namespace AyaNova.Biz
|
|||||||
if (ayaEvent != AyaEvent.Created && ayaEvent != AyaEvent.Modified)
|
if (ayaEvent != AyaEvent.Created && ayaEvent != AyaEvent.Modified)
|
||||||
return;
|
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
|
//CREATION ACTIONS
|
||||||
if (ayaEvent == AyaEvent.Created)
|
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
|
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 AutoSetCloseByDateAsync(newObj);
|
||||||
await AutoSetAddressAsync(newObj);
|
await AutoSetAddressAsync(newObj);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//MODIFIED ACTIONS
|
//MODIFIED ACTIONS
|
||||||
@@ -6490,31 +6502,50 @@ namespace AyaNova.Biz
|
|||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//GET CURRENT STATUS FOR WORKORDER FROM RELATIVE
|
//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)
|
internal async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id)
|
||||||
{
|
{
|
||||||
//instantiated method to save adding the context
|
if (mCurrentWorkOrderStatus == null)
|
||||||
return await GetCurrentWorkOrderStatusFromRelatedAsync(ayaType, id, ct);
|
{
|
||||||
}
|
var wid = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
|
||||||
internal static async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id, AyContext ct)
|
var stat = await ct.WorkOrderState.AsNoTracking()
|
||||||
{
|
.Where(z => z.WorkOrderId == wid.WorkOrderId)
|
||||||
//static method
|
.OrderByDescending(z => z.Created)
|
||||||
var wid = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
|
.Take(1)
|
||||||
var stat = await ct.WorkOrderState.AsNoTracking()
|
.FirstOrDefaultAsync();
|
||||||
.Where(z => z.WorkOrderId == wid.WorkOrderId)
|
|
||||||
.OrderByDescending(z => z.Created)
|
|
||||||
.Take(1)
|
|
||||||
.FirstOrDefaultAsync();
|
|
||||||
|
|
||||||
|
//no state set yet?
|
||||||
//no state set yet?
|
if (stat == null)
|
||||||
if (stat == null)
|
mCurrentWorkOrderStatus = new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
|
||||||
{ //default
|
else
|
||||||
return new WorkOrderStatus() { Id = -1, Locked = false, Completed = false };
|
mCurrentWorkOrderStatus = await ct.WorkOrderStatus.AsNoTracking().Where(z => z.Id == stat.WorkOrderStatusId).FirstAsync();//this should never not be null
|
||||||
}
|
}
|
||||||
return await ct.WorkOrderStatus.AsNoTracking().Where(z => z.Id == stat.WorkOrderStatusId).FirstAsync();//this should never not be null
|
return mCurrentWorkOrderStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion utility
|
#endregion utility
|
||||||
|
|||||||
Reference in New Issue
Block a user