private void ParseFileElement(XElement fileElement, out File file, out UploadFileError error) { XAttribute errorAttribute = fileElement.Attribute(XName.Get("error")); file = ParseFileElement(fileElement); error = errorAttribute != null ? ParseUploadFileError(errorAttribute.Value) : UploadFileError.None; }
private File ParseUnknownFileTypeElement(XElement fileElement) { File file = new File(); XAttribute idAttribute = fileElement.Attribute(XName.Get("id")); XAttribute nameAttribute = fileElement.Attribute(XName.Get("file_name")); XAttribute descriptionAttribute = fileElement.Attribute(XName.Get("description")); XAttribute sizeAttribute = fileElement.Attribute(XName.Get("size")); XAttribute createdAttribute = fileElement.Attribute(XName.Get("created")); XAttribute updatedAttribute = fileElement.Attribute(XName.Get("updated")); XAttribute userIdAttribute = fileElement.Attribute(XName.Get("user_id")); XAttribute permissionsAttribute = fileElement.Attribute(XName.Get("permissions")); XAttribute sharedAttribute = fileElement.Attribute(XName.Get("shared")); XAttribute sha1Attribute = fileElement.Attribute(XName.Get("sha1")); XAttribute sharedLinkAttribute = fileElement.Attribute(XName.Get("shared_link")); XAttribute publicNameAttribute = fileElement.Attribute(XName.Get("public_name")); if (idAttribute != null) { file.ID = long.Parse(idAttribute.Value); } if (nameAttribute != null) { file.Name = nameAttribute.Value; } if (descriptionAttribute != null) { file.Description = descriptionAttribute.Value; } if (sharedAttribute != null) { file.IsShared = sharedAttribute.Value.Equals("1"); } if (createdAttribute != null) { file.Created = UnixTimeConverter.Instance.FromUnixTime(double.Parse(createdAttribute.Value)); } if (updatedAttribute != null) { file.Updated = UnixTimeConverter.Instance.FromUnixTime(double.Parse(updatedAttribute.Value)); } if (sizeAttribute != null) { file.Size = long.Parse(sizeAttribute.Value); } if (userIdAttribute != null) { file.OwnerID = long.Parse(userIdAttribute.Value); } if (permissionsAttribute != null) { file.PermissionFlags = ParsePermissionString(permissionsAttribute.Value); } if (sha1Attribute != null) { file.SHA1Hash = sha1Attribute.Value; } if (sharedLinkAttribute != null) { file.SharedLink = sharedLinkAttribute.Value; } if (publicNameAttribute != null) { file.PublicName = publicNameAttribute.Value; } return file; }
/// <summary> /// Retrieves the details for a specified file by its ID /// </summary> /// <param name="fileID">File ID</param> /// <returns>Information about a file</returns> public GetFileInfoResponse GetFileInfo(long fileID) { SOAPFileInfo fileInfo; string status = _service.get_file_info(_apiKey, _token, fileID, out fileInfo); File file = new File { Created = UnixTimeConverter.Instance.FromUnixTime(fileInfo.created), Description = fileInfo.description, ID = fileInfo.file_id, IsShared = fileInfo.shared == 1, Name = fileInfo.file_name, PublicName = fileInfo.public_name, SHA1Hash = fileInfo.sha1, Size = fileInfo.size, Updated = UnixTimeConverter.Instance.FromUnixTime(fileInfo.updated) }; return new GetFileInfoResponse { Status = StatusMessageParser.ParseGetFileInfoStatus(status), File = file }; }