blob: 7ddd1a6a3248d11b8c6c4821ddc6cec2c69483e6 [file] [log] [blame]
/**
******************************************************************************
* Copyright © 2017-2018 PTA GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
*
* http://www.eclipse.org/legal/epl-v10.html
*
******************************************************************************
*/
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);
});
this.userService.getUserSettings()
.subscribe(res => {
this.sessionContext.setUsersSettings(res)
} ,
error => {
console.log(error);
});
}
}