private static void ParseItems(string itemFile, string outputFolder) { using (StreamReader reader = new StreamReader(itemFile)) { RawItems rawItems = RawItems.FromJson(reader.ReadToEnd()); ProcessedItems processedItems = new ProcessedItems(); foreach (RawItem rawItem in rawItems.Items) { if (rawItem.Price < 0) { continue; } rawItem.Category = RecategorizeItem(rawItem); ProcessedItem processedItem = ProcessedItem.FromRawItem(rawItem); processedItems.Items.Add(processedItem); } processedItems.Sort(); string outputFileItems = Path.Combine(outputFolder, "StoreItems.json"); GenerateItemsOutput(processedItems, outputFileItems); } }
public static RawItems FromJson(string json) { RawItems items = JsonConvert.DeserializeObject <RawItems>(json, Settings); items.Items.Sort((item1, item2) => { if (!string.Equals(item1.Category, item2.Category, StringComparison.OrdinalIgnoreCase)) { return(string.Compare(item1.Category, item2.Category, StringComparison.OrdinalIgnoreCase)); } return(string.Compare(item1.Name, item2.Name, StringComparison.OrdinalIgnoreCase)); }); return(items); }