Exemplo n.º 1
0
        private async Task OnSubmit()
        {
            try
            {
                IsBusy = true;

                var signatureStream = await _signatureView.GetImageStreamAsync(SignatureImageFormat.Jpeg, Color.Black);

                var imageData = new byte[signatureStream.Length];
                await signatureStream.WriteAsync(imageData, 0, (int)signatureStream.Length);

                var signatureData = Convert.ToBase64String(imageData);
                foreach (var packingSlip in _packingSlips)
                {
                    var context = new SignatureQueryContext
                    {
                        CustomerInfo    = Api.GetCustomerContext(),
                        Branch          = packingSlip.Branch.Code,
                        Email           = _email,
                        PackingSlipId   = packingSlip.Key,
                        PackingSlipDate = packingSlip.PackingSlipDate,
                        PrintedName     = _printedName,
                        SalesOrderId    = packingSlip.CustomerPurchaseOrderNo,
                        SignatureBase64 = signatureData,
                        Images          = new List <SignatureImage>(_pictureList)
                    };

                    var response = await Api.PostSignature(context);

                    if (!response.Successful.GetValueOrDefault())
                    {
                        await Alert.DisplayApiCallError(response.ExceptionMessage, response.ValidationErrors,
                                                        Translate.Get(nameof(AppResources.DrvSignPageError1)));
                    }
                }

                IsBusy = false;
                await ShowToast();
                await NavigateTo(new DrvSurveyPage(_packingSlips), true);
            }
            catch (Exception e)
            {
                await Alert.DisplayError(e, Translate.Get(nameof(AppResources.ServerError)));
            }
            finally
            {
                IsBusy = false;
            }
        }
Exemplo n.º 2
0
 public async Task <ApiResponseOfBoolean> PostSignature(SignatureQueryContext context)
 {
     return(await AXClient.Instance.PostSignatureAsync(context).ConfigureAwait(false));
 }