Exemple #1
0
        private async void DoPaymentService(bool ok)
        {
            if (!ok)
            {
                return;
            }

            if (IsBusy || IsLoading)
            {
                //Message Toast
                ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant());
                return;
            }
            IsLoading = true;

            AccountModel accountSelected;

            if (Currency.Value == _accountLRD.Currency)
            {
                accountSelected = _accountLRD;
            }
            else if (Currency.Value == _accountUSD.Currency)
            {
                accountSelected = _accountUSD;
            }
            else
            {
                var parameters1 = new NavigationParameters
                {
                    { Constants.PopupIsSucces, false },
                    { Constants.PopupMessage, TranslateManagerHelper.Convert("operation_failed") },
                    { Constants.PopupNextPage, FunctionName.MerchantPayment }
                };
                await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters1).ConfigureAwait(false);

                IsLoading = false;
                return;
            }

            // call service feature
            MerchantPaymentRequest mpr = new MerchantPaymentRequest()
            {
                TargetAccountNumber = accountSelected.AccountNumber
            };

            featureDTO f = new featureDTO()
            {
                FeatureName    = "MERCHANT_PAYMENT",
                SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                SenderPassword = _userInformation.Password,
                Amount         = decimal.Parse(Amount.Value),
                TargetId       = MerchantId.Value,
                jsonObjString  = JsonConvert.SerializeObject(mpr)
            };

            bool   issuccess = false;
            string message   = "";

            var mkp = await _makepayment.Execute <featureDTO, MerchantPaymentResponse>(_authentication.GetToken(), f, ApiConstants.SystemId);

            if (mkp != null)
            {
                if (mkp.isuccess)
                {
                    issuccess = true;

                    var mk = mkp.data;
                    UpdateUserAccount(new AccountModel
                    {
                        AccountNumber = mk.AccountUpdate.AccountNumber,
                        Balance       = mk.AccountUpdate.Balance.ToString(),
                        Currency      = mk.AccountUpdate.CurrencyISO,
                        Type          = mk.AccountUpdate.AccountType
                    });
                    message = TranslateManagerHelper.Convert("operation_successfully");
                }
                else
                {
                    issuccess = false;

                    switch (mkp.errcode)
                    {
                    case "EXCEPTION":
                        message = TranslateManagerHelper.Convert("operation_failed");
                        break;

                    case "WrongPincode":
                        message = mkp.msg;
                        break;

                    default:
                        message = !string.IsNullOrEmpty(mkp?.msg) ? mkp.msg : TranslateManagerHelper.Convert("error_occured");
                        break;
                    }
                }
            }
            else
            {
                issuccess = false;
                message   = TranslateManagerHelper.Convert("error_occured");
            }

            var parameters = new NavigationParameters
            {
                { Constants.PopupIsSucces, issuccess },
                { Constants.PopupMessage, message },
                { Constants.PopupNextPage, FunctionName.MerchantPayment }
            };
            await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters).ConfigureAwait(false);

            IsLoading = false;
        }
Exemple #2
0
        private async Task Load()
        {
            if (IsBusy || IsLoading)
            {
                // message toast
                return;
            }
            IsLoading = true;

            AccountStatementRequest asr = new AccountStatementRequest();

            asr.SourceAccountNumber = "";

            featureDTO fb = new featureDTO
            {
                FeatureName    = "MY_DONATION",
                SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                SenderPassword = _userInformation.Password,
                TargetId       = "",
                Amount         = 0,
                jsonObjString  = JsonConvert.SerializeObject(asr)
            };

            List <StatementDetails> list = new List <StatementDetails>();
            var raccst = await _statementsservice.Execute <featureDTO, List <AccountStatementResponse> >(_authentication.GetToken(), fb, Infrastructure.ApiConstants.SystemId);

            if (raccst != null && raccst.isuccess)
            {
                var accresp = raccst?.data;
                list = accresp?.Select(x => new StatementDetails
                {
                    OperationNumber = x.TransactionId,
                    Amount          = x.Amount.ToString(),
                    Currency        = "Ex.LRD",
                    Description     = x.Stakeholder, // x.Type,
                    OperationSign   = x.Sign,
                    IsPositive      = x.Sign == "+",
                    OperationTime   = x.Date.ToShortTimeString(),
                    OpDate          = x.Date.ToString("yyyy-MM-dd"),
                    OperationType   = x.Opname.ToUpperInvariant()
                }).ToList();

                foreach (var s in list)
                {
                    try
                    {
                        var group = Items.FirstOrDefault(x => x.OperationDate.Equals(s.OpDate));
                        if (group == null)
                        {
                            group = new StatetementGroup(s.OpDate);
                            Items.Add(group);
                        }
                        group.Add(s);
                    }
                    catch (Exception ex)
                    {
                        DependencyService.Get <IMessage>().ShowSnackBarNetwork(TranslateManagerHelper.Convert("error_occured"));
                    }
                }
            }
            else
            {
                string message;
                switch (raccst?.errcode)
                {
                case "EXCEPTION":
                    message = TranslateManagerHelper.Convert("operation_failed");
                    break;

                default:
                    message = !string.IsNullOrEmpty(raccst?.msg) ? raccst?.msg : TranslateManagerHelper.Convert("error_occured");
                    break;
                }

                var parameters = new NavigationParameters
                {
                    { Constants.PopupIsSucces, false },
                    { Constants.PopupMessage, message },
                    { Constants.PopupNextPage, FunctionName.Home }
                };

                await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters);

                IsLoading = false;
            }
            IsEmpty   = Items.Count == 0;
            IsLoading = false;
        }
Exemple #3
0
        private async void OnTapAddNumberPosition(string value)
        {
            Message.HasError  = false;
            Message.ErrorText = "";

            if (_pincode.Length >= Constants.MaxLenthPinCode)
            {
                return;
            }

            _pincode += value.ToString();
            switch (_pincode.Length)
            {
            case 1:
                Number_1.Value = "*";
                break;

            case 2:
                Number_2.Value = "*";
                break;

            case 3:
                Number_3.Value = "*";
                break;

            case 4:
                Number_4.Value = "*";
                break;

            case 5:
                Number_5.Value = "*";
                break;

            default:
                break;
            }
            if (_pincode.Length >= Constants.MaxLenthPinCode)
            {
                if (IsBusy || IsLoading)
                {
                    // Message toast
                    ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant());
                    return;
                }
                IsLoading = true;
                // call service check_pincode

                featureDTO fb = new featureDTO
                {
                    FeatureName    = "CHECK_PINCODE",
                    SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                    SenderPassword = _pincode,
                    TargetId       = "",
                    Amount         = 0,
                    jsonObjString  = ""
                };

                var response = await _checkpincode.Execute <featureDTO, CheckPincodeResponse>(_authentication.GetToken(), fb, ApiConstants.SystemId);

                if (response != null && response.isuccess)
                {
                    _userInformation.SetPassword(_pincode);
                    _userInformation.SetUserId(response.data.Id);
                    _authentication.Connect();
                    CheckPincodeResponse cp = response.data;
                    _userFullName = $"{cp.Fname} {cp.Lname}";
                    foreach (AccountInfo ai in cp.AccountUpdate)
                    {
                        UpdateUserAccount(new AccountModel
                        {
                            AccountNumber = ai.AccountNumber,
                            Balance       = ai.Balance.ToString(),
                            Currency      = ai.CurrencyISO,
                            Type          = ai.AccountType
                        });
                    }

                    if (_userInformationLocalStorage.HasSubscribeNotification)
                    {
                        if (_userInformationLocalStorage.UserForNotification != _userInformation.UserName)
                        {
                            // Call popup message action
                            var parameters = new NavigationParameters
                            {
                                { Constants.PopupId, "NOTIFICATION_ACTIVE_POPUP" },
                                { Constants.PopupMessage, TranslateManagerHelper.Convert("do_you_want").ToUpper() },
                                { Constants.PopupMessage2, TranslateManagerHelper.Convert("to_receive_your_notifications_on_this_device").ToUpper() },
                            };
                            await NavigationService.NavigateAsync(PopupName.MessageWithActionPopup, parameters).ConfigureAwait(false);

                            IsLoading = false;
                            return;
                        }
                    }
                    else
                    {
                        _userInformationLocalStorage.SubscribeNotification(_userInformation.UserName);
                    }

                    await NavigationService.NavigateAsync($"/CustomMasterDetailPageView/NavigationPage/{FunctionName.Home}").ConfigureAwait(false);
                }
                else
                {
                    for (int i = 0; i < 5; i++)
                    {
                        OnTapRemoveNumberPosition();
                    }

                    switch (response?.errcode)
                    {
                    case "EXCEPTION":
                        Message.ErrorText = TranslateManagerHelper.Convert("operation_failed");
                        break;

                    default:
                        Message.ErrorText = !string.IsNullOrEmpty(response?.msg) ? response?.msg : TranslateManagerHelper.Convert("error_occured");
                        break;
                    }
                    Message.HasError = true;
                }

                IsLoading = false;
            }
        }
Exemple #4
0
        private async void DoService(bool ok)
        {
            if (!ok)
            {
                return;
            }

            if (IsBusy || IsLoading)
            {
                // message toast
                return;
            }
            IsLoading = true;


            // call the donation service
            DonationRequest d = new DonationRequest();

            d.SourceAccountNumber = _accountSelected.AccountNumber;

            featureDTO f = new featureDTO
            {
                FeatureName    = "DONATION",
                Amount         = decimal.Parse(Amount.Value),
                SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                SenderPassword = _userInformation.Password,
                TargetId       = Organization.Id,
                jsonObjString  = JsonConvert.SerializeObject(d)
            };

            var result = await _donationservice.Execute <featureDTO, DonationResponse>(_authentication.GetToken(), f, ApiConstants.SystemId);

            NavigationParameters parameters = null;
            string message   = "";
            bool   isSuccess = false;

            if (result != null)
            {
                if (result.isuccess)
                {
                    var acc = result.data;
                    UpdateUserAccount(new AccountModel
                    {
                        AccountNumber = acc.AccountUpdate.AccountNumber,
                        Balance       = acc.AccountUpdate.Balance.ToString(),
                        Currency      = acc.AccountUpdate.CurrencyISO,
                        Type          = acc.AccountUpdate.AccountType
                    });

                    message   = !string.IsNullOrEmpty(result.msg) ? result.msg : TranslateManagerHelper.Convert("operation_successfully");
                    isSuccess = true;
                }
                else
                {
                    switch (result.errcode)
                    {
                    case "EXCEPTION":
                        message = TranslateManagerHelper.Convert("operation_failed");
                        break;

                    default:
                        message = !string.IsNullOrEmpty(result.msg) ? result.msg : TranslateManagerHelper.Convert("error_occured");
                        break;
                    }
                    isSuccess = false;
                }
            }
            else
            {
                // TODO : what message do we send ?
                isSuccess = false;
                message   = TranslateManagerHelper.Convert("error_contact_support");
            }

            parameters = new NavigationParameters
            {
                { Constants.PopupIsSucces, isSuccess },
                { Constants.PopupIsBeforeHome, false },
                { Constants.PopupMessage, message },
                { Constants.PopupNextPage, FunctionName.Charity }
            };
            await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters);

            SecondStep.Value = false;
            FirstStep.Value  = true;
            IsLoading        = false;
        }
Exemple #5
0
        private async void GotoNext()
        {
            Message.HasError     = false;
            PhoneNumber.HasError = false;
            if (string.IsNullOrEmpty(PhoneNumber.Value))
            {
                PhoneNumber.ErrorText = TranslateManagerHelper.Convert("username_error");
                PhoneNumber.HasError  = true;
                return;
            }

            if (PhoneNumber.Value.Length != PhoneNumberLength.Value)
            {
                PhoneNumber.ErrorText = TranslateManagerHelper.Convert("username_is_short");
                PhoneNumber.HasError  = true;
                return;
            }

            if (IsBusy || IsLoading)
            {
                // Message toast
                ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant());
                return;
            }
            IsLoading = true;


            // callservice to check phonenumber if ok, go to otp view
            MsisdnRequest mr = new MsisdnRequest();

            mr.Msisdn = ApiConstants.CountryPrefix + PhoneNumber.Value;

            featureDTO fb = new featureDTO
            {
                FeatureName    = "CHECK_MSISDN",
                SenderId       = "",
                SenderPassword = "",
                TargetId       = "",
                Amount         = 0,
                jsonObjString  = JsonConvert.SerializeObject(mr)
            };

            var response = await _checkmsisdn.Execute <featureDTO, MsisdnResponse>(_authentication.GetToken(), fb, Infrastructure.ApiConstants.SystemId);

            if (response != null)
            {
                if (response.isuccess)
                {
                    MsisdnResponse r = response.data;
                    if (r.Exists)
                    {
                        if (IsRemember.Value)
                        {
                            _userInformationLocalStorage.SetRememberMe(IsRemember.Value);
                            _userInformationLocalStorage.SetUserName(PhoneNumber.Value);
                        }
                        else
                        {
                            _userInformationLocalStorage.Remove("RememberMe");
                            _userInformationLocalStorage.Remove("UserName");
                        }

                        IUserInformation user = new UserInformation(PhoneNumber.Value);
                        _container.RegisterInstance(user);

                        if (_userInformationLocalStorage.FingerPrint && _userInformationLocalStorage.FUserName != user.UserName)
                        {
                            _userInformationLocalStorage.SetFingerPrintForThisInstance(false);
                        }

                        var param = new NavigationParameters()
                        {
                            { "FingerLogin", IsFingerLogin.Value }
                        };

                        await NavigationService.NavigateAsync(FunctionName.PinCode, param);
                    }
                    else
                    {
                        switch (response.errcode)
                        {
                        case "EXCEPTION":
                            Message.ErrorText = TranslateManagerHelper.Convert("operation_failed");
                            break;

                        default:
                            Message.ErrorText = !string.IsNullOrEmpty(response.msg) ? response.msg : TranslateManagerHelper.Convert("user_not_found");
                            break;
                        }

                        Message.HasError    = true;
                        IsFingerLogin.Value = false;
                    }
                }
                else
                {
                    switch (response.errcode)
                    {
                    case "ForcePincodeChange":

                        if (IsRemember.Value)
                        {
                            _userInformationLocalStorage.SetRememberMe(IsRemember.Value);
                            _userInformationLocalStorage.SetUserName(PhoneNumber.Value);
                        }
                        else
                        {
                            _userInformationLocalStorage.Remove("RememberMe");
                            _userInformationLocalStorage.Remove("UserName");
                        }

                        IUserInformation user = new UserInformation(PhoneNumber.Value);
                        _container.RegisterInstance(user);
                        Message.ErrorText = "";

                        if (_userInformationLocalStorage.FingerPrint && _userInformationLocalStorage.FUserName != user.UserName)
                        {
                            _userInformationLocalStorage.SetFingerPrintForThisInstance(false);
                        }

                        await NavigationService.NavigateAsync(FunctionName.ForcePincodeChange);

                        break;

                    case "EXCEPTION":
                        Message.ErrorText = TranslateManagerHelper.Convert("operation_failed");
                        break;

                    default:
                        Message.ErrorText = !string.IsNullOrEmpty(response.msg) ? response.msg : TranslateManagerHelper.Convert("user_not_found");
                        break;
                    }
                    Message.HasError    = true;
                    IsFingerLogin.Value = false;
                }
            }
            else
            {
                //pour afficher message error, utiliser :
                Message.ErrorText   = !string.IsNullOrEmpty(response?.msg) ? response.msg : TranslateManagerHelper.Convert("user_not_found");
                Message.HasError    = true;
                IsFingerLogin.Value = false;
            }

            IsLoading = false;
        }
Exemple #6
0
        private async void AddVoucher()
        {
            if (IsBusy || IsLoading)
            {
                // Message toast
                ShowSnackBarWithAction(TranslateManagerHelper.Convert("loading_please_wait"), null, TranslateManagerHelper.Convert("ok").ToUpperInvariant());
                return;
            }
            IsLoading = true;

            VoucherNumber.HasError = false;

            if (string.IsNullOrEmpty(VoucherNumber.Value))
            {
                VoucherNumber.ErrorText = TranslateManagerHelper.Convert("voucher_number_error");
                VoucherNumber.HasError  = true;
                IsLoading = false;
                return;
            }

            if (VoucherNumber.Value.Length != Constants.MaxLengthVourcherNumber)
            {
                VoucherNumber.ErrorText = TranslateManagerHelper.Convert("voucher_number_is_short");
                VoucherNumber.HasError  = true;
                IsLoading = false;
                return;
            }

            // Call service
            VoucherRegisterRequest voucher = new VoucherRegisterRequest
            {
                vNumber = VoucherNumber.Value,
                vPhone  = ApiConstants.CountryPrefix + _userInformation.UserName
            };

            featureDTO featureDTO = new featureDTO
            {
                FeatureName    = "VOUCHER_REGISTER",
                Amount         = 0,
                SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                SenderPassword = _userInformation.Password,
                TargetId       = "",
                jsonObjString  = JsonConvert.SerializeObject(voucher)
            };

            bool   isSuccess = false;
            string message;
            var    response = await _feature.Execute <featureDTO, voucherdto>(_authentication.GetToken(), featureDTO, ApiConstants.SystemId);

            if (response != null && response?.isuccess == true)
            {
                isSuccess = true;
                message   = !string.IsNullOrEmpty(response?.msg) ? response?.msg : TranslateManagerHelper.Convert("operation_successfully");
            }
            else
            {
                switch (response?.errcode)
                {
                case "EXCEPTION":
                    message = TranslateManagerHelper.Convert("operation_failed");
                    break;

                default:
                    message = !string.IsNullOrEmpty(response?.msg) ? response?.msg : TranslateManagerHelper.Convert("error_occured");
                    break;
                }
            }

            var parameters = new NavigationParameters
            {
                { Constants.PopupIsSucces, isSuccess },
                { Constants.PopupIsBeforeHome, false },
                { Constants.PopupMessage, message },
                { Constants.PopupNextPage, FunctionName.Vouchers }
            };
            await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters);

            if (isSuccess)
            {
                VoucherNumber.Value = "";
                SecondStep.Value    = false;
                FirstStep.Value     = true;
            }

            IsLoading = false;
        }
Exemple #7
0
        private async void ValidateChangePinCodeAsync()
        {
            OldPinCode.HasError  = false;
            OldPinCode.ErrorText = "";

            NewPinCode.HasError  = false;
            NewPinCode.ErrorText = "";

            ConfirmNewPinCode.HasError  = false;
            ConfirmNewPinCode.ErrorText = "";

            if (!CheckValidateData(OldPinCode.Value))
            {
                OldPinCode.HasError  = true;
                OldPinCode.ErrorText = TranslateManagerHelper.Convert("cannot_empty");
                return;
            }

            if (!CheckValidateLength(OldPinCode.Value))
            {
                OldPinCode.HasError  = true;
                OldPinCode.ErrorText = TranslateManagerHelper.Convert("pincode_is_short");
                return;
            }

            if (!CheckValidateData(NewPinCode.Value))
            {
                NewPinCode.HasError  = true;
                NewPinCode.ErrorText = TranslateManagerHelper.Convert("cannot_empty");
                return;
            }

            if (!CheckValidateLength(NewPinCode.Value))
            {
                NewPinCode.HasError  = true;
                NewPinCode.ErrorText = TranslateManagerHelper.Convert("pincode_is_short");
                return;
            }

            if (NewPinCode.Value == OldPinCode.Value)
            {
                NewPinCode.HasError  = true;
                NewPinCode.ErrorText = TranslateManagerHelper.Convert("old_pincode_newpincode_cannot_equal");
                return;
            }

            if (!CheckValidateData(ConfirmNewPinCode.Value))
            {
                ConfirmNewPinCode.HasError  = true;
                ConfirmNewPinCode.ErrorText = TranslateManagerHelper.Convert("cannot_empty");
                return;
            }

            if (!CheckValidateLength(ConfirmNewPinCode.Value))
            {
                ConfirmNewPinCode.HasError  = true;
                ConfirmNewPinCode.ErrorText = TranslateManagerHelper.Convert("pincode_is_short");
                return;
            }

            // compare newPIN to ConfirmNewPIN
            if (NewPinCode.Value != ConfirmNewPinCode.Value)
            {
                ConfirmNewPinCode.HasError  = true;
                ConfirmNewPinCode.ErrorText = TranslateManagerHelper.Convert("new_pincode_no_match");
                return;
            }

            if (IsBusy || IsLoading)
            {
                // Message Toast
                return;
            }
            IsLoading = true;

            // appel service pour confirmation pin code

            UpdatePincodeRequest upr = new UpdatePincodeRequest();

            upr.NewPassword = NewPinCode.Value;

            featureDTO fb = new featureDTO
            {
                FeatureName    = "UPDATE_PINCODE",
                SenderId       = ApiConstants.CountryPrefix + _userInformation.UserName,
                SenderPassword = OldPinCode.Value,
                TargetId       = "",
                Amount         = 0,
                jsonObjString  = JsonConvert.SerializeObject(upr)
            };

            // NOTE : the Initialize method is not async , so we wait for the result.
            //ObservableCollection<AccountModel> Items = new ObservableCollection<AccountModel>();
            NavigationParameters parameters = null;
            string message   = "";
            bool   isSuccess = false;

            var response = await _updatepinservice.Execute <featureDTO, string>(_authentication.GetToken(), fb, ApiConstants.SystemId);

            if (response != null)
            {
                if (response.isuccess)
                {
                    message = TranslateManagerHelper.Convert("pincode_changed_successfully");
                    await NavigationService.ClearPopupStackAsync("", "", true);

                    await NavigationService.NavigateAsync($"/{FunctionName.PinCode}");

                    isSuccess = true;
                    IsLoading = false;
                    return;
                }
                else
                {
                    switch (response.errcode)
                    {
                    case "EXCEPTION":
                        message = TranslateManagerHelper.Convert("error_contact_support");
                        break;

                    default:
                        message = !string.IsNullOrEmpty(response.msg) ? response.msg : TranslateManagerHelper.Convert("failed_pincode_change");
                        break;
                    }
                    isSuccess = false;
                }
            }
            else
            {
                // TODO : what message do we send ?
                isSuccess = false;
                message   = TranslateManagerHelper.Convert("error_contact_support");
            }

            parameters = new NavigationParameters
            {
                { Constants.PopupIsSucces, isSuccess },
                { Constants.PopupMessage, message },
                { Constants.PopupNextPage, FunctionName.Login }
            };


            await NavigationService.NavigateAsync(PopupName.SuccessfullPopup, parameters);


            IsLoading = false;
        }
Exemple #8
0
        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;
        }