using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.Serialization.Json; using System.Text; using System.Threading.Tasks; namespace wpf_template.Model { public class JSONDataProvider : IDataProvider { private List products; public JSONDataProvider() { var serializer = new DataContractJsonSerializer(typeof(Product[])); using(var sr = new StreamReader("./products.json")) { products = ((Product[])serializer.ReadObject(sr.BaseStream)).ToList(); } } public IEnumerable GetProducts() { return products; } public IEnumerable GetCategories() { return new ProductCategory[] { new ProductCategory {title = "Смартфон"}, new ProductCategory {title = "Ноутбук"}, new ProductCategory {title = "Смарт-Часы"}, new ProductCategory {title = "Монитор"} }; } public IEnumerable GetPrices() { return new ProductPrice[] { new ProductPrice{title="Все цены", priceFrom = 0, priceTo = 999999}, new ProductPrice{title="До 10.000", priceFrom = 0, priceTo = 10000}, new ProductPrice{title="От 10.000 до 20.000", priceFrom = 10000, priceTo = 20000}, new ProductPrice{title="От 20.000 до 50.000", priceFrom = 20000, priceTo = 50000}, new ProductPrice{title="Дороже 50.000", priceFrom = 50000, priceTo = 999999 } }; } public IEnumerable GetCompanies() { return new ProductCompany[] { new ProductCompany{title = "Apple"}, new ProductCompany{title = "Xiaomi"}, new ProductCompany{title = "Huawei"}, new ProductCompany{title = "POCO"}, new ProductCompany{title = "Asus"}, new ProductCompany{title = "Lenovo"}, new ProductCompany{title = "Samsung"}, new ProductCompany{title = "Acer"}, new ProductCompany{title = "AOC"} }; } } }