import { Injectable } from '@angular/core'; import { AppConf } from '../app-conf/app-conf'; import { AuthService } from '../auth/auth'; import { AppUtil } from '../app-util/app-util'; @Injectable() export class LoginSvc { constructor(public authService: AuthService, public appConf: AppConf, public appUtil: AppUtil, /*public navCtrl: NavController*/) { console.log('Hello LoginProvider Provider'); } /* self.loginFailed = false; */ /* self.error = null; */ public checkLogin() { let promise = new Promise((resolve, reject) => { if (this.appUtil.isNull(this.appConf.getUserName()) || this.appUtil.isNull(this.appConf.getUserToken())) { reject({ "Error": "Not able to find the Token" }); reject({}); } else { this.authService.checkTokenLogin().then((res) => { this.onSucess(res).then((res) => { resolve(res['Success']); }, (rej) => { reject(rej); }); }, (res) => { this.onFailer(res).then((res) => { reject(res); }, (rej) => { reject(rej); }); }); } }); return promise; } public logout() { this.appConf.removeLoginParam(); // AppConf.removeLoginParam(); localStorage.clear(); // to clear history and cache } public onSucess(response) { let error = response.Error; let promise = new Promise((resolve, reject) => { if (error) { reject(response); } else { if (response.RowCount > 0) { if (response.ADLoginResponse.Token) { this.appConf.setUserToken(response.ADLoginResponse.Token); this.appConf.setUserID(response.DataSet.DataRow.field.val); } resolve(response); } else { reject({ "Error": "No matches found. Please enter valid data!!" }); } } }); return promise; } public onFailer(response) { let error = response.Error; let promise = new Promise((resolve, reject) => { if (error) { resolve(response); } else { reject({ "Error": "Login failed.. Please contact Administrator" }); } }); return promise; } public doLogin(param) { let loginSvcInstance = this; this.appConf.setUserName(param.username); let promise = new Promise((resolve, reject) => { this.authService.login(param).then((res) => { loginSvcInstance.onSucess(res).then((res) => { resolve(res); }, (rej) => { reject(rej); }); }, (res) => { loginSvcInstance.onFailer(res).then((res) => { reject(res); }, (rej) => { reject(rej); }); }); }); return promise; } }