Files
doneit-web/src/app/store/eventoaprovacao-store.service.ts
T
Peter Maquiran 6ff883c982 message
2023-02-03 19:37:47 +01:00

102 lines
2.3 KiB
TypeScript

import { Injectable } from '@angular/core';
import { localstoreService } from './localstore.service'
import { AES, enc, SHA1 } from 'crypto-js'
import { isArray } from 'ionic-angular/umd/util/util';
@Injectable({
providedIn: 'root'
})
export class EventoaprovacaoStoreService {
// main data
private _listPr: any[] = []
private _listMd: any[] = []
// local storage keyName
private keyNamemd: string;
private keyNamepr: string;
private _count = 0
private _countPr = 0
private _countMd = 0
constructor() {
this.keyNamemd = (SHA1("EventoaprovacaoStoreService"+"md")).toString()
this.keyNamepr = (SHA1("EventoaprovacaoStoreService"+"pr")).toString()
setTimeout(()=>{
let restoreMd = localstoreService.get(this.keyNamemd, [])
let restorePr = localstoreService.get(this.keyNamepr, [])
this._listPr = restorePr.listPr || []
this._listMd = restoreMd.lisMd || []
this._countMd = parseInt(restoreMd.countListMd) || 0
this._countPr = parseInt(restorePr.countListPr) || 0
this._count = (this._countMd + this._countPr) || 0
}, 10)
}
get listpr() { return this._listPr || [] }
get listmd() { return this._listMd || [] }
get count() { return this._count || 0 }
set count(value: number) {
this._count = value
}
get countPr() { return this._countPr || 0 }
set countPr (value: number) {
this._countPr = value
}
get countMd() { return this._countMd || 0 }
set countMd (value) {
this._countMd = value
}
resetpr(eventsList: any) {
if(Array.isArray(eventsList)) {
this._listPr = eventsList
this.countPr = this._listPr.length
this.count = this.countPr + this.countMd
this.savePr()
}
}
resetmd(eventsList: any) {
if(Array.isArray(eventsList)) {
this._listMd = eventsList
this.countMd = this._listMd.length
this.count = this.countPr + this.countMd
this.saveMd()
}
}
private saveMd() {
setTimeout(()=>{
localstoreService.set(this.keyNamemd,{
lisMd: this._listMd,
countListMd: this._countMd
})
}, 10)
}
private savePr() {
setTimeout(()=>{
localstoreService.set(this.keyNamepr,{
listPr: this._listPr,
countListPr: this._countPr
})
}, 10)
}
}
export const EventoAprovacaoStore = new EventoaprovacaoStoreService()