コード例 #1
0
        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);
        }
コード例 #2
0
 public BaseController(ProvinceDBs dbs)
 {
     this.dbs = dbs;
     dbs.CommonDb.GetUserNameFunc = () => Username;
     foreach (var k in dbs.Keys)
     {
         dbs[k].GetUserNameFunc = () => Username;
     }
 }
コード例 #3
0
 public EquipmentsController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #4
0
 public TotalReportController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #5
0
ファイル: CityController.cs プロジェクト: aliaa/TciPM.Blazor
 public CityController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #6
0
 public SubscriberController(ProvinceDBs dbs, DataTableFactory tableFactory) : base(dbs)
 {
     this.tableFactory = tableFactory;
 }
コード例 #7
0
 public CommCenterController(ProvinceDBs dbs, DataExporter dataExporter) : base(dbs)
 {
     this.dataExporter = dataExporter;
 }
コード例 #8
0
 public DashboardController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #9
0
ファイル: DataExporter.cs プロジェクト: aliaa/TciPM.Blazor
 public DataExporter(ProvinceDBs dbs, DataTableFactory tableFactory)
 {
     this.dbs          = dbs;
     this.tableFactory = tableFactory;
 }
コード例 #10
0
 public ChangesReportController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #11
0
 public BillsController(ProvinceDBs dbs, DataTableFactory tableFactory) : base(dbs)
 {
     this.tableFactory = tableFactory;
 }
コード例 #12
0
 public PlaceController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #13
0
 public AccountController(ProvinceDBs dbs) : base(dbs)
 {
 }
コード例 #14
0
 public EquipmentsPmController(ProvinceDBs dbs, IStringNormalizer stringNormalizer) : base(dbs)
 {
     this.stringNormalizer = stringNormalizer;
 }
コード例 #15
0
 public BillsImportController(ProvinceDBs dbs) : base(dbs)
 {
 }