public async Task<ApplicationDatabase> CreateNewDatabaseAsync(string storageKey)
{
if (storageKey.IsNothing())
{
throw new ArgumentNullException(nameof(storageKey));
}
ClearDirtyDataFlags();
this.budgetAnalyserDatabase = await this.applicationRepository.CreateNewAsync(storageKey);
foreach (var service in this.databaseDependents)
{
await service.CreateAsync(this.budgetAnalyserDatabase);
}
this.monitorableDependencies.NotifyOfDependencyChange(this.budgetAnalyserDatabase);
return this.budgetAnalyserDatabase;
}