public int GetWordFrequency_PassedFilePathAndWord(string filePath, string word) { filePath = Directory.GetCurrentDirectory() + filePath; return(TextFileManipulator.GetWordFrequency(filePath, word)); }
public IActionResult Index() { List <SelectListItem> originalListItems = new List <SelectListItem>(); List <SelectListItem> outputListItems = new List <SelectListItem>(); TextFileManipulator textFileManipulator = new TextFileManipulator(); // Get Raw Name Data from file string rawData = textFileManipulator.GetRawFileData(); // Convert Raw Name Data to list List <string> rawDataStringList = textFileManipulator.ConvertRawDataToList(rawData); foreach (var item in rawDataStringList) { originalListItems.Add(new SelectListItem() { Text = item, Value = item, Selected = false }); } // Sort Names list List <string> sortedStringList = textFileManipulator.SortStringList(rawDataStringList); // Delete previous sorted_names.txt if (System.IO.File.Exists("sorted_names.txt")) { System.IO.File.Delete("sorted_names.txt"); } for (int i = 0; i < sortedStringList.Count - 1; i++) { string word = sortedStringList[i]; int wordScore = WordCalculations.CalculateWordScore(word, i + 1); string wordScoreString = wordScore.ToString(); // Save sorted Names list to file textFileManipulator.WriteStringToFile(word, wordScoreString); // Output Sorted List to ListBox outputListItems.Add(new SelectListItem() { Text = word + " - " + wordScoreString, Value = wordScoreString, Selected = false }); } // Calculate Grand Total int grandTotal = WordCalculations.CalculateGrandTotalFromList(sortedStringList); // Question 1 string highestTotalScoringName = WordCalculations.CalculateHighestTotalScoringNameFromList(sortedStringList); int highestTotalScoringNamePosition = WordCalculations.GetNamePositionFromList(sortedStringList, highestTotalScoringName); // Question 2 string lowestTotalScoringName = WordCalculations.CalculateLowestTotalScoringNameFromList(sortedStringList); int lowestTotalScoringNamePosition = WordCalculations.GetNamePositionFromList(sortedStringList, lowestTotalScoringName); // Question 3 Tuple <string, int> highestAlphabeticalValueAndName = WordCalculations.CalculateHighestAlphabeticalValueAndNameFromList(sortedStringList); string highestAlphabeticalValueName = highestAlphabeticalValueAndName.Item1; int highestAlphabeticalValue = highestAlphabeticalValueAndName.Item2; // Question 4 Tuple <string, int> lowestAlphabeticalValueAndName = WordCalculations.CalculateLowestAlphabeticalValueAndNameFromList(sortedStringList); string lowestAlphabeticalValueName = lowestAlphabeticalValueAndName.Item1; int lowestAlphabeticalValue = lowestAlphabeticalValueAndName.Item2; // Question 5 int averageAlphabeticalValue = WordCalculations.CalculateAverageAlphabeticalValueFromList(sortedStringList); NamesModel namesModel = new NamesModel() { OriginalNames = originalListItems, OutputNames = outputListItems, GrandTotal = grandTotal.ToString(), HighestTotalScoringName = highestTotalScoringName, HighestTotalScoringNamePosition = highestTotalScoringNamePosition.ToString(), LowestTotalScoringName = lowestTotalScoringName, LowestTotalScoringNamePosition = lowestTotalScoringNamePosition.ToString(), HighestAlphabeticalValueName = highestAlphabeticalValueName, HighestAlphabeticalValue = highestAlphabeticalValue.ToString(), LowestAlphabeticalValueName = lowestAlphabeticalValueName, LowestAlphabeticalValue = lowestAlphabeticalValue.ToString(), AverageAlphabeticalValue = averageAlphabeticalValue.ToString() }; return(View(namesModel)); }