public ApiRoleAttribute(string[] roles) { _roles = roles; DbSet = new CvManagementDbContext(); }
public ApiRoleAttribute(UserRoles role) { _role = role; _dbContext = new CvManagementDbContext(); }
public UserDescriptionDomain(DbContext dbContext, IDbService dbService) { _dbContext = (CvManagementDbContext)dbContext; _dbService = dbService; }
public ResponsibilityDomain(DbContext dbContext, IDbService dbService) { _dbContext = (CvManagementDbContext)dbContext; _dbService = dbService; }
public static void Register(HttpConfiguration httpConfiguration) { var builder = new ContainerBuilder(); builder.RegisterApiControllers() .WithAttributeFiltering(); #region Automapper var oMapperConfigurationExpression = new MapperConfigurationExpression(); oMapperConfigurationExpression.CreateMap <User, ProfileModel>(); oMapperConfigurationExpression.CreateMap <ProfileModel, User>(); oMapperConfigurationExpression.CreateMap <SkillCategory, SkillCategoryViewModel>(); oMapperConfigurationExpression.CreateMap <IQueryable <SkillCategory>, IQueryable <SkillCategoryViewModel> >(); //var autoMapperOptions = new MapperConfiguration(options => //{ // options.CreateMap<User, ProfileModel>(); // options.CreateMap<ProfileModel, User>(); // options.CreateMap<SkillCategory, SkillCategoryViewModel>(); // options.CreateMap<IQueryable<SkillCategory>, IQueryable<SkillCategoryViewModel>>(); //}); var autoMapperOptions = new MapperConfiguration(oMapperConfigurationExpression); var mapper = new Mapper(autoMapperOptions); Mapper.Initialize(oMapperConfigurationExpression); builder.RegisterInstance(mapper) .As <IMapper>() .SingleInstance(); #endregion #region Controllers & hubs // Controllers & hubs builder.RegisterApiControllers(typeof(Startup).Assembly); builder.RegisterWebApiFilterProvider(httpConfiguration); #endregion #region Database context #if !USE_IN_MEMORY builder.Register(c => { var dbContextOptionsBuilder = new DbContextOptionsBuilder <CvManagementDbContext>(); var connectionString = ConfigurationManager.ConnectionStrings["CvManagement"].ConnectionString; dbContextOptionsBuilder.UseSqlServer(connectionString) .EnableSensitiveDataLogging() .UseLoggerFactory(new LoggerFactory().AddConsole( (category, level) => level == LogLevel.Information && category == DbLoggerCategory.Database.Command.Name, true)); var dbContext = new CvManagementDbContext(dbContextOptionsBuilder.Options); return(dbContext); }) .As <DbContext>() .InstancePerLifetimeScope(); #else builder.Register(c => { var dbContextOptionsBuilder = new DbContextOptionsBuilder <CvManagementInMemoryDbContext>(); dbContextOptionsBuilder.UseInMemoryDatabase(nameof(CvManagementInMemoryDbContext)) .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)); var dbContext = new CvManagementInMemoryDbContext(dbContextOptionsBuilder.Options); dbContext.Seed(); return(dbContext); }) .As <DbContext>() .SingleInstance(); #endif #endregion #region Model var appSettings = FindAppSettings(); builder.RegisterInstance(appSettings); var appPaths = FindAppPathSettings(); builder.RegisterInstance(appPaths); #endregion #region Services builder.RegisterGeneric(typeof(Repository <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope(); builder.RegisterType <UnitOfWork>().As <IUnitOfWork>().InstancePerLifetimeScope(); builder.RegisterType <DbService>().As <IDbService>().InstancePerLifetimeScope(); builder.RegisterType <ProfileService>().As <IProfileService>().InstancePerLifetimeScope(); builder.RegisterType <GoogleCaptchaService>().As <ICaptchaService>().InstancePerLifetimeScope(); builder.RegisterType <TokenService>().As <ITokenService>().InstancePerLifetimeScope(); builder.RegisterType <FileService>().As <IFileService>().InstancePerLifetimeScope(); builder.Register(c => new HttpClient()).As <HttpClient>().SingleInstance(); builder.RegisterHttpRequestMessage(httpConfiguration); builder.Register(x => new UrlHelper(x.Resolve <HttpRequestMessage>())); builder.RegisterType <ProfileCacheService>().As <IValueCacheService <string, ProfileModel> >().SingleInstance() .WithAttributeFiltering(); RegisterRedisCachingServices(ref builder); // Api services. builder.RegisterType <UserService>().As <IUserService>().InstancePerLifetimeScope(); builder.RegisterType <UserDescriptionService>().As <IUserDescriptionService>().InstancePerLifetimeScope(); builder.RegisterType <ProjectService>().As <IProjectService>().InstancePerLifetimeScope(); builder.RegisterType <HobbyService>().As <IHobbyService>().InstancePerLifetimeScope(); builder.RegisterType <SkillService>().As <ISkillService>().InstancePerLifetimeScope(); builder.RegisterType <ProjectSkill>().As <IProjectSkillService>().InstancePerLifetimeScope(); builder.RegisterType <ProjectResponsibilityService>().As <IProjectResponsibilityService>().InstancePerLifetimeScope(); builder.RegisterType <ResponsibilityService>().As <IResponsibilityService>().InstancePerLifetimeScope(); builder.RegisterType <SkillCategoryService>().As <ISkillCategoryService>().InstancePerLifetimeScope(); #endregion var containerBuilder = builder.Build(); httpConfiguration.DependencyResolver = new AutofacWebApiDependencyResolver(containerBuilder); }
public SkillCategoryDomain(DbContext dbContext, IDbService dbService) { _dbContext = (CvManagementDbContext)dbContext; _dbService = dbService; }
public ProjectSkillDomain(DbContext dbContext, IDbService dbService) { _dbContext = (CvManagementDbContext)dbContext; _dbService = dbService; }