Exemplo n.º 1
0
        private async void Run_Report(object sender, RoutedEventArgs e)
        {
            if (textBox.Text == string.Empty)
            {
                return;
            }

            loadingText.Visibility = Visibility.Visible;

            DateTime start, end;
            var      startTimeString = startDate.Text + " " + startTime.Text;
            var      endTimeString   = endDate.Text + " " + endTime.Text;

            var startTimeSet = DateTime.TryParse(startTimeString, out start);
            var endTimeSet   = DateTime.TryParse(endTimeString, out end);

            var reportResults = await logParser.ParseLogFile(
                textBox.Text,
                (msg) => UpdateLoadingText(msg),
                startTimeSet?(DateTime?)start : null,
                endTimeSet?(DateTime?)end : null);

            await reportAggregator.AggregateReport(
                reportResults,
                (msg) => UpdateLoadingText(msg));

            loadingText.Visibility = Visibility.Hidden;
        }