コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }