public static List <MeasurementSystemModel> CreateMeasurementSystemData() { var wa = new DistanceUnitModel("Wa", "wa"); var sok = new DistanceUnitModel("Sok", "sok"); var sqWa = new AreaModel("Square Wa", "sqwa", 1, wa); var ngaan = new AreaModel("Ngaan", "ngaan", 10, wa); var rai = new AreaModel("Rai", "rai", 20, wa); var waSok = new UnitConversionRate(wa, sok, 4); var measurementSystem = new MeasurementSystemModel { Name = "Thai Area Measurement System", DistanceUnits = new List <DistanceUnitModel> { wa, sok }, Areas = new List <AreaModel> { sqWa, ngaan, rai }, }; AllDistanceUnits = new List <DistanceUnitModel> { wa, sok }; UnitConversionRates = new List <UnitConversionRate> { waSok }; _measurementSystem = new List <MeasurementSystemModel> { measurementSystem }; return(_measurementSystem); }
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { var fromDistanceUnit = values[0]; var toDistanceUnit = values[1]; double?distance = (double?)values[2]; UnitConversionRate conversionRate = TestData.UnitConversionRates.SingleOrDefault(rate => rate.FromDistanceUnit == fromDistanceUnit && rate.ToDistanceUnit == toDistanceUnit); if (conversionRate != null) { return(distance * conversionRate.ConversionRate); } conversionRate = TestData.UnitConversionRates.SingleOrDefault(rate => rate.FromDistanceUnit == toDistanceUnit && rate.ToDistanceUnit == fromDistanceUnit); if (conversionRate != null) { return(distance / conversionRate.ConversionRate); } return(distance ?? 0); }