| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import {Component} from '@angular/core';
- import {UserService} from "../services/user.service";
- import {ReservationService} from "../services/reservation.service";
- import {BoatService} from "../services/boat.service";
- @Component({
- selector: 'app-profile-page',
- templateUrl: './profile-page.component.html',
- styleUrls: ['./profile-page.component.css']
- })
- export class ProfilePageComponent {
- user_info: any;
- reservations_info: any[] = [];
- bills_info: any[] = [];
- // statusOrder = ['Pending', 'Confirmed', 'Active', 'Completed', 'Cancelled'];
- compareFn = (a: any, b: any): number => {
- // Sort by date
- const dateComparison = a.date.localeCompare(b.date);
- if (dateComparison !== 0) {
- return dateComparison;
- }
- // Sort by hour
- return a.startHour - b.startHour;
- };
- constructor(private userService: UserService,
- private reservationService: ReservationService,
- private boatService: BoatService) {
- this.userService.getUser(sessionStorage.getItem("username")!).subscribe(
- user => {
- this.user_info = user
- this.reservationService.findReservationsByUserId(user.id!).subscribe(
- reservations => {
- this.reservations_info = reservations.map(r => {
- r.date = new Date(r.date).toISOString().split("T")[0]
- return r;
- });
- this.boatService.getBoats().subscribe(
- boats => {
- console.log(boats)
- this.reservations_info.map(r => {
- r.boatId = boats.find(b => b.id == r.boatId)!.name
- })
- this.reservations_info.sort(this.compareFn)
- }
- )
- console.log(reservations[0])
- }
- )
- })
- }
- isANumber(value: any): boolean {
- return typeof value === 'number'
- }
- deleteAccount() {
- this.userService.deleteUser(this.user_info.id)
- this.logout()
- }
- sendEmail() {
- this.userService.pdf(this.user_info.username)
- }
- confirmReservation(id: number) {
- this.reservationService.confirmReservation(id)
- console.log(id)
- console.log(this.reservations_info)
- this.reservations_info.find(r => r.bill.id === id).bill.status = "Confirmed"
- }
- cancelReservation(id: number) {
- this.reservationService.cancelReservation(id)
- this.reservations_info.find(r => r.bill.id === id).bill.status = "Cancelled"
- }
- logout() {
- sessionStorage.clear()
- window.location.href = "http://localhost:1410/"
- }
- }
|