Beispiel #1
0
        public async Task StopRoamingFile(IBindableStorageFile file)
        {
            using (await f_lock.Acquire())
            {
                if (!LocalFiles.Contains(file))
                {
                    //Backing values
                    string oldPath = GetParentFolder(file.BackingFile);
                    string value   = await _ivService.GetValue(oldPath, FileLocation.Roamed);

                    await _ivService.Remove(oldPath, FileLocation.Roamed);

                    await file.BackingFile.MoveAsync(_localFolder, file.BackingFile.Name, NameCollisionOption.GenerateUniqueName);

                    await _ivService.Add(GetParentFolder(file.BackingFile), value, FileLocation.Local);

                    RoamedFiles.Remove(file);

                    //UI
                    file.IsRoamed = false;
                    LocalFiles.Add(file);
                }
            }
        }