// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var connectionString = Configuration.GetConnectionString("radicitus-health"); var redisConnectionString = Configuration.GetConnectionString("radicitus-health-redis"); var dbContext = new RadicitusHealthContext(); services.AddDbContext <RadicitusHealthContext>(optionsAction => { optionsAction.UseNpgsql(connectionString, builder => { builder.MigrationsAssembly("Radicitus.Health"); }); }); var redisConnection = new RedisConnection(redisConnectionString); redisConnection.Connect(); var repo = new RadicitusRedisDataRepository(redisConnection); repo.AddTags(new List <string> { "recipes", "workouts", "playlists" }).GetAwaiter().GetResult(); services.AddSingleton <IRadicitusRedisDataRepository, RadicitusRedisDataRepository>((item) => { return(repo); }); services.AddScoped <IOpenGraphRepository, OpenGraphNetRepository>(); services.AddScoped <IHealthInitiativeRepository, HealthInitiativeRepository>(); services.AddScoped <IParticipantLogRepository, ParticipantLogRepository>(); services.AddScoped <IHealthParticipantRepository, HealthParticipantRepository>(); services.AddControllers(); // In production, the Vue files will be served from this directory services.AddSpaStaticFiles(configuration => { configuration.RootPath = "health-app/dist"; }); }
public HealthParticipantRepository(RadicitusHealthContext context) { _context = context; }
public ParticipantsController(IHealthParticipantRepository repo, RadicitusHealthContext db) { _repo = repo; _db = db; }
public HealthInitiativeRepository(RadicitusHealthContext db) { _db = db; }