diff --git a/src/app/core/models/fees/security-deposit.ts b/src/app/core/models/fees/security-deposit.ts index 1ad42b6..d75213b 100644 --- a/src/app/core/models/fees/security-deposit.ts +++ b/src/app/core/models/fees/security-deposit.ts @@ -5,7 +5,7 @@ export interface SecurityDeposit { specialCommodity: string; specialCountry: string; rate: number; - rateInPercentage: number; + rateType: string; effectiveDate: Date; spid: number; dateCreated?: Date | null; diff --git a/src/app/core/services/fees/security-deposit.service.ts b/src/app/core/services/fees/security-deposit.service.ts index 93ef84d..f74f3e8 100644 --- a/src/app/core/services/fees/security-deposit.service.ts +++ b/src/app/core/services/fees/security-deposit.service.ts @@ -30,7 +30,7 @@ export class SecurityDepositService { specialCommodity: item.SPCLCOMMODITY, specialCountry: item.SPCLCOUNTRY, rate: item.RATE, - rateInPercentage: item.RATE_PCT, + rateType: item.RATE_PCT, effectiveDate: item.EFFDATE, spid: item.SPID, createdBy: item.CREATEDBY || null, @@ -49,7 +49,7 @@ export class SecurityDepositService { P_SPCLCOMMODITY: data.specialCommodity, P_SPCLCOUNTRY: data.specialCountry, P_RATE: data.rate, - P_PCT_VALUE: data.rateInPercentage.toString(), + P_PCT_VALUE: data.rateType, P_USERID: this.userService.getUser() } @@ -62,7 +62,7 @@ export class SecurityDepositService { P_BONDRATESETUPID: id, P_EFFDATE: this.commonService.formatUSDate(data.effectiveDate), P_RATE: data.rate, - P_PCT_VALUE: data.rateInPercentage.toString(), + P_PCT_VALUE: data.rateType, P_USERID: this.userService.getUser() } diff --git a/src/app/core/services/service-provider/contact.service.ts b/src/app/core/services/service-provider/contact.service.ts index 2dc1331..f5f24b5 100644 --- a/src/app/core/services/service-provider/contact.service.ts +++ b/src/app/core/services/service-provider/contact.service.ts @@ -98,4 +98,7 @@ export class ContactService { return this.http.post(`${this.apiUrl}/${this.apiDb}/CreateSPLogins`, contact); } + setDefaultContact(spContactId: string): Observable { + return this.http.patch(`${this.apiUrl}/${this.apiDb}/SetSPDefaultContact/${spContactId}`, null); + } } diff --git a/src/app/fees/security-deposit/security-deposit.component.html b/src/app/fees/security-deposit/security-deposit.component.html index 2308dea..2a9d09d 100644 --- a/src/app/fees/security-deposit/security-deposit.component.html +++ b/src/app/fees/security-deposit/security-deposit.component.html @@ -44,14 +44,14 @@ - Rate - {{ deposit.rate | currency }} + Rate/Value + {{ deposit.rate }} - - - Rate In Percentage - {{ deposit.rateInPercentage/100 | percent }} + + + Rate In % or $ + {{ deposit.rateType }} @@ -142,9 +142,9 @@
- Rate + Rate / Value - + Rate is required @@ -154,14 +154,10 @@ - Rate % - - - - Rate % is required - - - Rate % must be positive + Rate in % or $ + + + Rate in % or $ is required diff --git a/src/app/fees/security-deposit/security-deposit.component.ts b/src/app/fees/security-deposit/security-deposit.component.ts index c9d176d..bf8642f 100644 --- a/src/app/fees/security-deposit/security-deposit.component.ts +++ b/src/app/fees/security-deposit/security-deposit.component.ts @@ -28,10 +28,10 @@ export class SecurityDepositComponent implements OnInit { set paginator(value: MatPaginator) { this.dataSource.paginator = value; } - + @ViewChild(MatSort) sort!: MatSort; - displayedColumns: string[] = ['holderType', 'uscibMember', 'specialCommodity', 'specialCountry', 'rate', 'rateInPercentage', 'effectiveDate', 'actions']; + displayedColumns: string[] = ['holderType', 'uscibMember', 'specialCommodity', 'specialCountry', 'rate', 'rateType', 'effectiveDate', 'actions']; dataSource = new MatTableDataSource(); depositForm: FormGroup; isEditing = false; @@ -73,7 +73,7 @@ export class SecurityDepositComponent implements OnInit { specialCommodity: [''], specialCountry: [''], rate: [0, [Validators.required, Validators.min(0)]], - rateInPercentage: [0, [Validators.required, Validators.min(0)]], + rateType: ['', [Validators.required]], effectiveDate: ['', Validators.required] }); } @@ -159,7 +159,7 @@ export class SecurityDepositComponent implements OnInit { uscibMember: 'N', specialCountry: '', }); - this.depositForm.patchValue({ rate: 0, rateInPercentage: 0 }); + this.depositForm.patchValue({ rate: 0 }); this.depositForm.get('holderType')?.enable(); this.depositForm.get('uscibMember')?.enable(); @@ -177,7 +177,7 @@ export class SecurityDepositComponent implements OnInit { specialCommodity: deposit.specialCommodity, specialCountry: deposit.specialCountry, rate: deposit.rate, - rateInPercentage: deposit.rateInPercentage, + rateType: deposit.rateType, effectiveDate: deposit.effectiveDate }); diff --git a/src/app/service-provider/contacts/contacts.component.html b/src/app/service-provider/contacts/contacts.component.html index a60d05b..0228fe4 100644 --- a/src/app/service-provider/contacts/contacts.component.html +++ b/src/app/service-provider/contacts/contacts.component.html @@ -25,6 +25,12 @@ {{ contact.firstName }} + + + Middle Initial + {{ contact.middleInitial }} + + Last Name @@ -43,6 +49,18 @@ {{ contact.phone | phone }} + + + Mobile + {{ contact.mobile }} + + + + + Fax + {{ contact.fax }} + + Email @@ -76,10 +94,11 @@ matTooltip="Delete"> delete - + diff --git a/src/app/service-provider/contacts/contacts.component.ts b/src/app/service-provider/contacts/contacts.component.ts index c1d5eaf..dadf558 100644 --- a/src/app/service-provider/contacts/contacts.component.ts +++ b/src/app/service-provider/contacts/contacts.component.ts @@ -32,7 +32,7 @@ export class ContactsComponent implements OnInit { @ViewChild(MatSort) sort!: MatSort; - displayedColumns: string[] = ['firstName', 'lastName', 'title', 'phone', 'email', 'defaultContact', 'actions']; + displayedColumns: string[] = ['firstName', 'middleInitial', 'lastName', 'title', 'phone', 'mobile', 'fax', 'email', 'defaultContact', 'actions']; dataSource = new MatTableDataSource(); contactForm: FormGroup; isEditing = false; @@ -253,16 +253,32 @@ export class ContactsComponent implements OnInit { }); } - // setDefaultContact(contactId: string): void { - // this.contactService.setDefaultServiceProviderContact(this.spid, contactId).subscribe({ - // next: () => { - // this.notificationService.showSuccess('Default contact updated successfully'); - // this.loadContacts(); - // }, - // error: (error) => { - // this.notificationService.showError('Failed to set default contact'); - // console.error('Error setting default contact:', error); - // } - // }); - // } + setDefaultContact(contactId: string): void { + + const dialogRef = this.dialog.open(ConfirmDialogComponent, { + width: '450px', + data: { + title: 'Confirm Default Contact', + message: 'Are you sure you want to set this contact as default contact?', + confirmText: 'Yes', + cancelText: 'Cancel' + } + }); + + dialogRef.afterClosed().subscribe(result => { + if (result) { + this.contactService.setDefaultContact(contactId).subscribe({ + next: () => { + this.notificationService.showSuccess('Default contact updated successfully'); + this.loadContacts(); + }, + error: (error) => { + let errorMessage = this.errorHandler.handleApiError(error, 'Failed to set default contact'); + this.notificationService.showError(errorMessage); + console.error('Error setting default contact:', error); + } + }); + } + }); + } } \ No newline at end of file