public async Task DownloadServerChanges(MobileMetadataDownloadResponse downloadedMetadata, CancellationToken cancellationToken) { // TODO: this can be optimized: each granted application // results on a call issued to the server. //TODO: no need to fetch again from database var applications = await _metadataRepository.LoadAllApplicationsAsync(cancellationToken); foreach (var application in applications) { await DownloadApplicationChanges(application, cancellationToken); } }
private static async Task SaveResultsToDB(CancellationToken cancellationToken, bool resetSequences, MobileMetadataDownloadResponse downloadData) { await MetadataRepository.SaveMenuAsync(downloadData.Menu, cancellationToken); foreach (var completeMetadata in downloadData.Metadatas) { await MetadataRepository.SaveAsync(completeMetadata.MobileSchema(), cancellationToken); } if (resetSequences) { await MetadataRepository.RecreateSequencesAsync(cancellationToken); } }