--- /dev/null
+import {Injectable} from '@angular/core';
+import {Observable, from} from 'rxjs';
+import {empty, throwError} from 'rxjs';
+import {map} from 'rxjs/operators';
+import {PcrudService} from '@eg/core/pcrud.service';
+import {IdlService, IdlObject} from '@eg/core/idl.service';
+import {NetService} from '@eg/core/net.service';
+
+export class ProviderSummary {
+}
+
+export class ProviderRecord {
+ id: number;
+ record: IdlObject;
+
+ constructor(record: IdlObject) {
+ this.id = Number(record.id());
+ this.record = record;
+ }
+}
+
+@Injectable()
+export class ProviderRecordService {
+
+ private currentProvider: ProviderRecord;
+
+ constructor(
+ private idl: IdlService,
+ private net: NetService,
+ private pcrud: PcrudService
+ ) {
+ this.currentProvider = null;
+ }
+
+ getProviderRecord(id: number): Observable<ProviderRecord> {
+ console.debug('fetching provider');
+ return this.pcrud.search('acqpro', { id: id },
+ {
+ flesh: 1,
+ flesh_fields: { acqpro: ['contacts', 'addresses', 'provider_notes'] }
+ },
+ {}
+ ).pipe(map(acqpro => {
+ const provider = new ProviderRecord(acqpro);
+ this.currentProvider = provider;
+ return provider;
+ }));
+ }
+
+ current(): IdlObject {
+ return this.currentProvider ? this.currentProvider.record : null;
+ }
+
+ fetch(id: number) {
+ this.getProviderRecord(id);
+ }
+
+}