%PDF- %PDF-
| Direktori : /mnt/tieto-nb/Downloads/ |
| 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;
}
}
}