public TimeInfoViewModel( [NotNull] ILog logger, [NotNull] IActivityProcessor activityProcessor, [NotNull] IReportSerializer reportSerializer, [NotNull] IStatusChangeEventRepository statusChangeEventRepository) { _statusChangeEventRepository = statusChangeEventRepository ?? throw new ArgumentNullException(nameof(statusChangeEventRepository)); activityProcessor = activityProcessor ?? throw new ArgumentNullException(nameof(activityProcessor)); ToggleCommand = new CorrelationCommand <ActivityReportItemViewModel>(Toggle); _report = activityProcessor.GenerateReport(DateTime.Now); _timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(1) }; _timer.Start(); _report = activityProcessor.GenerateReport(DateTime.Now); ActivityReportItems.Clear(); foreach (var viewModelItem in _report.Items.Select(item => new ActivityReportItemViewModel(item))) { ActivityReportItems.Add(viewModelItem); } SetCurrentTimeInfo(); _timer.Tick += Timer_Tick; }
private void SaveReport() { _logger.Trace("Saving report..."); var report = _activityProcessor.GenerateReport(DateTime.Now); var reportPath = _reportSerializer.SerializeReport(report); Process.Start(reportPath); _logger.Info("Report is saved"); }
public Task Execute(IJobExecutionContext context) { _logger.Trace("Executing..."); var report = _activityProcessor.GenerateReport(DateTime.Now); _reportSerializer.SerializeReport(report); _logger.Info("Executed"); return(Task.CompletedTask); }