Exemple #1
0
        public async Task DeleteFolderAsync(Folder folder)
        {
            await _folderRepository.DeleteAsync(folder);

            // push
            await _pushService.PushSyncFolderDeleteAsync(folder);
        }
Exemple #2
0
        private async Task SyncFoldersAsync(IDictionary <string, CipherResponse> serverFolders)
        {
            if (!_authService.IsAuthenticated)
            {
                return;
            }

            var localFolders = (await _folderRepository.GetAllByUserIdAsync(_authService.UserId).ConfigureAwait(false))
                               .ToDictionary(f => f.Id);

            foreach (var serverFolder in serverFolders)
            {
                if (!_authService.IsAuthenticated)
                {
                    return;
                }

                try
                {
                    var data = new FolderData(serverFolder.Value, _authService.UserId);
                    await _folderRepository.UpsertAsync(data).ConfigureAwait(false);
                }
                catch (SQLite.SQLiteException) { }
            }

            foreach (var folder in localFolders.Where(localFolder => !serverFolders.ContainsKey(localFolder.Key)))
            {
                try
                {
                    await _folderRepository.DeleteAsync(folder.Value.Id).ConfigureAwait(false);
                }
                catch (SQLite.SQLiteException) { }
            }
        }
Exemple #3
0
        private async Task SyncFoldersAsync(IDictionary <string, CipherResponse> serverFolders, bool deleteMissing)
        {
            if (!_authService.IsAuthenticated)
            {
                return;
            }

            var localFolders = (await _folderRepository.GetAllByUserIdAsync(_authService.UserId).ConfigureAwait(false))
                               .ToDictionary(f => f.Id);

            foreach (var serverFolder in serverFolders)
            {
                if (!_authService.IsAuthenticated)
                {
                    return;
                }

                var existingLocalFolder = localFolders.ContainsKey(serverFolder.Key) ? localFolders[serverFolder.Key] : null;
                if (existingLocalFolder == null)
                {
                    var data = new FolderData(serverFolder.Value, _authService.UserId);
                    await _folderRepository.InsertAsync(data).ConfigureAwait(false);
                }
                else if (existingLocalFolder.RevisionDateTime != serverFolder.Value.RevisionDate)
                {
                    var data = new FolderData(serverFolder.Value, _authService.UserId);
                    await _folderRepository.UpdateAsync(data).ConfigureAwait(false);
                }
            }

            if (!deleteMissing)
            {
                return;
            }

            foreach (var folder in localFolders.Where(localFolder => !serverFolders.ContainsKey(localFolder.Key)))
            {
                await _folderRepository.DeleteAsync(folder.Value.Id).ConfigureAwait(false);
            }
        }
        public async Task <ApiResult> DeleteAsync(string folderId)
        {
            var response = await _folderApiRepository.DeleteAsync(folderId);

            if (response.Succeeded)
            {
                await _folderRepository.DeleteAsync(folderId);
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.Forbidden ||
                     response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
            {
                _authService.LogOut();
            }

            return(response);
        }
Exemple #5
0
        public async Task <ApiResult> DeleteAsync(string folderId)
        {
            var response = await _folderApiRepository.DeleteAsync(folderId);

            if (response.Succeeded)
            {
                await _folderRepository.DeleteAsync(folderId);
            }
            else if (response.StatusCode == System.Net.HttpStatusCode.Forbidden ||
                     response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
            {
                MessagingCenter.Send(Application.Current, "Logout", (string)null);
            }

            return(response);
        }
 public async Task Delete(int id)
 {
     await repository.DeleteAsync(id);
 }
Exemple #7
0
 public async Task DeleteAsync(string id)
 {
     await _repository.DeleteAsync(id);
 }