private void FillDownloadedLogItems() { DownloadedLogItems.Clear(); if (Directory.Exists(LogsFolderPath)) { Directory.EnumerateFiles(LogsFolderPath) .Select(p => new LogItemVM() { FullPath = p, Name = Path.GetFileName(p), IsSelected = true }) .ToList() .ForEach(vm => DownloadedLogItems.Add(vm)); } }
private async void ProcessSelectedLogs() { IsProcessing = true; _logAnalyser.Reset(); var selectedFiles = DownloadedLogItems.Where(vm => vm.IsSelected).Select(vm => vm.FullPath); await Task.WhenAll(selectedFiles.Select(file => _logAnalyser.ProcessFileAsync(file))); ProcessedLinesCount = _logAnalyser.ItemsCount; LogTimeStart = _logAnalyser.ParsedLogEntries.Min(le => le.DateOffset).ToLocalTime().DateTime; LogTimeEnd = _logAnalyser.ParsedLogEntries.Max(le => le.DateOffset).ToLocalTime().DateTime; IsProcessing = false; }