예제 #1
0
        private FileWrapper <T> GetFileWrapper <T>(File <T> file)
        {
            var result = Get <FileWrapper <T>, T>(file);

            result.FileExst                = FileUtility.GetFileExtension(file.Title);
            result.FileType                = FileUtility.GetFileTypeByExtention(result.FileExst);
            result.Version                 = file.Version;
            result.VersionGroup            = file.VersionGroup;
            result.ContentLength           = file.ContentLengthString;
            result.FileStatus              = file.FileStatus;
            result.PureContentLength       = file.ContentLength.NullIfDefault();
            result.Comment                 = file.Comment;
            result.Encrypted               = file.Encrypted.NullIfDefault();
            result.Locked                  = file.Locked.NullIfDefault();
            result.LockedBy                = file.LockedBy;
            result.CanWebRestrictedEditing = FileUtility.CanWebRestrictedEditing(file.Title);
            result.CanFillForms            = FileSecurity.CanFillForms(file);

            try
            {
                result.ViewUrl = CommonLinkUtility.GetFullAbsolutePath(file.DownloadUrl);

                result.WebUrl = CommonLinkUtility.GetFullAbsolutePath(FilesLinkUtility.GetFileWebPreviewUrl(FileUtility, file.Title, file.ID, file.Version));

                result.ThumbnailStatus = file.ThumbnailStatus;

                if (file.ThumbnailStatus == Thumbnail.Created)
                {
                    result.ThumbnailUrl = CommonLinkUtility.GetFullAbsolutePath(FilesLinkUtility.GetFileThumbnailUrl(file.ID, file.Version));
                }
            }
            catch (Exception)
            {
                //Don't catch anything here because of httpcontext
            }

            return(result);
        }