Files
WrenchBoardIonic2023/src/app/pages/redeem/redeem.page.ts
T
CHIEFSOFT\ameye f82dad34eb Recipient
2023-10-29 18:22:23 -04:00

310 lines
8.5 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import {AlertController, NavController} from "@ionic/angular";
import {Router} from "@angular/router";
import {SessionDataProviderService} from "../../store/session-data-provider.service";
import {WrenchService} from "../../services/wrench.service";
import {RecipientsService} from "../../store/recipients.service";
@Component({
selector: 'app-redeem',
templateUrl: './redeem.page.html',
styleUrls: ['./redeem.page.scss'],
})
export class RedeemPage implements OnInit {
/*
action_type
:
"AC_AD_WR_FUND"
amount
:
"93178934"
code
:
"NAIRA"
country
:
"NG"
currency
:
""
description
:
"Naira"
escrow
:
0
symbol
:
"#"
transfer_limit
:
"500000"
wallet_uid
:
"cc0f8743-3f18-4214-ba4b-781e5dda9cb8"
*/
walletData:any;
tabs = 'bank_redeem';
curr_balance:number =0;
currency_description : string='';
currency_code:string='';
wallet_uid:string='';
isDisabled:boolean=false;
constructor(
private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService,
private alertController: AlertController,
public recipientsService: RecipientsService
) {
this.walletData = this.router.getCurrentNavigation().extras.state;
if ( this.walletData != undefined ){
this.curr_balance = this.walletData.amount*0.01;
this.currency_code = this.walletData.code;
this.currency_description = this.walletData.description;
this.wallet_uid= this.walletData.wallet_uid;
}
else{
this.onBack();
}
}
myRecipientsData:any;
ngOnInit() {
this.myRecipientsData = this.recipientsService.getMyRecipientsData();
this.getPaymentHxData();
//this.getMyRecipientsData();
this.myRecipientsData = this.recipientsService.myRecipientsData;
}
onBack() {
this.navctr.back();
}
usrData: {
action:number, member_id: number,
uid: string,
sessionid: string,
limit:20, page:1,
offset: 0,
amount: number
};
paymentHxData:any;
paymentData: [];
getPaymentHxData(){
this.usrData = {action:11200, member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid, sessionid: this.sessionDataProviderService.session ,
limit:20, page:1,offset: 0, amount: 0}
this.wrenchService.getPaymentHx(this.usrData).subscribe(
paymentHxData => {
this.paymentHxData = paymentHxData;
console.log("PAH HX RETURN->", this.paymentHxData);
this.paymentData = this.paymentHxData.result_list;
// debugger;
console.log("BANNERS RETURN DATA->", this.paymentData);
// this.blogDataService.setBlogData(this.blogResult.blog_data);
}
);
}
/*
array (size=5)
'member_id' => int 1
'sessionid' => string '936571FD2E081B667930E7FFDF4D819938171883CA0CC951DC6C4FB184280EB3' (length=64)
'uid' => string '3119b744-42ad-4834-bb83-b737588754ca' (length=36)
'amount' => int 816
'action' => int 33025
/var/www/html/public/wrenchboard/wrenchboard_class.php:209:
array (size=4)
'processing_fee' => string '12008' (length=5)
'result' => string 'YES I GET TO BACK END' (length=21)
'total_amount' => string '12824' (length=5)
'internal_return' => int 12008
*/
amount:number =0;
fee:number = 0;
fee_display: string;
total:number = 0;
total_display: string;
recipient:string ='';
recipient_name:string ='';
feeReturn: any;
refreshFee(){
this.total = this.fee = 0;
console.log("Refresh Fee******************");
this.usrData = {action:33025,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
limit:20, page:1,offset: 0, amount: this.amount*100}
if (this.amount <= 0 ) return;
this.wrenchService.sendMoneyFee(this.usrData).subscribe(
feeReturn => {
this.feeReturn = feeReturn;
if ( this.feeReturn != null && this.feeReturn.processing_fee >= 0 ){
this.fee = this.feeReturn.processing_fee*0.01;
var num = new Number(this.fee);
this.fee_display = num.toFixed(2);
// parseFloat("123.456").toFixed(2);
this.total = this.feeReturn.total_amount*0.01;
var numt = new Number(this.total);
this.total_display= numt.toFixed(2);
}
}
);
// this.total = this.fee + this.amount;
}
curr_page:string= 'redeem_start'
recipient_uid:string = '';
contineRedeem(){
if (this.recipient == ''){
//alert("Select Recipient");
this.showAlert("Error","Select Recipient");
return;
}
if (this.amount <= 0 ) {
this.showAlert("Error","Enter valid Amount");
//alert("Enter Amount");
return;
}
if (this.curr_balance < this.total){
this.showAlert("Error","Enter Amount less than your wallet");
//alert("Enter Amount less than your wallet");
return;
}
const selRecipient = this.myRecipientsData.filter((item) => item.recipient_uid == this.recipient);
if ( selRecipient.length == 1 && this.amount > 0){
this.recipient_uid = selRecipient[0].recipient_uid;
this.recipient_name = selRecipient[0].recipient;
this.curr_page ='redeem_confirm';
}
}
checkSelectVal(){
if (this.recipient == 'ADD_NEW_RECIP'){
this.addNewBank();
this.recipient='';
}
}
async showAlert(mtitle: string, amessage: string) {
const alert = await this.alertController.create({
header: 'WrenchBoard',
subHeader: mtitle,
message: amessage,
buttons: ['OK'],
});
await alert.present();
}
/*
{
"recipient": "Olu Ameye 0690000034 Access Bank",
"account_no": "0690000034",
"recipient_id": "3",
"recipient_uid": "6bba49e2-dd92-403e-9459-927e37c852ef",
"country": "NG",
"added": "2017-03-22 11:55:25.133006",
"bank_name": "Access Bank",
"bank_uid": "a2c6c1a2-5cf2-4396-8630-50c47da15316"
}
array (size=9)
'member_id' => int 1
'sessionid' => string '936571FD2E081B667930E7FFDF4D819938171883CA0CC951DC6C4FB184280EB3' (length=64)
'uid' => string '3119b744-42ad-4834-bb83-b737588754ca' (length=36)
'wallet_uid' => string 'cc0f8743-3f18-4214-ba4b-781e5dda9cb8' (length=36)
'amount' => int 240800
'Fee' => float 2408
'recipient_uid' => string 'bfd7dc27-e2a6-4d52-957b-789fdb660eec' (length=36)
'mode' => int 100
'action' => int 33020
this.usrData = {action:11200, member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid, sessionid: this.sessionDataProviderService.session ,
limit:20, page:1,offset: 0, amount: 0}
*/
sendMoneyData: {
action:number,
member_id: number,
uid: string,
sessionid: string,
wallet_uid:string,
recipient_uid:string,
amount:number,
Fee:number,
mode: 100,
};
sendMoneyResult:any;
confirmation:string ='';
confirmRedeem(){
this.isDisabled = true;
this.sendMoneyData = {
action:33020,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session,
wallet_uid: this.wallet_uid,
recipient_uid: this.recipient_uid,
amount: this.amount*100,
Fee:this.fee*100,
mode: 100,
};
this.wrenchService.sendMoneyAction(this.sendMoneyData).subscribe(
sendMoneyResult => {
this.sendMoneyResult = sendMoneyResult;
console.log("sendMoneyResult RETURN->", this.sendMoneyResult);
this.confirmation = this.sendMoneyResult.confirmation;
this.curr_page ='redeem_result';
}
);
}
myRecipientsTotalData:any;
getMyRecipientsData(){
this.usrData = {action:11175,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
limit:20, page:1,
offset: 0, amount: 0}
this.wrenchService.recipientAccount(this.usrData).subscribe(
myRecipientsTotalData => {
this.myRecipientsTotalData = myRecipientsTotalData;
console.log("myRecipientsTotalData RETURN->", this.myRecipientsTotalData);
this.myRecipientsData = this.myRecipientsTotalData.result_list;
// debugger;
console.log("myRecipientsData RETURN DATA->", this.myRecipientsData);
}
);
}
addNewBank(){
this.router.navigate(['addbank']);
}
//recipientAccount
}