using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.Json; using ContosoCrafts.WebSite.Models; using Microsoft.AspNetCore.Hosting; namespace ContosoCrafts.WebSite.Services { public class JsonFileProductService { public JsonFileProductService(IWebHostEnvironment webHostEnvironment) { WebHostEnvironment = webHostEnvironment; } public IWebHostEnvironment WebHostEnvironment { get; } private string JsonFileName { get { return Path.Combine(WebHostEnvironment.WebRootPath, "data", "products.json"); } } public IEnumerable GetProducts() { using(var jsonFileReader = File.OpenText(JsonFileName)) { return JsonSerializer.Deserialize(jsonFileReader.ReadToEnd(), new JsonSerializerOptions { PropertyNameCaseInsensitive = true }); } } } }