コード例 #1
0
        public Task <double> Get(long id, string fromMeasureUnitSymbol, string toMeasureUnitSymbol,
                                 double value)
        {
            var command = new MeasureUnitCommand
            {
                DimensionId    = id,
                Value          = value,
                FromUnitSymbol = fromMeasureUnitSymbol,
                ToUnitSymbol   = toMeasureUnitSymbol
            };

            return(_mediator.Send(command));
        }
        public async Task <double> Handle(MeasureUnitCommand request, CancellationToken cancellationToken)
        {
            var dimension = await _measureDimensionRepository.GetById(request.DimensionId);

            var arg = new MeasurementArg
            {
                FromValue      = request.Value,
                FromUnitSymbol = new Symbol(request.FromUnitSymbol),
                ToUnitSymbol   = new Symbol(request.ToUnitSymbol)
            };
            var measureValue = dimension.MeasureUnitsFor(arg, _formulaExpressionEvaluator);

            return(measureValue);
        }