Exemple #1
0
        /// <summary>
        /// Handles the output of the results
        /// </summary>
        /// <param name="results">The results to output in the chosen form.</param>
        private static void HandleOutput(IReadOnlyCollection <AnalysisResult> results)
        {
            Console.WriteLine("Analysis Complete! How do you want to output your results?");
            Console.WriteLine("1) Console output");
            Console.WriteLine("2) JSON File (Sensible Option for large result sets)");

            var choice = ChoiceHelper.MenuChoice(2);

            switch (choice)
            {
            case 1:

                Console.Clear();
                Console.WriteLine("=====================================");
                Console.WriteLine($"Displaying {results.Count} result(s)");
                Console.WriteLine("=====================================");
                Console.WriteLine("");

                foreach (var result in results)
                {
                    Console.WriteLine("==========");
                    Console.WriteLine($"Input:     {result.Input}");
                    Console.WriteLine($"Language:  {result.Language}");

                    Console.WriteLine(result.SentimentData == null
                            ? $"Message:   {result.Message}"
                            : $"Sentiment: {result.SentimentData.Sentiment} (+{result.SentimentData.Positive}, ={result.SentimentData.Neutral}, -{result.SentimentData.Negative})");

                    Console.WriteLine("==========");
                }
                break;

            case 2:
                var outputDir = ChoiceHelper.DirectoryPath(@"Which directory should the file be saved to? (e.g. E:\Output):");

                Directory.CreateDirectory(outputDir);

                var json       = JsonConvert.SerializeObject(results, Formatting.Indented);
                var fileOutput = Path.Combine(outputDir, $"{DateTime.Now:yyyyMMddHHmmss}-SentimentOutput.json");
                File.WriteAllText(fileOutput, json);

                Console.Clear();
                Console.WriteLine($"+ File written to: {fileOutput} +");

                break;
            }
        }