using MaterialDesignThemes.Wpf; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using Tango.DAL.Observables; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.DB.ViewModels; using Tango.MachineStudio.DB.Views.DBViews; namespace Tango.MachineStudio.DB.ExtensionMethods { public static class INotificationProviderExtensions { public static bool ShowDialog(this INotificationProvider provider, DialogOpenMode mode, DbTableViewModel context) where T : class, IObservableEntity { Type viewType = typeof(INotificationProviderExtensions).Assembly.GetType(typeof(OrganizationView).Namespace + "." + typeof(T).Name + "View"); return provider.ShowDialog( (mode == DialogOpenMode.Editing ? PackIconKind.TableEdit : PackIconKind.Plus), (mode == DialogOpenMode.Editing ? "Edit " : "Add New ") + typeof(T).Name, Activator.CreateInstance(viewType) as FrameworkElement, context); } } }