public BackupRepository(BackupDbSettings settings, ILogger <BackupRepository> logger) { _settings = settings; if (_settings.Enabled) { _client = new MongoClient(_settings.ConnectionString); _database = _client.GetDatabase(_settings.Database); } _logger = logger; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { Mapper.Initialize(cfg => { cfg.AddProfile <AutoMapperProfile>(); }); services.AddMvc(config => { config.Filters.Add(new ValidationExceptionFilterAttribute()); config.Filters.Add(new IPLoggingFilter(Log.Logger)); }).SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddJsonOptions(options => { options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); options.SerializerSettings.Converters.Add(new StringEnumConverter()); }); services.Scan(scan => { var one = scan.FromApplicationDependencies(a => a.FullName.StartsWith("Pki.eBusiness.ErpApi", StringComparison.CurrentCulture)); var two = one.AddClasses(c => c.Where(t => t.Name != "BackupRepository")); var three = two.AsMatchingInterface(); }); var swaggerSettings = new SwaggerSettings(); _config.Bind("SwaggerSettings", swaggerSettings); services.AddSingleton(swaggerSettings); var erpRestSettings = new ERPRestSettings(); _config.Bind("ErpRestSettings", erpRestSettings); services.AddSingleton(erpRestSettings); var backupDbSettings = new BackupDbSettings(); _config.Bind("BackupDbSettings", backupDbSettings); services.AddSingleton(backupDbSettings); services.AddSingleton <IBackupRepository, BackupRepository>(); ILoggerFactory loggerFactory = new LoggerFactory(); loggerFactory.AddSerilog(); services.AddSingleton(loggerFactory); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Title = SWAGGER_DOC_NAME, Version = "v1" }); }); ConventionRegistry.Register("IgnoreIfDefault", new ConventionPack { new IgnoreIfNullConvention(true) }, t => true); }