Beispiel #1
0
        public static IChangeNotifierService GetChangeNotifierService()
        {
            if (_changeNotifierService == null)
            {
                _changeNotifierService = new ChangeNotifierService(GetSettingService(), GetLoggerService(), GetStorageService());
            }

            return(_changeNotifierService);
        }
        public CosmosPersistenceService(ISettingService setting, ILoggerService logger, IChangeNotifierService changeService)
        {
            _settingService        = setting;
            _loggerService         = logger;
            _changeNotifierService = changeService;

            _docDbEndpointUri = _settingService.GetDocDbEndpointUri();
            _docDbPrimaryKey  = _settingService.GetDocDbApiKey();

            _docDbDatabaseName = _settingService.GetDocDbRideShareDatabaseName();
            _docDbDigitalMainCollectionName = _settingService.GetDocDbMainCollectionName();
        }
        public CosmosPersistenceService(ISettingService setting, ILoggerService logger, IChangeNotifierService changeService)
        {
            _settingService        = setting;
            _loggerService         = logger;
            _changeNotifierService = changeService;

            _docDbEndpointUri = _settingService.GetDocDbEndpointUri();
            _docDbPrimaryKey  = _settingService.GetDocDbApiKey();

            _docDbDatabaseName = _settingService.GetDocDbRideShareDatabaseName();
            _docDbDigitalMainCollectionName = _settingService.GetDocDbMainCollectionName();

            _cosmosContainer = new Lazy <Task <Container> >(async() =>
            {
                var cosmos = new CosmosClient(setting.GetDocDbEndpointUri(), setting.GetDocDbApiKey());
                var db     = cosmos.GetDatabase(setting.GetDocDbRideShareDatabaseName());
                //TODO: Hardcoded partition key field here
                return(await db.CreateContainerIfNotExistsAsync(setting.GetDocDbMainCollectionName(), "/code", throughput: setting.GetDocDbThroughput()));
            });
        }