private async Task OnSubmit() { try { IsBusy = true; RepackRequestModel context = new RepackRequestModel { Account = _packingSlip.Account.Key, Note = _note, PackingSlip = _packingSlip.Key, RecId = _packingSlip.RecId.ToLong(), SalesOrder = _packingSlip.Order.Key, }; var modelList = new List <RepackModel>(); foreach (var packingSlipWithRePacking in _packingSlip.Lines.Where(p => p.PackingReasonList?.Any() ?? false)) { var rpackModel = new RepackModel { LineItem = packingSlipWithRePacking.Key, Reasons = packingSlipWithRePacking.PackingReasonList.Select(p => new PackReason { Action = p.Action.Key, InventTransId = (int)packingSlipWithRePacking.InventTransId.ToLong(), Quantity = p.Quantity, Reason = p.Reason.Key }).ToList() }; modelList.Add(rpackModel); } context.Data = modelList; var submitResponse = await Api.RepackPackingSlip(context); if (!submitResponse.Successful.GetValueOrDefault()) { await Alert.DisplayApiCallError(submitResponse.ExceptionMessage, submitResponse.ValidationErrors, Translate.Get(nameof(AppResources.CouldNotSubmitRepacking))); return; } await Nav.Nav.PopAsync(); } catch (Exception e) { await AlertService.Instance.DisplayError(e); } finally { IsBusy = false; } }
public async Task <ApiResponseOfString> RepackPackingSlip(RepackRequestModel model) { return(await AXClient.Instance.RepackPackingSlipAsync(model) .ConfigureAwait(false)); }