Exemplo n.º 1
0
        protected virtual void RegisterServices(IKernel kernel)
        {
            var stringNormalizer = new StringNormalizer(Path.Combine(rootPath, "PersianCharsMap.json"));

            kernel.Bind <IStringNormalizer>().ToConstant(stringNormalizer);

            var db = new MongoDbContext(ConfigurationManager.AppSettings["DBName"], ConfigurationManager.AppSettings["MongoConnString"],
                                        getUsernameFunc: () => HttpContext.Current?.User?.Identity?.Name,
                                        objectPreprocessor: stringNormalizer,
                                        setDictionaryConventionToArrayOfDocuments: ConfigurationManager.AppSettings["setDictionaryConventionToArrayOfDocuments"] == "true",
                                        customConnections: GetCustomConnections());

            db.DefaultPreprocess = true;
            kernel.Bind <IDbContext>().ToConstant(db);
            kernel.Bind <IReadOnlyDbContext>().ToConstant(db);

            DataTableFactory tableFactory = new DataTableFactory(db);

            kernel.Bind <DataTableFactory>().ToConstant(tableFactory).InSingletonScope();

            string provincePrefix = ConfigurationManager.AppSettings["Province"];

            if (provincePrefix != null)
            {
                var province = db.FindFirst <Province>(p => p.Prefix == provincePrefix);
                kernel.Bind <Province>().ToConstant(province);
            }
        }