From 3fa0de4c9138380469dd3e5cd7d29af2d01ebe47 Mon Sep 17 00:00:00 2001 From: max Date: Tue, 1 May 2018 17:16:29 +0200 Subject: [PATCH] converter --- .../MaterialTrading/MaterialTrader.cs | 1 + .../EntryDataToMaterialTraderLocation.cs | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 EDEngineer/Converters/EntryDataToMaterialTraderLocation.cs diff --git a/EDEngineer.Models/MaterialTrading/MaterialTrader.cs b/EDEngineer.Models/MaterialTrading/MaterialTrader.cs index 0e4e0940..dc051fe4 100644 --- a/EDEngineer.Models/MaterialTrading/MaterialTrader.cs +++ b/EDEngineer.Models/MaterialTrading/MaterialTrader.cs @@ -124,6 +124,7 @@ private static IEnumerable AllTrades(Dictionary missi } var willBeEnough = needed + deduced.GetOrDefault(otherGroup.Data) <= otherGroup.Count; + yield return new MaterialTrade(otherGroup, ingredient, needed, missingSize, willBeEnough, deduced.GetOrDefault(otherGroup.Data)); } // ReSharper restore PossibleInvalidOperationException diff --git a/EDEngineer/Converters/EntryDataToMaterialTraderLocation.cs b/EDEngineer/Converters/EntryDataToMaterialTraderLocation.cs new file mode 100644 index 00000000..20ca4ca0 --- /dev/null +++ b/EDEngineer/Converters/EntryDataToMaterialTraderLocation.cs @@ -0,0 +1,47 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using System.Windows.Media; +using EDEngineer.Localization; +using EDEngineer.Models; +using EDEngineer.Models.Loadout; + +namespace EDEngineer.Converters +{ + public class EntryDataToMaterialTraderLocation : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + { + return null; + } + + var entryData = (EntryData) value; + + switch (entryData.Subkind) + { + case Subkind.Manufactured: + return Languages.Instance.Translate( + "Materials Trader found at industrial economies, only trades in manufactured materials."); + case Subkind.Raw: + return Languages.Instance.Translate( + "Materials Trader found at extraction and refinery economies, only trades in raw material found on planet surfaces and planetary rings."); + default: + switch (entryData.Kind) + { + case Kind.Data: + return Languages.Instance.Translate( + "Materials Trader found at High Tech and Military economies, only trades in encoded materials."); + default: + return null; + } + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} \ No newline at end of file