This commit is contained in:
@@ -141,7 +141,7 @@ namespace AyaNova.Api.Controllers
|
||||
case AyaType.WorkOrderItemTravel:
|
||||
case AyaType.WorkOrderItemOutsideService:
|
||||
case AyaType.WorkOrderItemUnit:
|
||||
AyaTypeId TypeId = new AyaTypeId(AyaType.WorkOrder, await WorkOrderBiz.GetWorkOrderIdFromDescendant(ayaType, id, ct));
|
||||
AyaTypeId TypeId = new AyaTypeId(AyaType.WorkOrder, await WorkOrderBiz.GetWorkOrderIdFromRelativeAsync(ayaType, id, ct));
|
||||
return Ok(ApiOkResponse.Response(new { AyaType = TypeId.ATypeAsInt, Id = TypeId.ObjectId }));
|
||||
default:
|
||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, null, "Only types with ancestors are valid"));
|
||||
|
||||
@@ -253,11 +253,13 @@ namespace AyaNova.Biz
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//GET WORKORDER ID FROM DESCENDANT TYPE AND ID
|
||||
//
|
||||
internal static async Task<long> GetWorkOrderIdFromDescendant(AyaType ayaType, long id, AyContext ct)
|
||||
internal static async Task<long> GetWorkOrderIdFromRelativeAsync(AyaType ayaType, long id, AyContext ct)
|
||||
{
|
||||
long woitemid = 0;
|
||||
switch (ayaType)
|
||||
{
|
||||
case AyaType.WorkOrder:
|
||||
return id;
|
||||
case AyaType.WorkOrderItem:
|
||||
woitemid = id;
|
||||
break;
|
||||
@@ -346,6 +348,9 @@ namespace AyaNova.Biz
|
||||
//run validation and biz rules
|
||||
bool isNew = currentObj == null;
|
||||
|
||||
|
||||
//Check state if updatable right now
|
||||
|
||||
/*
|
||||
|
||||
todo: workorder status list first, it's a table of created items, keep properties from v7 but add the following properties:
|
||||
@@ -3597,6 +3602,25 @@ namespace AyaNova.Biz
|
||||
throw new System.ArgumentOutOfRangeException($"WorkOrder::GetWorkOrderGraphItem -> Invalid ayaType{ayaType}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//GET UPDATEABLE STATUS FOR WORKORDER FROM DESCENDANT
|
||||
//
|
||||
internal static async Task<WorkOrderStatus> GetCurrentWorkOrderStatusFromRelatedAsync(AyaType ayaType, long id, AyContext ct)
|
||||
{
|
||||
long WoId = await GetWorkOrderIdFromRelativeAsync(ayaType, id, ct);
|
||||
|
||||
return await ct.WorkOrderState.AsNoTracking()
|
||||
.Include(z => z.WorkOrderStatus)
|
||||
.Where(z => z.WorkOrderId == WoId)
|
||||
.OrderBy(z => z.Created)
|
||||
.Select(z => z.WorkOrderStatus)
|
||||
.Take(1)
|
||||
.FirstOrDefaultAsync();
|
||||
|
||||
}
|
||||
#endregion utility
|
||||
|
||||
|
||||
|
||||
@@ -64,6 +64,11 @@ namespace AyaNova.Models
|
||||
public List<WorkOrderState> States { get; set; } = new List<WorkOrderState>();
|
||||
|
||||
|
||||
//UTILITY FIELDS
|
||||
|
||||
|
||||
|
||||
|
||||
[NotMapped, JsonIgnore]
|
||||
public AyaType AyaType { get => AyaType.WorkOrder; }
|
||||
}//eoc
|
||||
|
||||
@@ -19,7 +19,10 @@ namespace AyaNova.Models
|
||||
[Required]
|
||||
public long UserId { get; set; }
|
||||
|
||||
[NotMapped, JsonIgnore]
|
||||
//related
|
||||
public WorkOrderStatus WorkOrderStatus { get; set; }
|
||||
|
||||
[NotMapped, JsonIgnore]
|
||||
public AyaType AyaType { get => AyaType.WorkOrderStatus; }
|
||||
|
||||
}//eoc
|
||||
|
||||
Reference in New Issue
Block a user