| import { Injectable, EventEmitter } from '@angular/core'; |
| import { MessageService, MessageDefines } from '../message.service'; |
| import { BaseDataService } from '../base-data.service'; |
| import { UserService } from '../user.service'; |
| import { SessionContext } from '../../common/session-context'; |
| |
| |
| @Injectable() |
| export class BaseDataLoaderService { |
| |
| constructor( |
| private baseDataService: BaseDataService, |
| private userService: UserService, |
| private msgService: MessageService, |
| private sessionContext: SessionContext |
| ) { |
| this.msgService.loginLogoff$.subscribe(msg => this.onLoginLogoff(msg)); |
| } |
| |
| onLoginLogoff(msg: string): void { |
| this.sessionContext.initBannerMessage(); |
| if (msg === MessageDefines.MSG_LOG_IN_SUCCEEDED) { |
| this.loadBaseData(); |
| } |
| } |
| |
| loadBaseData() { |
| this.baseDataService.getBranches() |
| .subscribe(res => this.sessionContext.setBranches(res), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getStatuses() |
| .subscribe(res => this.sessionContext.setStatuses(res), |
| error => { |
| console.log(error); |
| }); |
| |
| this.baseDataService.getGridTerritories() |
| .subscribe(res => this.sessionContext.setGridTerritories(res), |
| error => { |
| console.log(error); |
| }); |
| |
| |
| this.userService.getUsers() |
| .subscribe(res => this.sessionContext.setAllUsers(res), |
| error => { |
| console.log(error); |
| }); |
| } |
| |
| } |