public static void AddMongDbContext(this IServiceCollection services, IConfiguration config) { string filePath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), StringNormalizer.JSON_FILE_NAME); var stringNormalizer = new StringNormalizer(filePath); services.AddSingleton <IStringNormalizer>(stringNormalizer); var connString = config.GetValue <string>("MongoConnString"); var customConnections = config.GetSection("CustomConnections").Get <List <CustomMongoConnection> >(); foreach (var cc in customConnections) { if (cc.ConnectionString == null) { cc.ConnectionString = connString; } } var provinceDbInfo = customConnections.Where(c => c.Type == nameof(Province)).FirstOrDefault(); var provinceDb = new MongoDbContext(provinceDbInfo.DBName, provinceDbInfo.ConnectionSettings); var dbs = new ProvinceDBs { CommonDb = provinceDb }; var dbName = config.GetValue <string>("DBName"); foreach (var p in provinceDb.FindGetResults <Province>(p => p.Applications.Contains("PM"))) { var db = new MongoDbContext(dbName + "-" + p.Prefix, connString, customConnections: customConnections, objectPreprocessor: stringNormalizer); dbs.Add(p.Prefix, db); } services.AddSingleton(dbs); }
public BaseController(ProvinceDBs dbs) { this.dbs = dbs; dbs.CommonDb.GetUserNameFunc = () => Username; foreach (var k in dbs.Keys) { dbs[k].GetUserNameFunc = () => Username; } }
public EquipmentsController(ProvinceDBs dbs) : base(dbs) { }
public TotalReportController(ProvinceDBs dbs) : base(dbs) { }
public CityController(ProvinceDBs dbs) : base(dbs) { }
public SubscriberController(ProvinceDBs dbs, DataTableFactory tableFactory) : base(dbs) { this.tableFactory = tableFactory; }
public CommCenterController(ProvinceDBs dbs, DataExporter dataExporter) : base(dbs) { this.dataExporter = dataExporter; }
public DashboardController(ProvinceDBs dbs) : base(dbs) { }
public DataExporter(ProvinceDBs dbs, DataTableFactory tableFactory) { this.dbs = dbs; this.tableFactory = tableFactory; }
public ChangesReportController(ProvinceDBs dbs) : base(dbs) { }
public BillsController(ProvinceDBs dbs, DataTableFactory tableFactory) : base(dbs) { this.tableFactory = tableFactory; }
public PlaceController(ProvinceDBs dbs) : base(dbs) { }
public AccountController(ProvinceDBs dbs) : base(dbs) { }
public EquipmentsPmController(ProvinceDBs dbs, IStringNormalizer stringNormalizer) : base(dbs) { this.stringNormalizer = stringNormalizer; }
public BillsImportController(ProvinceDBs dbs) : base(dbs) { }