2020-10-01 15:21:22 +00:00
|
|
|
import { Injectable } from '@angular/core';
|
2020-10-10 03:15:05 +00:00
|
|
|
import { ActivatedRouteSnapshot, Resolve } from '@angular/router';
|
2020-10-01 15:21:22 +00:00
|
|
|
import { Observable } from 'rxjs/internal/Observable';
|
2020-10-10 03:15:05 +00:00
|
|
|
|
2020-10-01 15:21:22 +00:00
|
|
|
import { Voucher } from '../core/voucher';
|
|
|
|
import { VoucherService } from '../core/voucher.service';
|
2018-05-25 13:49:00 +00:00
|
|
|
|
|
|
|
@Injectable({
|
2020-10-01 15:21:22 +00:00
|
|
|
providedIn: 'root',
|
2018-05-25 13:49:00 +00:00
|
|
|
})
|
|
|
|
export class ReceiptResolver implements Resolve<Voucher> {
|
2020-10-01 15:21:22 +00:00
|
|
|
constructor(private ser: VoucherService) {}
|
2018-05-25 13:49:00 +00:00
|
|
|
|
2020-10-10 03:15:05 +00:00
|
|
|
resolve(route: ActivatedRouteSnapshot): Observable<Voucher> {
|
2018-05-25 13:49:00 +00:00
|
|
|
const id = route.paramMap.get('id');
|
|
|
|
const account = route.queryParamMap.get('a') || null;
|
|
|
|
if (id !== null) {
|
2020-05-17 10:08:13 +00:00
|
|
|
return this.ser.get(id, 'Receipt');
|
2020-10-10 03:15:05 +00:00
|
|
|
}
|
|
|
|
if (account !== null) {
|
2018-05-25 13:49:00 +00:00
|
|
|
return this.ser.getOfType('Receipt', account);
|
|
|
|
}
|
2020-10-10 03:15:05 +00:00
|
|
|
return this.ser.getOfType('Receipt');
|
2018-05-25 13:49:00 +00:00
|
|
|
}
|
|
|
|
}
|