public async Task <List <FruitSearchResult> > SearchFruits(string name) { // create result list List <FruitSearchResult> result = new List <FruitSearchResult>(); // convert name to lowercase string nameLower = name.ToLower(); try { // read CSV entries CSVReader.CSVReader reader = new CSVReader.CSVReader(); List <CSVEntry> csvEntries = await reader.ReadFile("Fruits.CSV"); foreach (CSVEntry csvEntry in csvEntries) { // get name string entryName = csvEntry.Entry[1]; // check if name matches search if (entryName.ToLower().Contains(nameLower)) { // add result result.Add(new FruitSearchResult(int.Parse(csvEntry.Entry[0]), entryName)); } } } catch (Exception ex) { Console.WriteLine("Error searching for fruits"); } return(result); }
public async Task <List <FruitPriceInformation> > GetPrice(List <int> fruitIDs) { // create result list List <FruitPriceInformation> result = new List <FruitPriceInformation>(); try { // read CSV entries CSVReader.CSVReader reader = new CSVReader.CSVReader(); List <CSVEntry> csvEntries = await reader.ReadFile("Fruit Price.CSV"); foreach (CSVEntry csvEntry in csvEntries) { // parse ID int id = int.Parse(csvEntry.Entry[0]); // check if ID was requested if (fruitIDs.Contains(id)) { // add price result.Add(new FruitPriceInformation(id, decimal.Parse(csvEntry.Entry[1]))); } } } catch (Exception ex) { Console.WriteLine("Error getting fruit prices"); } return(result); }
static async Task Main(string[] args) { CSVReader reader = new CSVReader(); List <CSVEntry> entries = await reader.ReadFile("Fruits.CSV"); entries.ForEach(entry => Console.WriteLine(entry.ToString())); }