This commit is contained in:
2021-08-09 17:34:12 +00:00
parent cdba13d338
commit f634cddbd6
3 changed files with 35 additions and 9 deletions

View File

@@ -16,7 +16,7 @@ namespace AyaNova.DataList
//todo: look at loanitemlist in v7 it surfaces due date, out date etc in the list and should here too once those fields are coded for
var RoleSet = BizRoles.GetRoleSet(DefaultListAType);
AllowedRoles = RoleSet.ReadFullRecord | RoleSet.Change;
DefaultColumns = new List<string>() { "LoanUnitName", "LoanUnitSerial", "LoanUnitShadowUnit" };
DefaultColumns = new List<string>() { "LoanUnitName", "LoanUnitSerial", "LoanUnitCurrentWorkOrderItemLoan", "LoanUnitShadowUnit" };
DefaultSortBy = new Dictionary<string, string>() { { "LoanUnitName", "+" } };
FieldDefinitions = new List<DataListFieldDefinition>();

View File

@@ -65,5 +65,18 @@ namespace AyaNova.PickList
});
}
public string GetVariantCriteria(string variant)
{
// :variant="availableonly" Only items that are not on a workorderitemloan
if (string.IsNullOrWhiteSpace(variant) || variant != "availableonly") return string.Empty;
return "aloanunit.workorderitemloanid is null";
}
}//eoc
}//eons

View File

@@ -2795,11 +2795,14 @@ namespace AyaNova.Biz
await LoanSearchIndexAsync(newObject, true);
await LoanPopulateVizFields(newObject);
await LoanHandlePotentialNotificationEvent(AyaEvent.Created, newObject);
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == newObject.LoanUnitId);
if (u != null)
if (newObject.ReturnDate == null)
{
u.WorkOrderItemLoanId = newObject.Id;
await ct.SaveChangesAsync();
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == newObject.LoanUnitId);
if (u != null)
{
u.WorkOrderItemLoanId = newObject.Id;
await ct.SaveChangesAsync();
}
}
return newObject;
}
@@ -2838,6 +2841,7 @@ namespace AyaNova.Biz
if (HasErrors) return null;
await LoanBizActionsAsync(AyaEvent.Modified, putObject, dbObject);
bool changeOfUnit = dbObject.LoanUnitId != putObject.LoanUnitId;
bool changeOfReturned = dbObject.ReturnDate != putObject.ReturnDate;
ct.Replace(dbObject, putObject);
try
@@ -2857,13 +2861,22 @@ namespace AyaNova.Biz
await LoanSearchIndexAsync(putObject, false);
await LoanPopulateVizFields(putObject);
await LoanHandlePotentialNotificationEvent(AyaEvent.Modified, putObject, dbObject);
//update loan unit
if (changeOfUnit)
//update loan unitif (newObject.ReturnDate == null)
//Returned or unit changed
if (changeOfUnit || changeOfReturned)
{
var u = await ct.LoanUnit.FirstOrDefaultAsync(x => x.Id == dbObject.LoanUnitId);
if (u != null)
if (u != null && (u.WorkOrderItemLoanId==null || u.WorkOrderItemLoanId==putObject.Id))
{
u.WorkOrderItemLoanId = putObject.Id;
if (putObject.ReturnDate != null)
{
u.WorkOrderItemLoanId = null;
}
else
{
u.WorkOrderItemLoanId = putObject.Id;
}
await ct.SaveChangesAsync();
}
}