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; }
private async void DoService(bool ok) { if (!ok) { return; } if (IsBusy || IsLoading) { // message toast ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant()); return; } IsLoading = true; var data = new QRCodeGiftKardData { SystemId = ApiConstants.SystemId, Amount = Amount.Value, PhoneNumber = ApiConstants.CountryPrefix + ReceiverPhoneNumber.Value, Currency = _accountSelected.Currency, CompanyId = !string.IsNullOrEmpty(Merchant.Id) ? Merchant.Id : "", CompanyName = !string.IsNullOrEmpty(Merchant.Value) ? Merchant.Value : "" }; GiftCardCreationRequest cash = new GiftCardCreationRequest { SourceAccountNumber = _accountSelected.AccountNumber, QrCode = JsonConvert.SerializeObject(data) }; featureDTO f = new featureDTO { FeatureName = "GIFT_CARD_CREATE", Amount = decimal.Parse(Amount.Value), SenderId = ApiConstants.CountryPrefix + _userInformation.UserName, SenderPassword = _userInformation.Password, TargetId = ApiConstants.CountryPrefix + ReceiverPhoneNumber.Value, jsonObjString = JsonConvert.SerializeObject(cash) }; var result = await _giftcardservice.Execute <featureDTO, GiftCardCreationResponse>(_authentication.GetToken(), f, ApiConstants.SystemId); NavigationParameters parameters = null; string message = ""; bool isSuccess = false; if (result != null) { if (result.isuccess) { isSuccess = true; message = TranslateManagerHelper.Convert("operation_successfully"); // init value var ai = result.data.AccountUpdate; UpdateUserAccount(new AccountModel { AccountNumber = ai.AccountNumber, Balance = ai.Balance.ToString(), Currency = ai.CurrencyISO, Type = ai.AccountType, }); InitializeInput(); GoBacckToStpe1(); } else { switch (result.errcode) { case "EXCEPTION": message = TranslateManagerHelper.Convert("operation_failed"); break; default: message = !string.IsNullOrEmpty(result.msg) ? result.msg : TranslateManagerHelper.Convert("cashin_failed"); break; } isSuccess = false; } } else { // TODO : what message do we send ? isSuccess = false; switch (result.errcode) { case "EXCEPTION": message = TranslateManagerHelper.Convert("operation_failed"); break; default: message = TranslateManagerHelper.Convert("error_contact_support"); break; } } parameters = new NavigationParameters { { Constants.PopupIsSucces, isSuccess }, { Constants.PopupIsBeforeHome, false }, { Constants.PopupMessage, message }, { Constants.PopupNextPage, FunctionName.GiftCard } }; //InitializeInput(); //GoBacckToStpe1(); await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters).ConfigureAwait(false); IsLoading = false; }