コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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()));
        }