Hi,
I want to create a JSON body when user clicking the REMOVE HOLD in PO Screen.
public IEnumerable ReleaseFromHold(PXAdapter adapter, ReleaseFromHoldDelegate baseMethod){
RootObject obj = new RootObject();
obj.OrderNbr = order.OrderNbr?.ToString();
obj.PromisedOn = order.ExpectedDate?.ToString();
obj.Status = order.Status?.ToString();
foreach (PXResult<POLine> result in polineIntview.Select()){
POLine line = result;
Details detail = new Details();
detail.Amount = line.CuryExtCost?.ToString();
detail.CustomerOrderNbr = SOOrder.PK.Find(Base,"SO",line.SOOrderNbr).CustomerOrderNbr?.ToString();
detail.DiscountAmount = line.CuryDiscAmt?.ToString();
detail.DiscountPercent = line.DiscPct?.ToString();
if (obj.Details == null)
obj.Details = new List<Details>();
obj.Details.Add(detail);
}
var options = new JsonSerializerOptions { WriteIndented = true };
var json=JsonSerializer.Serialize(obj,options);
PXTrace.WriteInformation(json);
}
public class RootObject
{
public string OrderNbr { get; set; }
public string PromisedOn { get; set; }
public string Status { get; set; }
public List<Details> Details { get; set; }
}
public class Details
{
public string Amount { get; set; }
public string CustomerOrderNbr { get; set; }
public string DiscountAmount { get; set; }
public string DiscountPercent { get; set; }
}
But,in the some time I click the Remove hold button it shows an error.Then I tried again in same PO ,JSON is generated.
Why this is happen?
