public DataEnvelope LoadFileData(int fileID) { AuthorizedIdent ident = AuthenticateTicket(Ticket); CFile file = new FileSystem(ident, true).GetFile(fileID); FileSystemProviderFactory.GetInstance(this); m_fs.FetchData(file); return(new DataEnvelope(file.RawData, file.RawData.Length)); }
/// <summary> /// Load data for a file /// </summary> public bool LoadFileData(CFile file) { if (file.IsDirectory()) { return(false); } //Authorize if (!Authorize(file, FileAction.READ)) { throw new FileOperationException("Permission denied for action: READ"); } //Connect to data service FileDataWebGateway fds = (FileDataWebGateway)m_fdss[m_ident.Name]; if (fds != null) { DataEnvelope data; try { data = fds.LoadFileData(file.ID); } catch (Exception) { FileServiceInit(m_ident, true); fds = (FileDataWebGateway)m_fdss[m_ident.Name]; try { data = fds.LoadFileData(file.ID); } catch (Exception) { throw new FileOperationException("Unable to connect to the file system or file not found"); } } if (data.Size > 0) { file.RawData = data.Data; } else { file.RawData = new byte[0]; } } else { m_fs.FetchData(file); } return(true); }