private async void DisplayQrCode(VoucherModel voucherModel) { if (IsBusy || IsLoading) { // message toast ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant()); return; } IsLoading = true; VoucherCreateRequestData obj = JsonConvert.DeserializeObject <VoucherCreateRequestData>(voucherModel.QrCode); var datagenerate = new QRCodeVourcherData { Amount = voucherModel.Amount, Currency = voucherModel.Currency, Number = voucherModel.VoucherNumber, UserName = ApiConstants.CountryPrefix + _userInformation.UserName, SystemId = ApiConstants.SystemId, Owner = $"{obj.Fname} {obj.Lname}", CompanyId = obj.Company, CompanyName = obj.CompanyName, IdentificationTypeId = obj.IdentificationTypeId, IdNumber = obj.IdNUmber, PhoneNumber = obj.vPhone }; var qrcodedata = new QRcodeRequest(); qrcodedata.Type = "Text"; qrcodedata.Separator = string.Empty; qrcodedata.Parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("QRCodeData", JsonConvert.SerializeObject(datagenerate)) }; var qc = await _qrcode.Generate <QRcodeRequest>(_authentication.GetToken(), qrcodedata); if (qc == null || qc?.isuccess == false) { string message = ""; switch (qc?.errcode) { case "EXCEPTION": TranslateManagerHelper.Convert("error_occured"); break; default: message = !string.IsNullOrEmpty(qc?.msg) ? qc.msg : TranslateManagerHelper.Convert("qrcode_error_occured"); break; } var parameters = new NavigationParameters { { Constants.PopupIsSucces, false }, { Constants.PopupMessage, message }, { Constants.PopupIsBeforeHome, false }, { Constants.PopupNextPage, "" } }; await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters).ConfigureAwait(false); IsLoading = false; return; } var qrImage = Xamarin.Forms.ImageSource.FromStream( () => new MemoryStream(Convert.FromBase64String(qc.data))); var data = new DisplayQrCodeModel() { Code1 = voucherModel.VoucherNumber, //Code2 = voucherModel.Amount, //Currency = voucherModel.Currency, QrCodeImage = qrImage, IsDisplayIcon = true, Title = TranslateManagerHelper.Convert("scan_me").ToUpperInvariant(), HigthTitle = "vourchers" }; var Parameters = new NavigationParameters() { { Constants.QrCodeId, "DISPLAY_QRCODE" }, { Constants.QrCodeResponseData, data } }; await NavigationService.NavigateAsync(FunctionName.GenerateQrCode, Parameters); IsLoading = false; }
private async void DisplayQrCode(GiftCardModel GiftCardModel) { if (IsBusy || IsLoading) { // message toast ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant()); return; } IsLoading = true; QRCodeGiftKardData obj = JsonConvert.DeserializeObject <QRCodeGiftKardData>(GiftCardModel.QRCodeData); obj.Number = GiftCardModel.GiftCardNumber; obj.Amount = GiftCardModel.Amount; // call genreate qrcode service var qrcodedata = new QRcodeRequest(); qrcodedata.Type = "Text"; qrcodedata.Separator = string.Empty; qrcodedata.Parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("QRCodeData", JsonConvert.SerializeObject(obj)) }; /* * Call Simple API here */ var qc = await _qRCode.Generate <QRcodeRequest>(_authentication.GetToken(), qrcodedata); if (qc == null || qc?.isuccess == false) { string message = ""; switch (qc?.errcode) { case "EXCEPTION": TranslateManagerHelper.Convert("error_occured"); break; default: message = !string.IsNullOrEmpty(qc?.msg) ? qc.msg : TranslateManagerHelper.Convert("qrcode_error_occured"); break; } var parameters = new NavigationParameters { { Constants.PopupIsSucces, false }, { Constants.PopupMessage, message }, { Constants.PopupIsBeforeHome, false }, { Constants.PopupNextPage, "" } }; await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters).ConfigureAwait(false); IsLoading = false; return; } var qrImage = Xamarin.Forms.ImageSource.FromStream( () => new MemoryStream(Convert.FromBase64String(qc.data))); var data = new DisplayQrCodeModel() { Code1 = GiftCardModel.GiftCardNumber, //Code2 = GiftCardModel.Amount, //Currency = obj.Currency, IsDisplayIcon = false, QrCodeImage = qrImage, Title = TranslateManagerHelper.Convert("scan_me"), HigthTitle = TranslateManagerHelper.Convert("gift_card"), CompanyId = obj.CompanyId, CompanyName = obj.CompanyName }; var Parameters = new NavigationParameters() { { Constants.QrCodeId, "DISPLAY_QRCODE" }, { Constants.QrCodeResponseData, data } }; await NavigationService.NavigateAsync(FunctionName.GenerateQrCode, Parameters); IsLoading = false; }