Exemple #1
0
        public void TestEvaluate()
        {
            // 1. Arrange
            var products = GenerateTestProducts();

            // 2. Act
            var topProd = ProductEvaluator.Evaluate(products);

            // 3. Assert
            Assert.Equal("High rating prod", topProd.ProductName);
        }
Exemple #2
0
        public async Task <IActionResult> Post(IFormFile file)
        {
            // full path to file in temp location
            var filePath = Path.GetTempFileName();

            // Create a NULL reference to product
            Product topProduct = null;

            using (var stream = new FileStream(filePath, FileMode.Create))
            {
                await file.CopyToAsync(stream);

                stream.Position = 0;
                TextReader textReader = new StreamReader(stream);

                using (var csv = new CsvReader(textReader, CultureInfo.InvariantCulture))
                {
                    var products = csv.GetRecords <Product>().ToList();
                    topProduct = ProductEvaluator.Evaluate(products);
                }
            }

            return(new OkObjectResult(new { top_product = topProduct.ProductName, product_rating = topProduct.Rating }));
        }