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; using Tango.BL.Enumerations; using Tango.PPC.Events.EventsViews; namespace Tango.PPC.Events.Converters { public class MachineEventToViewConverter : IValueConverter { private static Dictionary _eventViews = new Dictionary(); static MachineEventToViewConverter() { _eventViews.Add(EventTypes.JOB_STARTED, typeof(JobEventView)); _eventViews.Add(EventTypes.JOB_ABORTED, typeof(JobEventView)); _eventViews.Add(EventTypes.JOB_COMPLETED, typeof(JobEventView)); _eventViews.Add(EventTypes.JOB_FAILED, typeof(JobEventView)); } public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { MachinesEvent ev = value as MachinesEvent; FrameworkElement view = null; if (ev != null) { if (_eventViews.ContainsKey(ev.Type)) { view = Activator.CreateInstance(_eventViews[ev.Type]) as FrameworkElement; } else { view = Activator.CreateInstance(); } return view; } else { return null; } } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } }