protected override Task OnInitializeAsync(IActivatedEventArgs args) { EventAggregator = new EventAggregator(); Container.RegisterInstance<INavigationService>(NavigationService); Container.RegisterInstance<ISessionStateService>(SessionStateService); Container.RegisterInstance<IEventAggregator>(EventAggregator); Container.RegisterInstance<IResourceLoader>(new ResourceLoaderAdapter(new ResourceLoader())); Container.RegisterType<IAccountService, AccountService>(new ContainerControlledLifetimeManager()); Container.RegisterType<ICredentialStore, RoamingCredentialStore>(new ContainerControlledLifetimeManager()); Container.RegisterType<ICacheService, TemporaryFolderCacheService>(new ContainerControlledLifetimeManager()); Container.RegisterType<ISecondaryTileService, SecondaryTileService>(new ContainerControlledLifetimeManager()); Container.RegisterType<IAlertMessageService, AlertMessageService>(new ContainerControlledLifetimeManager()); // Register repositories Container.RegisterType<IProductCatalogRepository, ProductCatalogRepository>(new ContainerControlledLifetimeManager()); Container.RegisterType<IShoppingCartRepository, ShoppingCartRepository>(new ContainerControlledLifetimeManager()); Container.RegisterType<ICheckoutDataRepository, CheckoutDataRepository>(new ContainerControlledLifetimeManager()); Container.RegisterType<IOrderRepository, OrderRepository>(new ContainerControlledLifetimeManager()); // Register web service proxies Container.RegisterType<IProductCatalogService, ProductCatalogServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IOrderService, OrderServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IShoppingCartService, ShoppingCartServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IShippingMethodService, ShippingMethodServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IIdentityService, IdentityServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<ILocationService, LocationServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IAddressService, AddressServiceProxy>(new ContainerControlledLifetimeManager()); Container.RegisterType<IPaymentMethodService, PaymentMethodServiceProxy>(new ContainerControlledLifetimeManager()); // Register child view models Container.RegisterType<IShippingAddressUserControlViewModel, ShippingAddressUserControlViewModel>(); Container.RegisterType<IBillingAddressUserControlViewModel, BillingAddressUserControlViewModel>(); Container.RegisterType<IPaymentMethodUserControlViewModel, PaymentMethodUserControlViewModel>(); Container.RegisterType<ISignInUserControlViewModel, SignInUserControlViewModel>(); ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver((viewType) => { var viewModelTypeName = string.Format(CultureInfo.InvariantCulture, "AdventureWorks.UILogic.ViewModels.{0}ViewModel, AdventureWorks.UILogic, Version=1.1.0.0, Culture=neutral", viewType.Name); var viewModelType = Type.GetType(viewModelTypeName); if (viewModelType == null) { viewModelTypeName = string.Format(CultureInfo.InvariantCulture, "AdventureWorks.UILogic.ViewModels.{0}ViewModel, AdventureWorks.UILogic.Windows, Version=1.0.0.0, Culture=neutral", viewType.Name); viewModelType = Type.GetType(viewModelTypeName); } return viewModelType; }); // Documentation on working with tiles can be found at http://go.microsoft.com/fwlink/?LinkID=288821&clcid=0x409 _tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication(); _tileUpdater.StartPeriodicUpdate(new Uri(Constants.ServerAddress + "/api/TileNotification"), PeriodicUpdateRecurrence.HalfHour); var resourceLoader = Container.Resolve<IResourceLoader>(); return base.OnInitializeAsync(args); }
public override void OnInitialize(IActivatedEventArgs args) { _eventAggregator = new EventAggregator(); _container.RegisterInstance<INavigationService>(NavigationService); _container.RegisterInstance<ISuspensionManagerState>(SuspensionManagerState); _container.RegisterInstance<IFlyoutService>(FlyoutService); _container.RegisterInstance<IEventAggregator>(_eventAggregator); _container.RegisterInstance<ISettingsStoreService>(new SettingsStoreService()); _container.RegisterInstance<IAssetsService>(new AssetsService("Logo.png", "WideLogo.scale-100.png")); _container.RegisterInstance<IResourceLoader>(new ResourceLoaderAdapter(new ResourceLoader())); _container.RegisterType<IRequestService, RequestService>(new ContainerControlledLifetimeManager()); _container.RegisterType<IAccountService, AccountService>(new ContainerControlledLifetimeManager()); _container.RegisterType<ICredentialStore, RoamingCredentialStore>(new ContainerControlledLifetimeManager()); _container.RegisterType<ICacheService, TemporaryFolderCacheService>(new ContainerControlledLifetimeManager()); _container.RegisterType<ITileService, TileService>(new ContainerControlledLifetimeManager()); _container.RegisterType<IAlertMessageService, AlertMessageService>(new ContainerControlledLifetimeManager()); _container.RegisterType<ISearchPaneService, SearchPaneService>(new ContainerControlledLifetimeManager()); _container.RegisterType<IEncryptionService, EncryptionService>(new ContainerControlledLifetimeManager()); // Register repositories _container.RegisterType<IProductCatalogRepository, ProductCatalogRepository>(new ContainerControlledLifetimeManager()); _container.RegisterType<IShoppingCartRepository, ShoppingCartRepository>(new ContainerControlledLifetimeManager()); _container.RegisterType<ICheckoutDataRepository, CheckoutDataRepository>(new ContainerControlledLifetimeManager()); _container.RegisterType<IOrderRepository, OrderRepository>(new ContainerControlledLifetimeManager()); // Register web service proxies _container.RegisterType<IProductCatalogService, ProductCatalogServiceProxy>(new ContainerControlledLifetimeManager()); _container.RegisterType<IOrderService, OrderServiceProxy>(new ContainerControlledLifetimeManager()); _container.RegisterType<IShoppingCartService, ShoppingCartServiceProxy>(new ContainerControlledLifetimeManager()); _container.RegisterType<IShippingMethodService, ShippingMethodServiceProxy>(new ContainerControlledLifetimeManager()); _container.RegisterType<IIdentityService, IdentityServiceProxy>(new ContainerControlledLifetimeManager()); _container.RegisterType<ILocationService, LocationServiceProxy>(new ContainerControlledLifetimeManager()); // Register child view models _container.RegisterType<IShippingAddressUserControlViewModel, ShippingAddressUserControlViewModel>(); _container.RegisterType<IBillingAddressUserControlViewModel, BillingAddressUserControlViewModel>(); _container.RegisterType<IPaymentMethodUserControlViewModel, PaymentMethodUserControlViewModel>(); // <snippet302> ViewModelLocator.SetDefaultViewTypeToViewModelTypeResolver((viewType) => { var viewModelTypeName = string.Format("Kona.UILogic.ViewModels.{0}ViewModel, Kona.UILogic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=634ac3171ee5190a", viewType.Name); var viewModelType = Type.GetType(viewModelTypeName); return viewModelType; }); //</snippet302> // <snippet800> _tileUpdater = TileUpdateManager.CreateTileUpdaterForApplication(); _tileUpdater.EnableNotificationQueue(true); _tileUpdater.StartPeriodicUpdate(new Uri(Kona.UILogic.Constants.ServerAddress + "/api/TileNotification"), PeriodicUpdateRecurrence.HalfHour); // </snippet800> }