You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemmhmg/Mohem/src/app/hmg-common/ui/payment/payment.component.ts

95 lines
2.4 KiB
TypeScript

import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service';
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
import { SharedDataService } from 'src/app/hmg-common/services/shared-data-service/shared-data.service';
import { PaymentService } from './service/payment.service';
import { PayRequestInfo } from './service/models/pay-request.info';
import { PaymentInfoModel } from './service/models/payment-info.model';
import { PaymentValidationResponse } from './service/models/payment-validation.response';
@Component({
selector: 'payment',
templateUrl: './payment.component.html',
styleUrls: ['./payment.component.scss'],
})
export class PaymentComponent implements OnInit {
public methods = [
{
icon: 'visa',
title: 'payment,visa',
method: PaymentService.VISA
},
{
icon: 'sadad',
title: 'payment,sadad',
method: PaymentService.SADAD
},
{
icon: 'mada',
title: 'payment,mada',
method: PaymentService.MADA
},
{
icon: 'mastercard',
title: 'payment,mastercard',
method: PaymentService.MASTERCARD
},
{
icon: 'instalment',
title: 'payment,instalment',
method: PaymentService.INSTALMENT
}
];
@Output() success = new EventEmitter();
@Output() faild = new EventEmitter();
@Output() cancel = new EventEmitter();
public orderDescription: string;
public amount: number;
private requestInfo: PayRequestInfo;
constructor(
public ts: TranslatorService,
public cs: CommonService,
public paymentService: PaymentService,
public sharedData: SharedDataService
) { }
ngOnInit() {
}
@Input() set payRequestInfo(payRequestInfo: PayRequestInfo) {
this.requestInfo = payRequestInfo;
this.amount = payRequestInfo.amount;
this.orderDescription = payRequestInfo.orderDescription;
}
get payRequestInfo(): PayRequestInfo {
return this.requestInfo;
}
public openPayment(method: string) {
/*this.paymentService.openPayment(this.amount, method, this.orderDescription).subscribe((success) => {
if (success) {
this.success.emit(this.requestInfo.data);
} else {
this.faild.emit();
}
});
*/
}
public onComplete(info: PaymentInfoModel) {
}
public onCancel() {
this.cancel.emit();
}
}