Пример #1
0
        private string GetParentId(IFileSystemInfo fileInfo, IMetaDataStorage storage)
        {
            IDirectoryInfo parent = null;

            if (fileInfo is IDirectoryInfo)
            {
                IDirectoryInfo localDirInfo = fileInfo as IDirectoryInfo;
                parent = localDirInfo.Parent;
            }
            else
            {
                IFileInfo localFileInfo = fileInfo as IFileInfo;
                parent = localFileInfo.Directory;
            }

            try {
                Guid uuid;
                if (Guid.TryParse(parent.GetExtendedAttribute(MappedObject.ExtendedAttributeKey), out uuid))
                {
                    return(storage.GetObjectByGuid(uuid).RemoteObjectId);
                }
            } catch (IOException) {
            }

            IMappedObject mappedParent = storage.GetObjectByLocalPath(parent);

            return(mappedParent.RemoteObjectId);
        }