示例#1
0
        static async Task Main(string[] args)
        {
            var fileUtils = new FileUtil();

            fileUtils.CleanDirectory(RunSettings.DirectoryForSave);

            foreach (string directoryPath in fileUtils.GetDirectoriesWithoutNested(RunSettings.DirectoryWithFiles))
            {
                var fileName         = fileUtils.GetFileNameFromPath(directoryPath);
                var validDirectories = fileUtils
                                       .GetDirectoriesWithoutNested(directoryPath)
                                       .Where(directoryPath => fileUtils.IsValid(fileUtils.GetFileNameFromPath(directoryPath)));

                foreach (var directory in validDirectories)
                {
                    var fileParser = new ParserStrategy();
                    fileParser.SetStrategy(new JsonParser());
                    var titlesFromJson = await fileParser.GetValuesFromFilesAsync(directory, RunSettings.FieldName);

                    fileParser.SetStrategy(new XmlParser());
                    var titlesFromXml = await fileParser.GetValuesFromFilesAsync(directory, RunSettings.FieldName);

                    var filePath = Path.Combine(RunSettings.DirectoryForSave, fileName + ".txt");
                    await fileUtils.SaveToFileAsync(filePath, titlesFromJson.Concat(titlesFromXml));
                }
            }
        }
示例#2
0
        public List <IProduct> FetchData()
        {
            string[]        productData = AccessStrategy.FetchData();
            List <IProduct> parsedData  = ParserStrategy.Parse(productData, ParseSingle);

            return(parsedData);
        }
示例#3
0
        // Write the text of the recognized phrase to the console.
        private async void recognizer_SpeechRecognized(object sender, SpeechRecognitionEventArgs e)
        {
            if (e.Result.Reason == ResultReason.RecognizedSpeech)
            {
                //stopRecognition.TrySetResult(0);
                //MessageBox.Show($"RECOGNIZED: Text={eg.Result.Text}");
                string resultText = e.Result.Text;

                if (isStillSearching)
                {
                    recognizer.StopContinuousRecognitionAsync().GetAwaiter().GetResult();
                }

                ISpeechParser speechParser = new ParserStrategy().GetParser(resultText);
                resultText = speechParser.ParseSpeechText(resultText);

                if (string.IsNullOrWhiteSpace(resultText))
                {
                    return;
                }

                if (resultText.StartsWith("Stop", StringComparison.InvariantCultureIgnoreCase))
                {
                    await speakItOut("Stopping now. Have a nice day");

                    this.Close();
                    return;
                }

                speechParser.PerformAction(resultText);
                //Task.Delay(3000).Wait();


                ////speakItOut("Searching for " + eg.Result.Text);
                //Task.Delay(3000).Wait();

                if (isStillSearching)
                {
                    recognizer.StartContinuousRecognitionAsync().GetAwaiter().GetResult();
                }
            }
            else if (e.Result.Reason == ResultReason.NoMatch)
            {
                //MessageBox.Show($"NOMATCH: Speech could not be recognized.");
            }
        }
        public void AddData(ITransaction data)
        {
            string unparsedData = ParserStrategy.Unparse(data);

            AccessStrategy.AddData(unparsedData);
        }