public void Launch(IServiceCollection services)
        {
            services.AddSingleton <IUserRepository, UserRepository>();
            var nonActionPresenter = new NonActionPresenter();

            services.AddSingleton <IUserCreatePresenter>(nonActionPresenter);

            var busBuilder = new SyncUseCaseBusBuilder(services);

            busBuilder.RegisterUseCase <UserCreateRequest, UserCreateInteractor>();
            busBuilder.RegisterUseCase <UserGetListRequest, UserGetListInteractor>();

            var usecaseBus = busBuilder.Build();

            services.AddSingleton(usecaseBus);
        }
        public void Launch(IServiceCollection services)
        {
            services.AddTransient <IUserRepository, InMemoryUserRepository>();

            var nonActionPresenter = new NonActionPresenter();

            services.AddSingleton <IUserCreatePresenter>(nonActionPresenter);
            var debugDataDirectory = Path.Combine(Environment.CurrentDirectory, "bin", "Debug", "netcoreapp2.0", "Data");
            var jsonsLoader        = new JsonsLoader(debugDataDirectory);

            services.AddSingleton(jsonsLoader);

            var busBuilder = new SyncUseCaseBusBuilder(services);

            busBuilder.RegisterUseCase <UserCreateRequest, MockUserCreateInteractor>();
            busBuilder.RegisterUseCase <UserGetListRequest, MockUserGetListInteractor>();

            var usecaseBus = busBuilder.Build();

            services.AddSingleton(usecaseBus);
        }