import { Component, Inject, OnInit } from '@angular/core'; import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @Component({ selector: 'app-bill-number', templateUrl: './bill-number.component.html', styleUrls: ['./bill-number.component.css'], }) export class BillNumberComponent implements OnInit { form: UntypedFormGroup; constructor(public dialogRef: MatDialogRef, private fb: UntypedFormBuilder) { // Create form this.form = this.fb.group({ billType: '', billNumber: '', }); } ngOnInit() { this.form.setValue({ billType: '1', billNumber: '', }); } accept(): void { const formValue = this.form.value; const billNumber = parseInt(formValue.billNumber.replace('-', ''), 10); if (isNaN(billNumber)) { this.dialogRef.close(undefined); } else { let billId: string; switch (formValue.billType) { case '0': // KOT billId = 'K-' + billNumber; break; case '1': // Regular Bill billId = Math.floor(billNumber / 10000) + '-' + (billNumber % 10000); break; case '4': // Staff billId = 'ST-' + billNumber; break; case '2': // No Charge billId = 'NC-' + billNumber; break; case '8': // Void billId = 'V-' + billNumber; break; default: throw new Error('Unknown Bill Type'); } this.dialogRef.close(billId); } } }