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)); } } }
public List <IProduct> FetchData() { string[] productData = AccessStrategy.FetchData(); List <IProduct> parsedData = ParserStrategy.Parse(productData, ParseSingle); return(parsedData); }
// 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); }