Beispiel #1
0
 public override void RegisterMessenger()
 {
     Messenger.Default.Register <string>(View, "NavigationNewPage", arg =>
     {
         var module = AutofacProvider.Get <IModule>(arg);
         if (module != null)
         {
             module.BindDefaultModel();
             View.page.Content = module.GetView();
         }
         else
         {
             //...
         }
     });
     Messenger.Default.Register <string>(View, "UpdateBackground", arg =>
     {
         ViewModel.StyleConfig.Url = arg;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateTrans", arg =>
     {
         ViewModel.StyleConfig.Trans = arg / 100;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateGaussian", arg =>
     {
         ViewModel.StyleConfig.Radius = arg;
         //保存用户配置...
     });
 }
Beispiel #2
0
        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            ConfigureServices();
            var view = AutofacProvider.Get <IModuleDialog>("LoginCenter");

            view.ShowDialog();
        }
Beispiel #3
0
       public static void StartUp(string basePath)
       {
           //初始化Ioc
           var autofacProvider = new AutofacProvider();
           autofacProvider.InitAutofacContainer(Path.Combine(basePath, "Config/Autofac/AutofacConfig.xml"));
           IocHelper.SetIocProvider(autofacProvider);

           //初始化iBatis.Net
           SqlMapperHelper.InitMapper();
       }
Beispiel #4
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            AutofacProvider.BuildContainer(GlobalConfiguration.Configuration);

            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
Beispiel #5
0
        protected void ConfigureServices()
        {
            AutofacLocator   locator = new AutofacLocator();
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterType(typeof(LoginCenter)).Named("LoginCenter", typeof(IModuleDialog));


            locator.Register(builder);
            AutofacProvider.RegisterServiceLocator(locator);
        }
Beispiel #6
0
 public override void RegisterMessenger()
 {
     Messenger.Default.Register <bool>(View, "NavigationHome", arg =>
     {
         View.Close();                                                     //Close LoginView
         var mainView = AutofacProvider.Get <IModuleDialog>("MainCenter"); //Get MainView Examples
         mainView.ShowDialog();                                            //Show MainView
     });
     Messenger.Default.Register <bool>(View, "Exit", arg =>
     {
         View.Close();
     });
 }
 public override void RegisterMessenger()
 {
     Messenger.Default.Register <bool>(GetDialog(), "NavigationHome", arg =>
     {
         GetDialog().Hide();
         var view = AutofacProvider.Get <IModuleDialog>("MainCenter");
         view.ShowDialog();
     });
     Messenger.Default.Register <bool>(GetDialog(), "Exit", arg =>
     {
         GetDialog().Close();
     });
 }
Beispiel #8
0
        protected void ConfigureServices()
        {
            AutofacLocator   locator = new AutofacLocator();
            ContainerBuilder builder = new ContainerBuilder();

            builder.RegisterType <ConsumptionService>().As <IConsumptionService>();
            builder.RegisterType(typeof(LoginCenter)).Named("LoginCenter", typeof(IModuleDialog));
            builder.RegisterType(typeof(MainCenter)).Named("MainCenter", typeof(IModuleDialog));
            builder.RegisterType(typeof(SkinCenter)).Named("SkinCenter", typeof(IModule));
            builder.RegisterType(typeof(UserCenter)).Named("UserCenter", typeof(IModule));
            builder.RegisterType(typeof(MenuCenter)).Named("MenuCenter", typeof(IModule));
            builder.RegisterType(typeof(BasicCenter)).Named("BasicCenter", typeof(IModule));
            locator.Register(builder);
            AutofacProvider.RegisterServiceLocator(locator);
        }
        private IServiceProvider ConfigureProviderByDependency(IServiceCollection services)
        {
            var provider = Configuration.GetValue <DependencyProvider>("DependencyProvider");

            switch (provider)
            {
            case DependencyProvider.Autofac:
                return(AutofacProvider.Configure(services));

            case DependencyProvider.DotNet:
                return(DotNetProvider.Configure(services));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Beispiel #10
0
 public override void SubscribeMessenger()
 {
     Messenger.Default.Register <bool>(View, "DisplayView", arg =>
     {
         ViewModel.DialogIsOpen = arg;
     });
     Messenger.Default.Register <string>(View, "NavigationNewPage", async arg =>
     {
         var module = AutofacProvider.Get <IModule>(arg);
         if (module != null)
         {
             if (arg == View.page.Tag?.ToString())
             {
                 return;
             }
             ViewModel.DialogIsOpen = true;
             await Task.Delay(30);
             await module.BindDefaultModel();
             View.page.Tag          = arg;
             View.page.Content      = module.GetView();
             ViewModel.DialogIsOpen = false; //关闭等待窗口
             GCSettings.LargeObjectHeapCompactionMode = GCLargeObjectHeapCompactionMode.CompactOnce;
             GC.Collect();
         }
         else
         {
             //404?
         }
     });
     Messenger.Default.Register <string>(View, "UpdateBackground", arg =>
     {
         ViewModel.StyleConfig.Url = arg;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateTrans", arg =>
     {
         ViewModel.StyleConfig.Trans = arg / 100;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateGaussian", arg =>
     {
         ViewModel.StyleConfig.Radius = arg;
         //保存用户配置...
     });
 }
Beispiel #11
0
 public override void SubscribeMessenger()
 {
     Messenger.Default.Register <MsgInfo>(View, "UpdateDialog", arg =>
     {
         ViewModel.DialogIsOpen = arg.IsOpen;
         ViewModel.DialogMsg    = arg.Msg;
     });
     Messenger.Default.Register <bool>(View, "NavigationHome", arg =>
     {
         View.Close();                                                     //Close LoginView
         var mainView = AutofacProvider.Get <IModuleDialog>("MainCenter"); //Get MainView Examples
         mainView.ShowDialog();                                            //Show MainView
     });
     Messenger.Default.Register <bool>(View, "Exit", arg =>
     {
         View.Close();
     });
 }
Beispiel #12
0
 public override void SubscribeMessenger()
 {
     Messenger.Default.Register <bool>(View, "DisplayView", arg =>
     {
         ViewModel.DialogIsOpen = arg;
     });
     Messenger.Default.Register <string>(View, "NavigationNewPage", async arg =>
     {
         var module = AutofacProvider.Get <IModule>(arg);
         if (module != null)
         {
             ViewModel.DialogIsOpen = true;
             await Task.Delay(30);
             await module.BindDefaultModel();
             View.page.Content      = module.GetView();
             ViewModel.DialogIsOpen = false; //关闭等待窗口
         }
         else
         {
         }
     });
     Messenger.Default.Register <string>(View, "UpdateBackground", arg =>
     {
         ViewModel.StyleConfig.Url = arg;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateTrans", arg =>
     {
         ViewModel.StyleConfig.Trans = arg / 100;
         //保存用户配置...
     });
     Messenger.Default.Register <double>(View, "UpdateGaussian", arg =>
     {
         ViewModel.StyleConfig.Radius = arg;
         //保存用户配置...
     });
 }
Beispiel #13
0
 public BasicViewModel()
 {
     menuService = AutofacProvider.Get <IBasicService>();
 }
Beispiel #14
0
 public UserViewModel()
 {
     userService = AutofacProvider.Get <IUserService>();
 }
        protected void Application_Start()
        {
            AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException;

            //Manually set the path of "SQLite.Interop.dll" which is a unmanagable dll
            int    wsize   = IntPtr.Size;
            string libdir  = (wsize == 4) ? "x86" : "x64";
            string appPath = System.IO.Path.GetDirectoryName($@"{AppDomain.CurrentDomain.BaseDirectory}\bin\");

            SetDllDirectory(System.IO.Path.Combine(appPath, libdir));

            //Ioc configue
            var provider = new AutofacProvider(
                $@"{AppDomain.CurrentDomain.BaseDirectory}\bin\repoconfig\autofac.repo.reader.json",
                $@"{AppDomain.CurrentDomain.BaseDirectory}\bin\repoconfig\autofac.repo.writer.json",
                $@"{AppDomain.CurrentDomain.BaseDirectory}\bin\moduleconfig\autofac.modules.json");

            //add the configues out of configue files in PreBuild
            provider.PreBuild((builder) => {
                //Interceptor only can be configured by code
                //PersonCommandHandler dependents object that registered in config file
                builder.RegisterType <PersonCommandHandler>()
                .As <IPersonCommandHandler>()
                .EnableInterfaceInterceptors();
                builder.Register(c => new CommandPropertyValidator());

                //Application services
                builder.RegisterType <PersonQueryService>()
                .As <IPersonQueryServiceContract>()
                .EnableInterfaceInterceptors();
                builder.RegisterType <PersonCommandService>()
                .As <IPersonCommandServiceContract>()
                .EnableInterfaceInterceptors();

                var config = GlobalConfiguration.Configuration;
                // Register your Web API controllers.
                builder.RegisterApiControllers(Assembly.GetExecutingAssembly());

                // Register the Autofac filter provider.
                builder.RegisterWebApiFilterProvider(config);

                //Register ErrorHandler
                builder.RegisterType <UnKnownErrorHandler>()
                .As <IUnKnownErrorHandler>();
                builder.RegisterType <NegativeErrorHandler>()
                .As <INegativeErrorHandler>();

                //Register LoggerController
                builder.RegisterType <LoggerFactory>()
                .As <ILoggerFactory>();
                builder.RegisterType <AL.LoggerController <VersionedEvent> >()
                .As <AL.ILoggerController <VersionedEvent> >();
                builder.RegisterType <AL.LoggerController <ExceptionEvent> >()
                .As <AL.ILoggerController <ExceptionEvent> >();
                builder.RegisterType <AL.LoggerController <UnKnownErrorEvent> >()
                .As <AL.ILoggerController <UnKnownErrorEvent> >();
                builder.RegisterType <AL.LoggerController <FirstChanceExceptionEventArgs> >()
                .As <AL.ILoggerController <FirstChanceExceptionEventArgs> >();

                //Register ActionFilters
                builder.RegisterType <NegativeErrorExceptionFilter>()
                .AsWebApiExceptionFilterFor <ApiControllerExtension>()
                .InstancePerRequest();
                builder.RegisterType <UnKnownErrorExceptionFilter>()
                .AsWebApiExceptionFilterFor <ApiControllerExtension>()
                .InstancePerRequest();
            });

            provider.Build();

            provider.AfterBuild((container) =>
            {
                // Set the dependency resolver to be Autofac.
                GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container);
            });

            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);

            //Subscribe UnKnowErrorEvent
            EventBus.Instance.Subscribe(
                provider.GetContainer().Resolve <IUnKnownEventsHandler>());
        }
Beispiel #16
0
 public UserViewModel()
 {
     userService = AutofacProvider.Get <IConsumptionService>();
 }
Beispiel #17
0
 public LoginViewModel()
 {
     userService   = AutofacProvider.Get <IConsumptionService>();
     LoginCommand  = new RelayCommand(Login);
     LogoutCommand = new RelayCommand(LogOut);
 }
Beispiel #18
0
 public MenuViewModel()
 {
     menuService = AutofacProvider.Get <IConsumptionService>();
 }
Beispiel #19
0
 public BasicViewModel()
 {
     service = AutofacProvider.Get <IConsumptionService>();
 }
 public MenuViewModel()
 {
     menuService = AutofacProvider.Get <IMenuService>();
 }