public LogStatisticsPresenter( LogStatisticsUi ui, MethodRunner runner) : base(ui) { this.ui = ui; this.runner = runner; }
public virtual void Display( LogStatisticsUi ui, LogStatistics stats, bool reset) { var r = this.runner; r?.Run <SettingsHolder, Labels>( (settings, labels) => { var defaultInfo = reset ? string.Empty : labels.NoEntriesInRange; var tf = settings.TimestampFormat; var total = reset ? defaultInfo : stats.TotalEntryCount.ToString(); var oldest = stats.OldestTimestamp; var newest = stats.NewestTimestamp; var earliest = stats.EarliestTimestamp; var latest = stats.LatestTimestamp; var oldestString = oldest == default ? defaultInfo : oldest.ToString(tf); var newestString = newest == default ? defaultInfo : newest.ToString(tf); var earliestString = earliest == default ? defaultInfo : earliest.ToString(tf); var latestString = latest == default ? defaultInfo : latest.ToString(tf); var avgPerDay = reset ? string.Empty : Math.Round(stats.AvgEntriesPerDay, 4) .ToString(CultureInfo.CurrentUICulture); r.Run <UiReaderWriter>(uiRW => { uiRW.WriteSync( ui, () => { ui.TotalEntryCount = total; ui.OldestTimestamp = oldestString; ui.NewestTimestamp = newestString; ui.EarliestTimestamp = earliestString; ui.LatestTimestamp = latestString; ui.AvgEntriesPerDay = avgPerDay; }); }); }, stats.LogDependencyName); }
public virtual void Display( LogStatisticsUi ui, string name, bool reset) { var r = this.runner; r?.Run <LogStatistics>(stats => { this.Display(ui, stats, reset); }, name); }
public SetupLogCommand( LogUi ui, ShellUi shell, LogStatisticsUi statsUi, SettingsHolder settings, MethodWeb web) { this.ui = ui; this.shell = shell; settings = settings ?? new SettingsHolder(); settings.StatisticsEnabled = truth; this.settings = settings; this.statsUi = statsUi; this.web = web; }
public virtual void Handle( LogStatisticsUi ui, string name) { var r = this.runner; r?.Run <LogStatistics>(stats => { r.Run <FilterSetter>( setter => { setter.Set( ui, name); }); stats.ComputeOverall(); r.Run <UiReaderWriter, Labels>( (uiRW, labels) => { uiRW.Write( ui, () => { if (ui == null) { return; } ui.Title = labels.Overall; }); }); r.Run <StatsDisplayer>(sd => { const bool falsity = false; sd.Display( ui, stats, falsity); }); }, name); }
public virtual void Set( LogStatisticsUi ui, string name) { var r = this.runner; r?.Run <LogStatistics, UiReaderWriter>( (stats, uiRW) => { stats.FilterContent = uiRW.Read( ui, () => ui?.FilterContent); stats.FilterType = uiRW.Read( ui, () => ui?.FilterType); }, name); }
public virtual void Handle( LogStatisticsUi ui, Gen <LogUi> readLogUi, string name) { var r = this.runner; r?.Run <Log.SettingsHolder>(settings => { if (settings.ResetOnStart) { r.Run <DateResetter>(dr => { dr.Reset(ui, name); }); } }, name); r?.Run <UiReaderWriter>(uiRW => { var contentFilter = uiRW.Read( ui, () => ui?.FilterContent); if (string.IsNullOrEmpty(contentFilter)) { var logUi = readLogUi?.Invoke(); if (logUi == null) { return; } contentFilter = uiRW.Read( logUi, () => logUi?.FilterContent); uiRW.WriteSync( ui, () => { ui.FilterContent = contentFilter; }); } }); }
public virtual void Reset( LogStatisticsUi ui, string name) { var r = this.runner; r?.Run <LogStatistics, UiReaderWriter>( (stats, uiRW) => { var today = DateTime.Today; r.Run <Framework.Log.TimeProvider>(provider => { today = provider.Now().Date; }); const byte six = 6; var lastWeek = today.Subtract( TimeSpan.FromDays(six)); uiRW.WriteSync( ui, () => { if (ui == null) { return; } ui.StartDate = lastWeek; ui.EndDate = today; }); stats.Reset(); r.Run <StatsDisplayer>(displayer => { const bool truth = true; displayer.Display( ui, stats, truth); }); }, name); }
public virtual void Handle( LogStatisticsUi ui, string name) { var r = this.runner; r?.Run <DateResetter>(dr => { dr.Reset(ui, name); }); if (ui is LogStatisticsUiV2 v2) { r?.Run <LabelApplier>(applier => { applier.Apply(v2); }); } }
public virtual void Handle( LogStatisticsUi ui) { var r = this.runner; r?.Run <UiReaderWriter>(uiRW => { uiRW.Write( ui, () => { if (ui == null) { return; } ui.FilterType = null; }); }); }
public virtual void Handle( LogStatisticsUi ui, string name) { var r = this.runner; r?.Run <UiReaderWriter>(uiRW => { r.Run <FilterSetter>(fs => { fs.Set(ui, name); }); r.Run < LogStatistics, SettingsHolder, Labels>( (stats, settings, labels) => { var startNullable = uiRW.Read( ui, () => ui?.StartDate); var endNullable = uiRW.Read( ui, () => ui?.EndDate); if (startNullable == null || endNullable == null) { return; } var start = startNullable.Value; var end = endNullable.Value; stats.ComputeRange( start, end); var df = settings.DateFormat; var typeInfo = labels.Range( start, end, df); uiRW.Write( ui, () => { if (ui == null) { return; } ui.Title = typeInfo; }); r.Run <StatsDisplayer>(sd => { sd.Display(ui, stats, false); }); }, name, name); }); }