Esempio n. 1
0
        public static T SUT <T>(this ITypeResolver resolvr) where T : ILogSource
        {
            if (!resolvr.HasLifetimeScope)
            {
                resolvr.BeginLifetimeScope();
            }

            if (_growl == null)
            {
                _growl = new GrowlListener(nameof(MustExtensions));
            }

            var obj = resolvr.Resolve <T>();

            obj.LogAdded += (s, e) =>
            {
                if (e.ShowAs == ShowLogAs.Intro)
                {
                    _lastTitle = e.Title;
                    return;
                }

                if (e.ShowAs == ShowLogAs.Outro)
                {
                    e.Title = _lastTitle;
                }

                var m = ShortLog.Format(e);
                OutputHelper.WriteLine(m);
            };

            obj.LogAdded += _growl.HandleLogEvent;

            return(obj);
        }
Esempio n. 2
0
        public static ILifetimeScopeShim Shim(ITypeResolver resolvr)
        {
            Application.ThreadException
                += (s, e) => { HandleErr(e.Exception); };

            AppDomain.CurrentDomain.UnhandledException
                += (s, e) => { HandleErr(e.ExceptionObject); };


            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);


            return resolvr.BeginLifetimeScope();
        }
Esempio n. 3
0
        public static ILifetimeScopeShim Shim(ITypeResolver resolvr)
        {
            Application.ThreadException
                += (s, e) => { HandleErr(e.Exception); };

            AppDomain.CurrentDomain.UnhandledException
                += (s, e) => { HandleErr(e.ExceptionObject); };


            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);


            return(resolvr.BeginLifetimeScope());
        }
Esempio n. 4
0
        public static Window StartWPF <TWindow, TViewModel>(this ITypeResolver resolvr)
            where TWindow    : Window
            where TViewModel : MainWindowVmBase
        {
            Application.Current
            .SetErrorHandlers()
            .SetScopeExpiry(resolvr);


            resolvr.BeginLifetimeScope();

            var win = resolvr.Resolve <TWindow>();
            var vm  = resolvr.Resolve <TViewModel>();

            vm.IoC          = resolvr;
            win.DataContext = vm;

            vm.SetCloseHandler(win)
            .SetLoadCompleteHandler();

            return(win);
        }