aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/Converters/MillisecondsToTimeSpanConverter.cs
blob: 70b7ce19143569e6140b072e729ad22dbe78fdb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;

namespace Tango.MachineStudio.Developer.Converters
{
    public class MillisecondsToTimeSpanConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value != null)
            {
                return TimeSpan.FromMilliseconds(System.Convert.ToInt32(value));
            }
            else
            {
                return null;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
>else { return 0d; } } public virtual double CalculateNanoliterPerCentimeter(double volume, double maxNanoliterPerCentimeter) { return (volume / 100d) * maxNanoliterPerCentimeter; } /// <summary> /// Calculates the required nanoliter per second. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> /// <returns></returns> public virtual double CalculateNanoliterPerSecond(LiquidVolume liquidVolume) { if (liquidVolume.ProcessParametersTable != null) { return CalculateNanoliterPerCentimeter(liquidVolume) * liquidVolume.ProcessParametersTable.DyeingSpeed; } else { return 0d; } } /// <summary> /// Calculates the required pulses per second. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> /// <returns></returns> public virtual double CalculatePulsePerSecond(LiquidVolume liquidVolume) { return CalculateNanoliterPerSecond(liquidVolume) / liquidVolume.NanoliterPerStep / (double)liquidVolume.DispenserStepDivision; } /// <summary> /// Calculates the required full pulses per second. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> /// <returns></returns> public double CalculatePulsePerSecondFull(LiquidVolume liquidVolume) { return CalculateNanoliterPerSecond(liquidVolume) / liquidVolume.NanoliterPerStep; } /// <summary> /// Coerces the specified liquid volume. /// </summary> /// <param name="liquidVolume">The liquid volume.</param> /// <returns></returns> public virtual double CoerceVolume(LiquidVolume liquidVolume) { return liquidVolume.Volume; } } }