aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Converters/JobLengthConverter.cs
blob: cd928d9c9993f393c9c1e830a9eac289740fa4bb (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
31
32
33
34
35
36
37
38
39
40
41
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.Statistics.Converters
{
    public class JobLengthConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            try
            {
                if (values != null && values.Count() == 3)
                {
                    double length = (double)values[0];
                    double endPoint = (double)values[1];
                    double width = (double)values[2];
                    var v = Math.Round((endPoint / length) * width, MidpointRounding.AwayFromZero);

                    if (double.IsInfinity(v))
                    {
                        return 0d;
                    }
                    return v;
                }
            }
            catch { }

            return 0d;
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
>using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.Core; namespace Tango.Integration.Operation { /// <summary> /// Represents a running job status. /// </summary> public class RunningJobStatus : ExtendedObject { private TimeSpan _totalTime; /// <summary> /// Gets or sets the total time. /// </summary> public TimeSpan TotalTime { get { return _totalTime; } set { _totalTime = value; RaisePropertyChangedAuto(); } } private TimeSpan _remainingTime; /// <summary> /// Gets or sets the remaining time. /// </summary> public TimeSpan RemainingTime { get { return _remainingTime; } set { _remainingTime = value; RaisePropertyChangedAuto(); } } private double _progress; /// <summary> /// Gets or sets the progress. /// </summary> public double Progress { get { return _progress; } set { _progress = value; RaisePropertyChangedAuto(); } } private double _totalProgress; /// <summary> /// Gets or sets the total progress. /// </summary> public double TotalProgress { get { return _totalProgress; } set { _totalProgress = value; RaisePropertyChangedAuto(); } } private double _remainingProgress; /// <summary> /// Gets or sets the remaining progress. /// </summary> public double RemainingProgress { get { return _remainingProgress; } set { _remainingProgress = value; RaisePropertyChangedAuto(); } } private double _totalProgressWithoutFinalization; /// <summary> /// Gets or sets the total progress without finalization. /// </summary> public double TotalProgressWithoutFinalization { get { return _totalProgressWithoutFinalization; } set { _totalProgressWithoutFinalization = value; RaisePropertyChangedAuto(); } } private double _progressWithoutFinalization; /// <summary> /// Gets or sets the progress without finalization. /// </summary> public double ProgressWithoutFinalization { get { return _progressWithoutFinalization; } set { _progressWithoutFinalization = value; RaisePropertyChangedAuto(); } } private double _settingUpProgress; /// <summary> /// Gets or sets the setting up progress. /// </summary> public double SettingUpProgress { get { return _settingUpProgress; } set { _settingUpProgress = value; RaisePropertyChangedAuto(); } } private double _settingUpTotalProgress; /// <summary> /// Gets or sets the setting up total progress. /// </summary> public double SettingUpTotalProgress { get { return _settingUpTotalProgress; } set { _settingUpTotalProgress = value; RaisePropertyChangedAuto(); } } private double _progressMinusSettingUp; /// <summary> /// Gets or sets the progress minus setting up. /// </summary> public double ProgressMinusSettingUp { get { return _progressMinusSettingUp; } set { _progressMinusSettingUp = value; RaisePropertyChangedAuto(); } } private double _totalProgressMinusSettingUp; /// <summary> /// Gets or sets the total progress minus setting up. /// </summary> public double TotalProgressMinusSettingUp { get { return _totalProgressMinusSettingUp; } set { _totalProgressMinusSettingUp = value; RaisePropertyChangedAuto(); } } private double _finalizingTotalProgress; /// <summary> /// Gets or sets the finalizing total progress. /// </summary> public double FinalizingTotalProgress { get { return _finalizingTotalProgress; } set { _finalizingTotalProgress = value; RaisePropertyChangedAuto(); } } private double _finalizingProgress; /// <summary> /// Gets or sets the finalizing progress. /// </summary> public double FinalizingProgress { get { return _finalizingProgress; } set { _finalizingProgress = value; RaisePropertyChangedAuto(); } } private int _currentUnit; /// <summary> /// Gets or sets the current unit number. /// </summary> public int CurrentUnit { get { return _currentUnit; } set { _currentUnit = value; RaisePropertyChangedAuto(); } } private int _remainingUnits; /// <summary> /// Gets or sets the remaining units if it is an embroidery job. /// </summary> public int RemainingUnits { get { return _remainingUnits; } set { _remainingUnits = value; RaisePropertyChangedAuto(); } } private double _currentUnitProgress; /// <summary> /// Gets or sets the current unit progress. /// </summary> public double CurrentUnitProgress { get { return _currentUnitProgress; } set { _currentUnitProgress = value; RaisePropertyChangedAuto(); } } private double _currentUnitTotalProgress; /// <summary> /// Gets or sets the current unit total progress. /// </summary> public double CurrentUnitTotalProgress { get { return _currentUnitTotalProgress; } set { _currentUnitTotalProgress = value; RaisePropertyChangedAuto(); } } private bool _isCanceled; /// <summary> /// Gets or sets a value indicating whether this instance is canceled. /// </summary> public bool IsCanceled { get { return _isCanceled; } set { _isCanceled = value; RaisePropertyChangedAuto(); } } private bool _isCompleted; /// <summary> /// Gets or sets a value indicating whether this instance is completed. /// </summary> public bool IsCompleted { get { return _isCompleted; } set { _isCompleted = value; RaisePropertyChangedAuto(); } } private bool _isFailed; /// <summary> /// Gets or sets a value indicating whether this instance is failed. /// </summary> public bool IsFailed { get { return _isFailed; } set { _isFailed = value; RaisePropertyChangedAuto(); } } private bool _isFinalizing; /// <summary> /// Gets or sets a value indicating whether the machine is rolling the dryer buffer length at the end of the job. /// </summary> public bool IsFinalizing { get { return _isFinalizing; } set { _isFinalizing = value; RaisePropertyChangedAuto(); } } private bool _isSettingUp; /// <summary> /// Gets or sets a value indicating whether the job progress is withing the range of zero to the dryer buffer length. /// </summary> public bool IsSettingUp { get { return _isSettingUp; } set { _isSettingUp = value; RaisePropertyChangedAuto(); } } private String _message; /// <summary> /// Gets or sets the message. /// </summary> public String Message { get { return _message; } set { _message = value; RaisePropertyChangedAuto(); } } private List<Segment> _currentUnitSegments; /// <summary> /// Gets or sets the current unit segments. /// </summary> public List<Segment> CurrentUnitSegments { get { return _currentUnitSegments; } set { _currentUnitSegments = value; RaisePropertyChangedAuto(); } } private List<Segment> _segments; /// <summary> /// Gets or sets all job segments. /// </summary> public List<Segment> Segments { get { return _segments; } set { _segments = value; RaisePropertyChangedAuto(); } } private Segment _currentSegment; /// <summary> /// Gets or sets the current running segment from the <see cref="Segments"/> collection. /// </summary> public Segment CurrentSegment { get { return _currentSegment; } set { _currentSegment = value; RaisePropertyChangedAuto(); } } /// <summary> /// Initializes a new instance of the <see cref="RunningJobStatus"/> class. /// </summary> public RunningJobStatus() { CurrentUnitSegments = new List<Segment>(); Segments = new List<Segment>(); } } }