Example #1
0
        private async Task <T> ProcessDirectoryChanges <T>(T item) where T : FileSystemItem
        {
            var serializedDirectory = new FileSystemDirectorySerializer().Serialize(FileSystemItems.Values.Where(p => p.HasParent));
            await LocalStorageRepository.SetItem(LocalStorageDirectoryFileName, serializedDirectory);

            DirectoryChanged?.Invoke(this, EventArgs.Empty);
            return(item);
        }
Example #2
0
        private async Task EnsureInitialized()
        {
            if (!IsInitialized)
            {
                try
                {
                    var serializedDirectory = await LocalStorageRepository.GetItem(LocalStorageDirectoryFileName);

                    if (!String.IsNullOrWhiteSpace(serializedDirectory))
                    {
                        var dtos = new FileSystemDirectorySerializer().Deserialize(serializedDirectory).ToList();
                        await RestoreFromDto(dtos, RootFolder.Key);
                    }
                }
                catch (Exception ex)
                {
                    Logger.LogError(ex, "Initialization error");
                }
                IsInitialized = true;
            }
        }