using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; using Tango.BL.Entities; namespace Tango.FSE.Common.Converters { public class ProgressLengthSpoolConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { try { if (values.Count() == 2) { double length = System.Convert.ToDouble(values[0]); bool isEureka = System.Convert.ToBoolean(values[1]); int jobSpools = 1; if (isEureka) jobSpools = 4; var totalBy4Spools = (double)length * jobSpools;// spools 4; return totalBy4Spools; } if (values.Count() == 3) { double length = System.Convert.ToDouble(values[0]); var segment = values[1] as Segment; bool isEureka = System.Convert.ToBoolean(values[1]); int jobSpools = 1; if (isEureka) jobSpools = 4; double currentProgresslength = System.Convert.ToDouble(values[2]); var totalBySpools = (double)length * jobSpools; var currentProgressBySpools = (double)currentProgresslength * jobSpools; int coeff = (int)currentProgressBySpools / (int)totalBySpools; var progressCurrent = (coeff == 0 || coeff == 1) ? currentProgressBySpools : currentProgressBySpools % (coeff * totalBySpools);//show for progress return progressCurrent; } return "-"; } catch { return "-"; } } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }