Example #1
0
 public LibraryService(IBorrowInfoRepository borrowInfoRepository, IBookStoreInfoRepository bookStoreInfoRepository, IBookOutInfoRepository bookOutInfoRepository)
 {
     this.bookOutInfoRepository = bookOutInfoRepository;
     this.bookStoreInfoRepository = bookStoreInfoRepository;
     this.borrowInfoRepository = borrowInfoRepository;
 }
Example #2
0
 public LibraryService(IBorrowInfoRepository borrowInfoRepository)
 {
     this.borrowInfoRepository = borrowInfoRepository;
 }
Example #3
0
        private static void InitializeIocAndFramework()
        {
            //初始化IoC, 将IoC保存到静态变量中,以便永久保存该对象
            IUnityContainer container = new UnityContainer();
            UnityContainerHolder.UnityContainer = container;

            IUnityContainer unityContainer = container.RegisterType<IUnitOfWork, UnitOfWork>(new ContainerControlledLifetimeManager());
            //container.RegisterType<IEventPublisher, EventPublisher>(new ContainerControlledLifetimeManager());

            container.RegisterType<ILibraryService, LibraryService>(new ContainerControlledLifetimeManager());
            container.RegisterType<ILibraryAccountRepository, LibraryAccountRepository>(new ContainerControlledLifetimeManager());
            container.RegisterType<IBookRepository, BookRepository>(new ContainerControlledLifetimeManager());
            container.RegisterType<IBorrowInfoRepository, BorrowInfoRepository>(new ContainerControlledLifetimeManager());
            container.RegisterType<IBookStoreInfoRepository, BookStoreInfoRepository>(new ContainerControlledLifetimeManager());
            container.RegisterType<IBookOutInfoRepository, BookOutInfoRepository>(new ContainerControlledLifetimeManager());
            container.RegisterType<ITraceManager, TraceManager>(new ContainerControlledLifetimeManager());
            container.RegisterType<IDatabaseFactory, DatabaseFactory>(new ContainerControlledLifetimeManager());

            //初始化Domain
            DomainInitializer.Current.InitializeDomain(typeof(Book).Assembly);
            DomainInitializer.Current.ResolveDomainEvents(typeof(Book).Assembly);

            bookRepository = IoCFactory.Instance.CurrentContainer.GetInstance<IBookRepository>();
            libraryAccountRepository = IoCFactory.Instance.CurrentContainer.GetInstance<ILibraryAccountRepository>();
            borrowInfoRepository = IoCFactory.Instance.CurrentContainer.GetInstance<IBorrowInfoRepository>();
            library = IoCFactory.Instance.CurrentContainer.GetInstance<ILibraryService>();
        }