// import { RdLib } from './rdLib'; declare const CryptoJS; export class RdUser { private static userLocalStorageName = "mlbryU"; private _language: string = "tr"; public get language(): string { return this._language; } public set language(value: string) { // var copy = RdLib.objectOperations.deepCopy(this); // copy._language = value; this._language = value; this.updateLocalStorage(this); window.location.reload(); } private _loggedIn = false; public get loggedIn() { return this._loggedIn; } public set loggedIn(value) { this._loggedIn = value; this.updateLocalStorage(this); } private updateLocalStorage(user) { let encrypted = CryptoJS.AES.encrypt(JSON.stringify(user), "mulberryFreamwork"); localStorage.setItem(RdUser.userLocalStorageName, encrypted); } constructor() { let data = localStorage.getItem(RdUser.userLocalStorageName); if (data) { var userStr = CryptoJS.AES.decrypt(data, "mulberryFreamwork").toString(CryptoJS.enc.Utf8); } if (userStr) { try { var obj = JSON.parse(userStr); for (var prop in obj) this[prop] = obj[prop]; // console.log("onRdUserCtor: ", this); } catch (error) { this.updateLocalStorage(this); } } } }