private JournalOperation ExtractSynthesis(JObject data) { var synthesisOperation = new SynthesisOperation() { SynthesisPartOperation = new List <JournalOperation>() }; foreach (var jToken in data["Materials"]) { dynamic cc = jToken; string synthesisIngredientName = cc.Name; int? count = cc.Value ?? cc.Count; if (!converter.TryGet(synthesisIngredientName, out synthesisIngredientName)) { MessageBox.Show(string.Format(languages.Translate("Unknown material, please contact the author ! {0}"), synthesisIngredientName)); continue; } var entry = converter[synthesisIngredientName]; switch (entry.Kind) { case Kind.Material: synthesisOperation.SynthesisPartOperation.Add(new MaterialOperation() { MaterialName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; case Kind.Data: synthesisOperation.SynthesisPartOperation.Add(new DataOperation() { DataName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; case Kind.Commodity: synthesisOperation.SynthesisPartOperation.Add(new CargoOperation() { CommodityName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; default: throw new ArgumentOutOfRangeException(); } } return(synthesisOperation.SynthesisPartOperation.Any() ? synthesisOperation : null); }
private JournalOperation ExtractSynthesis(JObject data) { var synthesisOperation = new SynthesisOperation() { SynthesisPartOperation = new List <JournalOperation>() }; foreach (var jToken in data["Materials"]) { var material = (JProperty)jToken; string synthesisIngredientName; if (!converter.TryGet(material.Name, out synthesisIngredientName)) { MessageBox.Show($"Unknown material, please contact the author ! {material.Name}"); continue; } var entry = converter[synthesisIngredientName]; switch (entry.Kind) { case Kind.Materiales: synthesisOperation.SynthesisPartOperation.Add(new MaterialOperation() { MaterialName = synthesisIngredientName, Size = -1 * material.Value?.ToObject <int>() ?? -1 }); break; case Kind.Datos: synthesisOperation.SynthesisPartOperation.Add(new DataOperation() { DataName = synthesisIngredientName, Size = -1 * material.Value?.ToObject <int>() ?? -1 }); break; case Kind.Mercancias: synthesisOperation.SynthesisPartOperation.Add(new CargoOperation() { CommodityName = synthesisIngredientName, Size = -1 * material.Value?.ToObject <int>() ?? -1 }); break; default: throw new ArgumentOutOfRangeException(); } } return(synthesisOperation.SynthesisPartOperation.Any() ? synthesisOperation : null); }
private JournalOperation ExtractSynthesis(JObject data) { var synthesisOperation = new SynthesisOperation() { SynthesisPartOperation = new List <JournalOperation>() }; foreach (var jToken in data["Materials"]) { dynamic cc = jToken; var synthesisIngredientName = converter.GetOrCreate((string)cc.Name); int? count = cc.Value ?? cc.Count; var entry = converter[synthesisIngredientName]; switch (entry.Kind) { case Kind.Material: synthesisOperation.SynthesisPartOperation.Add(new MaterialOperation() { MaterialName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; case Kind.Data: synthesisOperation.SynthesisPartOperation.Add(new DataOperation() { DataName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; case Kind.Commodity: synthesisOperation.SynthesisPartOperation.Add(new CargoOperation() { CommodityName = synthesisIngredientName, Size = -1 * count ?? -1 }); break; default: throw new ArgumentOutOfRangeException(); } } return(synthesisOperation.SynthesisPartOperation.Any() ? synthesisOperation : null); }