Exemple #1
0
        public static void Register(HttpConfiguration config)
        {
            var container = new UnityContainer();

            var mongoUserRepository = new MongoUserRepository();

            container.RegisterInstance <IUserRepository>(mongoUserRepository);
            container.RegisterType <IUserService, UserService>();

            var mongoProductRepository = new MongoProductRepository();

            container.RegisterInstance <IProductRepository>(mongoProductRepository);
            container.RegisterType <IProductService, ProductService>();

            var mongoRentalRepository = new MongoRentalRepository();

            container.RegisterInstance <IRentalRepository>(mongoRentalRepository);
            container.RegisterType <IRentalService, RentalService>();

            config.DependencyResolver = new UnityResolver(container);

            var service = container.Resolve <IUserService>();

            // Web API configuration and services

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );
        }
Exemple #2
0
        public void SetUp()
        {
            var db = TestMongoDatabase.Create();

            db.DropCollection(MongoUserRepository.CollectionName);
            repo = new MongoUserRepository(db);
        }
Exemple #3
0
        public void SetUpOnce()
        {
            var builder = new MongoDatabaseBuilder(new DatabaseSettings {
                DatabaseName = DatabaseName
            });
            var database = builder.Build();

            _collection = database.GetCollection <UserEntity>(MongoUserRepository.CollectionName);
            _repository = new MongoUserRepository(database);
        }
Exemple #4
0
 public static void SetUserLocale(Activity activity, string locale)
 {
     if (activity != null)
     {
         try
         {
             var db   = new MongoUserRepository();
             var user = db.GetAll().FirstOrDefault(x => x.ChannelId == activity.ChannelId && x.UserId == activity.From.Id &&
                                                   x.UserName == activity.From.Name);
             if (user != null)
             {
                 user.Locale = locale;
                 db.Update(user);
             }
         }
         catch (Exception e)
         {
             Console.WriteLine(e);
         }
     }
 }
Exemple #5
0
        public static User GetOrCreateUser(Activity activity)
        {
            if (activity != null)
            {
                try
                {
                    var db = new MongoUserRepository();

                    var user = db.GetAll().FirstOrDefault(x => x.ChannelId == activity.ChannelId && x.UserId == activity.From.Id &&
                                                          x.UserName == activity.From.Name);
                    if (user == null)
                    {
                        user = new User(activity);
                        db.Add(user);
                    }
                    return(user);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
            return(null);
        }
Exemple #6
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(options => {
                options.Filters.Add(new ModelValidationFilter());
            });

            var conn    = Configuration.GetValue <string>("mongoConnectionString");
            var sqlConn = Configuration.GetValue <string>("sqlConnectionString");
            var businessLogicCompositionRoot = CompositionRoot.Configure();

            services.AddSingleton(businessLogicCompositionRoot.UserFacade);
            IUserRepository mongoUserRepo = new MongoUserRepository(conn);
            IUserRepository sqlUserRepo   = new SqlUserRepository(sqlConn);

            services.AddSingleton(sqlUserRepo);


            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new Info {
                    Title = "UserApi", Version = "v1"
                });
            });
        }
Exemple #7
0
 public UserController(MongoUserRepository userRepository)
 {
     _userRepository = userRepository;
 }
Exemple #8
0
        public static IServiceProvider Bootstrap(IServiceCollection services, Settings settings)
        {
            var container = new Container();

            container.Configure(config =>
            {
                config.Scan(scanner =>
                {
                    scanner.TheCallingAssembly();
                    scanner.WithDefaultConventions();
                });


                // servcies

                var mongoClient = MongoConnectionFactory.GetConnection(settings.ConnectionString);
                config.For <IUserRepository <string> >().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(MongoUserRepository.Create(mongoClient, settings.DbName));
                config.For <ILogRepository <string> >().LifecycleIs(new ThreadLocalStorageLifecycle()).Use(MongoLogRepository.Create(mongoClient, settings.DbName));

                config.For <ILogService>().Use <LogService>();
                config.For <IUserService>().Use <UserService>();

                // external services
                config.Populate(services);
            });

            return(container.GetInstance <IServiceProvider>());
        }
Exemple #9
0
 public void SetUp()
 {
     _repository = new MongoUserRepository(MongoDatabaseFactory.DefaultInstance);
 }
Exemple #10
0
 public GameController(MongoGameRepository gameRepository, MongoWordRepository wordRepository, MongoUserRepository userRepository)
 {
     _gameRepository = gameRepository;
     _wordRepository = wordRepository;
     _userRepository = userRepository;
 }
        public AuthenticationController(MongoUserRepository userRepository)

        {
            this.userRepository = userRepository;
        }