using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Data; using Tango.BL.Entities; using Tango.MachineStudio.Logging.Helpers; using Tango.MachineStudio.Logging.ViewModels; namespace Tango.MachineStudio.Logging.Converters { public class MachineEventToXConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { if (values.Length == 3) { MachinesEvent ev = values[0] as MachinesEvent; if (ev != null) { ObservableCollection groups = values[1] as ObservableCollection; if (groups.Count > 0) { double scale = (double)values[2]; DateTime maxTime = groups.SelectMany(x => x.Events).Max(x => x.DateTime); DateTime minTime = groups.SelectMany(x => x.Events).Min(x => x.DateTime); TimeSpan range = maxTime - minTime; TimeSpan time = maxTime - ev.DateTime; time = range - time; return TimelineHelper.ConvertTimeToPixels(time, scale); } } } return 0.0; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }