%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /mnt/tieto-nb/Downloads/
Upload File :
Create Path :
Current File : //mnt/tieto-nb/Downloads/ConvertTargetValueActivity.cs

// -----------------------------------------------------------------------
// <copyright file="ConvertTargetValueActivity.cs" company="Tieto Corporation">
// Copyright (c) Tieto Corporation. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------

namespace Tips.Quality.Common.Business.Activities.MachineToleranceVersion
{
    using System;
    using System.ComponentModel.Composition;

    using Tips.Quality.Common.Business.Activities.MachineToleranceVersion.Interfaces;
    using Tips.Quality.Common.Infrastructure.Facade.BaseClass;

    using Tix.DataAccess.UnitConversions;
    using Tix.DataAccess.UnitConversions.Infrastructure;
    using Tix.Runtime;

    /// <inheritdoc cref="ConvertTargetValueActivity" />
    [Export(typeof(ConvertTargetValueActivity))]
    public class ConvertTargetValueActivity : OutputActivity<string, string, double?, double?>
    {
        /// <summary>Runs the specified source variable code.</summary>
        /// <param name="sourceVarCode">The source variable code.</param>
        /// <param name="targetUnitCode">The target unit code.</param>
        /// <param name="sourceValue">The source value.</param>
        /// <returns>*</returns>
        protected override double? Run(string sourceVarCode, string targetUnitCode, double? sourceValue)
        {
            if (sourceValue == null)
            {
                return null;
            }

            var infrastructure = UnitSystemLoader.GetSystemInstance();
            var fromUnit = infrastructure.SystemVariables.GetByCode(sourceVarCode);
            var toUnit = infrastructure.MeasurementUnits.GetByCode(targetUnitCode);

            if (fromUnit != null && toUnit != null)
            {
                return infrastructure.Calculator.TryConvert(sourceValue.Value, fromUnit.MeasUnitCode, toUnit.MeasUnitCode);
            }

            return null;
        }
    }
}

Zerion Mini Shell 1.0