src/app/modules/daily-processing/models/manifest-entry.model.ts
Properties |
|
constructor(entry?: IDesiredManifestEntry, service?: ProcessingService)
|
|||||||||
|
Parameters :
|
| achSummary$ |
achSummary$:
|
Type : Observable<IAchSummary>
|
Default value : this.achSummarySubject.asObservable()
|
| Private achSummarySubject |
achSummarySubject:
|
Default value : new BehaviorSubject<IAchSummary>(null)
|
| amount$ |
amount$:
|
Type : Observable<string>
|
Default value : this.amountSubject.asObservable()
|
| Private amountSubject |
amountSubject:
|
Default value : new BehaviorSubject<string>(null)
|
| batchUri |
batchUri:
|
Type : string
|
| Private creditAmountSubject |
creditAmountSubject:
|
Default value : new BehaviorSubject<number>(null)
|
| Private debitAmountSubject |
debitAmountSubject:
|
Default value : new BehaviorSubject<number>(null)
|
| definition$ |
definition$:
|
Type : Observable<IProcessingRunDefinition>
|
Default value : this.definitionSubject.asObservable()
|
| Private definitionSubject |
definitionSubject:
|
Default value : new BehaviorSubject<IProcessingRunDefinition>(null)
|
| exceptions$ |
exceptions$:
|
Type : Observable<string>
|
Default value : this.exceptionsSubject.asObservable()
|
| Private exceptionsSubject |
exceptionsSubject:
|
Default value : new BehaviorSubject<string>(null)
|
| fiCount$ |
fiCount$:
|
Type : Observable<number>
|
Default value : this.fiCountSubject.asObservable()
|
| Private fiCountSubject |
fiCountSubject:
|
Default value : new BehaviorSubject<number>(null)
|
| Private lockedSubject |
lockedSubject:
|
Default value : new BehaviorSubject<boolean>(null)
|
| processingExecutionName |
processingExecutionName:
|
Type : string
|
| processingRunDefinitionUrl |
processingRunDefinitionUrl:
|
Type : string
|
| processingRunInfo$ |
processingRunInfo$:
|
Type : Observable<IProcessingRunInfo>
|
Default value : this.processingRunInfoSubject.asObservable()
|
| Private processingRunInfoSubject |
processingRunInfoSubject:
|
Default value : new BehaviorSubject<IProcessingRunInfo>(null)
|
| processingRunSummary$ |
processingRunSummary$:
|
Type : Observable<IProcessingRunSummary>
|
Default value : this.processingRunSummarySubject.asObservable()
|
| Private processingRunSummarySubject |
processingRunSummarySubject:
|
Default value : new BehaviorSubject<IProcessingRunSummary>(null)
|
| status$ |
status$:
|
Type : Observable<string>
|
Default value : this.statusSubject.asObservable()
|
| Private statusSubject |
statusSubject:
|
Default value : new BehaviorSubject<string>(null)
|
| time$ |
time$:
|
Type : Observable<string>
|
Default value : this.timeSubject.asObservable()
|
| Private timeSubject |
timeSubject:
|
Default value : new BehaviorSubject<string>(null)
|
| wasLocked$ |
wasLocked$:
|
Type : Observable<boolean>
|
Default value : this.lockedSubject.asObservable()
|
import { IProcessingRunInfo } from './i-processing-run-info';
import { ProcessingService } from '../providers/processing.service';
import { IProcessingRunDefinition } from './i-processing-run-definition';
import { IDesiredManifestEntry } from './i-desired-manifest-entry';
import { BehaviorSubject, Observable } from 'rxjs';
import { filter } from 'rxjs/operators';
import { IProcessingRunSummary } from './i-processing-run-summary';
import { IAchSummary } from './i-ach-summary';
export class ManifestEntry {
batchUri: string;
processingExecutionName: string;
processingRunDefinitionUrl: string;
private timeSubject = new BehaviorSubject<string>(null);
private statusSubject = new BehaviorSubject<string>(null);
private fiCountSubject = new BehaviorSubject<number>(null);
private amountSubject = new BehaviorSubject<string>(null);
private lockedSubject = new BehaviorSubject<boolean>(null);
private exceptionsSubject = new BehaviorSubject<string>(null);
private definitionSubject = new BehaviorSubject<IProcessingRunDefinition>(null);
private processingRunSummarySubject = new BehaviorSubject<IProcessingRunSummary>(null);
private processingRunInfoSubject = new BehaviorSubject<IProcessingRunInfo>(null);
private achSummarySubject = new BehaviorSubject<IAchSummary>(null);
private creditAmountSubject = new BehaviorSubject<number>(null);
private debitAmountSubject = new BehaviorSubject<number>(null);
time$: Observable<string> = this.timeSubject.asObservable();
status$: Observable<string> = this.statusSubject.asObservable();
fiCount$: Observable<number> = this.fiCountSubject.asObservable();
amount$: Observable<string> = this.amountSubject.asObservable();
wasLocked$: Observable<boolean> = this.lockedSubject.asObservable();
exceptions$: Observable<string> = this.exceptionsSubject.asObservable();
definition$: Observable<IProcessingRunDefinition> = this.definitionSubject.asObservable();
processingRunSummary$: Observable<IProcessingRunSummary> = this.processingRunSummarySubject.asObservable();
processingRunInfo$: Observable<IProcessingRunInfo> = this.processingRunInfoSubject.asObservable();
achSummary$: Observable<IAchSummary> = this.achSummarySubject.asObservable();
constructor(entry?: IDesiredManifestEntry, service?: ProcessingService) {
if (!entry) {
return;
}
this.batchUri = entry.BatchUri;
this.processingExecutionName = entry.ProcessingExecutionName;
this.processingRunDefinitionUrl = entry.ProcessingRunDefinitionUrl;
this.timeSubject.next(entry.time);
this.definition$ = entry.definition$;
if (!this.definition$) {
return;
}
this.definition$.pipe(filter(def => def !== null && def !== undefined)).subscribe(definition => {
this.statusSubject.next(definition.Status);
const execution = definition.Executions[definition.Executions.length - 1];
this.lockedSubject.next(execution.WasLocked);
// todo get brian to add these fields to the definition file
this.amountSubject.next('0');
this.exceptionsSubject.next('0');
this.fiCountSubject.next(0);
// this.processingRunSummary$ = service.getProcessingRunSummary$(execution.ProcessingRunSummaryUri);
// this.processingRunInfo$ = service.getProcessingRunInfo$(execution.ProcessingRunInfoUri);
// this.achSummary$ = service.getAchSummary$(execution.AchSummaryUri);
});
}
}