private void RefreshTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            var lCachedState = Interlocked.Increment(ref this.mRefreshState);

            var lBaseDirectoryPath  = this.BaseDirectoryPath;
            var lStartDateInclusive = this.StartDateInclusive;
            var lEndDateExclusive   = this.EndDateInclusive.AddDays(1);

            if (!Directory.Exists(lBaseDirectoryPath))
            {
                return;
            }

            Properties.Settings.Default.LastUsedBaseDirectoryPath = lBaseDirectoryPath;
            Properties.Settings.Default.Save();

            this.RenderedHtml = string.Format("<b>{0}</b>", "Calculating Results...");

            var lRepository        = new ActivityRepository(lBaseDirectoryPath);
            var lWeeklyActivities  = lRepository.EnumerateActivities(lStartDateInclusive, lEndDateExclusive);
            var lActivitySummaries = lWeeklyActivities.Select(x => new ActivitySummary(x)).ToList();

            var lHtmlActivitySummary = new HtmlActivitySummary(lActivitySummaries.AsReadOnly());

            if (lCachedState == this.mRefreshState)
            {
                this.RenderedHtml  = lHtmlActivitySummary.ToHtmlString();
                this.mRenderedBody = lHtmlActivitySummary.ToHtmlBodyString();
            }
        }
        private void RefreshTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            var lCachedState = Interlocked.Increment(ref this.mRefreshState);

            var lBaseDirectoryPath = this.BaseDirectoryPath;
            var lStartDateInclusive = this.StartDateInclusive;
            var lEndDateExclusive = this.EndDateInclusive.AddDays(1);

            if (!Directory.Exists(lBaseDirectoryPath)) return;

            Properties.Settings.Default.LastUsedBaseDirectoryPath = lBaseDirectoryPath;
            Properties.Settings.Default.Save();

            this.RenderedHtml = string.Format("<b>{0}</b>", "Calculating Results...");

            var lRepository = new ActivityRepository(lBaseDirectoryPath);
            var lWeeklyActivities = lRepository.EnumerateActivities(lStartDateInclusive, lEndDateExclusive);
            var lActivitySummaries = lWeeklyActivities.Select(x => new ActivitySummary(x)).ToList();

            var lHtmlActivitySummary = new HtmlActivitySummary(lActivitySummaries.AsReadOnly());

            if (lCachedState == this.mRefreshState)
            {
                this.RenderedHtml = lHtmlActivitySummary.ToHtmlString();
                this.mRenderedBody = lHtmlActivitySummary.ToHtmlBodyString();
            }
        }