public bool AddMoneyToWallet(PaymentWalletHistory paymentWallet)
 {
     try
     {
         return(_packageRepository.depositeMoneyToWallet(paymentWallet));
     }
     catch (Exception ex)
     {
         LogError(ex);
         return(false);
     }
 }
        public static ResponseModel RequesterMakePayment(PaymentWalletModal paymentWalletModal)
        {
            var paymentResponse = MakePayment(paymentWalletModal);

            if (paymentResponse == null)
            {
                return(new ResponseModel(true, "Some technical issue is occur. Please try after some time"));
            }


            if (paymentResponse.Ack.Value == AckCodeType.SUCCESS || paymentResponse.Ack.Value == AckCodeType.SUCCESSWITHWARNING)
            {
                var packageService = new PackageService();

                var paymentWallet = new PaymentWalletHistory()
                {
                    Deposite      = Convert.ToDecimal(paymentWalletModal.Amount),
                    InsertedDate  = DateTime.Now,
                    UserId        = SessionWrapper.LoggedUser.UserId,
                    TransactionId = paymentResponse.TransactionID
                };

                var response = packageService.AddMoneyToWallet(paymentWallet);

                return(new ResponseModel(false, string.Empty));
            }

            else if (paymentResponse.Ack.Value == AckCodeType.FAILURE)
            {
                var errorType = paymentResponse.Errors;
                if (errorType != null)
                {
                    string errorMessage = errorType[0].LongMessage ?? errorType[0].ShortMessage ?? "Please try again some time!";;

                    return(new ResponseModel(true, errorMessage));
                }
                else
                {
                    return(new ResponseModel(true, "Please try again later?"));
                }
            }
            return(new ResponseModel(true, "Some technical issue is occur. Please try after some time"));
        }
        public static ResponseModel AddMoneyToUsersWallet(int userId, decimal amount, string note)
        {
            try {
                var packageService = new PackageService();

                var paymentWallet = new PaymentWalletHistory()
                {
                    Deposite      = Convert.ToDecimal(amount),
                    InsertedDate  = DateTime.Now,
                    UserId        = userId,
                    TransactionId = note
                };

                //Update refund details in WalletBalance & PaymentWalletHistory table
                var response = packageService.AddMoneyToWallet(paymentWallet);
                return(new ResponseModel(false, string.Empty));
            } catch (Exception ex) {
                return(new ResponseModel(true, ex.Message));
            }
        }