Ejemplo n.º 1
0
        /// <inheritdoc />
        protected override void OnStartup(StartupEventArgs e)
        {
            Log.System($"{nameof(App)} - {nameof(OnStartup)}.", LogLevel.Trace);
            try
            {
                AttachAllExceptionHandlers();

                DependencyContainer.Configure();
                ShutdownMode = ShutdownMode.OnMainWindowClose;

                ApplicationMutex = new Mutex(false, typeof(App).FullName, out var mutexCreated);
                if (!mutexCreated)
                {
                    Log.Warn($"Application already running. Shutting down.");
                    MessageBox.Show($"Application already running. Shutting down.", "Notice", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    Current.Shutdown(0);
                }

                var runners = DependencyContainer.ServiceProvider.GetServices <IConfigurationRunner>();
                foreach (var runner in runners)
                {
                    Log.Debug($"Executing {nameof(IConfigurationRunner)} \"{runner.GetType().FullName}\".");
                    runner.Execute();
                }
                var navigationService = DependencyContainer.ServiceProvider.GetService <INavigationService>();
                navigationService.OpenWindowAsync(new DefaultWindowViewModel(new MainViewModel()), nameof(MainViewModel));

                base.OnStartup(e);
            }
            catch (Exception exception)
            {
                Log.Error(exception);
                throw;
            }
        }
Ejemplo n.º 2
0
        protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            try {
                DependencyContainer.Configure(Assembly.Load("TeaCommerce.Umbraco.Configuration"));
            } catch (Exception exp) {
                LogHelper.Error(GetType(), "Error loading Autofac modules", exp);
            }

            Domain.New         += Domain_New;
            Domain.AfterSave   += Domain_AfterSave;
            Domain.AfterDelete += Domain_AfterDelete;
        }
        protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
        {
            try {
                DependencyContainer.Configure(
                    Assembly.Load("TeaCommerce.Umbraco.Configuration"),
                    Assembly.Load("TeaCommerce.Umbraco.Install"));
            } catch (Exception exp) {
                LogHelper.Error <ApplicationStartup>("Error loading Autofac modules", exp);
            }

            //Run install/update on each application startup to support Umbraco Cloud and Nuget
            InstallationService.Instance.InstallOrUpdate();

            Domain.New         += Domain_New;
            Domain.AfterSave   += Domain_AfterSave;
            Domain.AfterDelete += Domain_AfterDelete;

            UserService.SavedUser += UserService_SavedUser;
        }