public async exec()

in src/bll/commands/showmychanges.ts [20:56]


    public async exec(args?: any[]): Promise<void> {
        Logger.logDebug("ShowMyChanges::exec start");
        let isSilent: boolean = false;
        if (args && args.length === 1 && args[0] === true) {
            isSilent = true;
        }

        const summaryPromise: Promise<Summary> = this.summaryDao.get(isSilent);
        if (!isSilent) {
            this.windowsProxy.showWithProgress("Receiving data from the server...", summaryPromise);
        }
        let summary: Summary;
        try {
            summary = await summaryPromise;
        } catch (err) {
            if (isSilent) {
                return;
            } else {
                throw err;
            }
        }

        if ((!summary.changes || summary.changes.length === 0) &&
            (!summary.personalChanges || summary.personalChanges.length === 0)) {
            Logger.logDebug(`ShowMyChanges::exec: personal changes were not found`);
            return;
        }

        const sortedChanges: Change[] = ShowMyChanges.getSortedChanges(summary);

        const classifiedChanges: Map<TimePeriodEnum, Change[]> = ShowMyChanges.classifyChanges(sortedChanges);
        const timePeriods = [new TimePeriod(TimePeriodEnum.Today, classifiedChanges.get(TimePeriodEnum.Today)),
            new TimePeriod(TimePeriodEnum.Yesterday, classifiedChanges.get(TimePeriodEnum.Yesterday)),
            new TimePeriod(TimePeriodEnum.Older, classifiedChanges.get(TimePeriodEnum.Older))];
        this.changesProvider.setContent(timePeriods);
        Logger.logDebug("ShowMyChanges::exec finished ");
    }