コード例 #1
0
        public FileWrapper <T> CreateFile(T folderId, string title, JsonElement templateId, bool enableExternalExt = false)
        {
            File <T> file;

            if (templateId.ValueKind == JsonValueKind.Number)
            {
                file = FileStorageService.CreateNewFile(new FileModel <T, int> {
                    ParentId = folderId, Title = title, TemplateId = templateId.GetInt32()
                }, enableExternalExt);
            }
            else if (templateId.ValueKind == JsonValueKind.String)
            {
                file = FileStorageService.CreateNewFile(new FileModel <T, string> {
                    ParentId = folderId, Title = title, TemplateId = templateId.GetString()
                }, enableExternalExt);
            }
            else
            {
                file = FileStorageService.CreateNewFile(new FileModel <T, int> {
                    ParentId = folderId, Title = title, TemplateId = 0
                }, enableExternalExt);
            }

            return(FileWrapperHelper.Get(file));
        }
コード例 #2
0
        public List <FileEntryWrapper> GetNewItems(T folderId)
        {
            return(FileStorageService.GetNewItems(folderId)
                   .Select(r =>
            {
                FileEntryWrapper wrapper = null;
                if (r is Folder <int> fol1)
                {
                    wrapper = FolderWrapperHelper.Get(fol1);
                }
                else if (r is Folder <string> fol2)
                {
                    wrapper = FolderWrapperHelper.Get(fol2);
                }
                else if (r is File <int> file1)
                {
                    wrapper = FileWrapperHelper.Get(file1);
                }
                else if (r is File <string> file2)
                {
                    wrapper = FileWrapperHelper.Get(file2);
                }

                return wrapper;
            })
                   .ToList());
        }
コード例 #3
0
        public FileWrapper <T> AddToRecent(T fileId, int version = -1)
        {
            var file = FileStorageService.GetFile(fileId, version).NotFoundIfNull("File not found");

            EntryManager.MarkAsRecent(file);
            return(FileWrapperHelper.Get(file));
        }
コード例 #4
0
 public RelationshipEventsController(
     CrmSecurity crmSecurity,
     DaoFactory daoFactory,
     ApiContext apiContext,
     MessageTarget messageTarget,
     MessageService messageService,
     FileWrapperHelper fileWrapperHelper,
     ASC.Files.Core.Data.DaoFactory filesDaoFactory,
     FileUploader fileUploader,
     SecurityContext securityContext,
     NotifyClient notifyClient,
     FilesSettingsHelper filesSettingsHelper,
     IMapper mapper)
     : base(daoFactory, crmSecurity, mapper)
 {
     _apiContext          = apiContext;
     _messageTarget       = messageTarget;
     _messageService      = messageService;
     _fileWrapperHelper   = fileWrapperHelper;
     _filesDaoFactory     = filesDaoFactory;
     _fileUploader        = fileUploader;
     _securityContext     = securityContext;
     _notifyClient        = notifyClient;
     _filesSettingsHelper = filesSettingsHelper;
 }
コード例 #5
0
        public FileWrapper <T> CreateFile(T folderId, string title, T templateId)
        {
            var file = FileStorageService.CreateNewFile(new FileModel <T> {
                ParentId = folderId, Title = title, TemplateId = templateId
            });

            return(FileWrapperHelper.Get(file));
        }
コード例 #6
0
        private FileWrapper <T> CreateFile(T folderId, string title, string content, string extension)
        {
            using var memStream = new MemoryStream(Encoding.UTF8.GetBytes(content));
            var file = FileUploader.Exec(folderId,
                                         title.EndsWith(extension, StringComparison.OrdinalIgnoreCase) ? title : (title + extension),
                                         memStream.Length, memStream);

            return(FileWrapperHelper.Get(file));
        }
コード例 #7
0
 public FileWrapper <T> UpdateFileStream(Stream file, T fileId, string fileExtension, bool encrypted = false, bool forcesave = false)
 {
     try
     {
         var resultFile = FileStorageService.UpdateFileStream(fileId, file, fileExtension, encrypted, forcesave);
         return(FileWrapperHelper.Get(resultFile));
     }
     catch (FileNotFoundException e)
     {
         throw new ItemNotFoundException("File not found", e);
     }
 }
コード例 #8
0
 /// <summary>
 /// </summary>
 /// <param name="context"></param>
 /// <param name="fileStorageService"></param>
 public FilesControllerHelper(
     ApiContext context,
     FileStorageService <T> fileStorageService,
     FileWrapperHelper fileWrapperHelper,
     FilesSettingsHelper filesSettingsHelper,
     FilesLinkUtility filesLinkUtility,
     FileUploader fileUploader,
     DocumentServiceHelper documentServiceHelper,
     TenantManager tenantManager,
     SecurityContext securityContext,
     FolderWrapperHelper folderWrapperHelper,
     FileOperationWraperHelper fileOperationWraperHelper,
     FileShareWrapperHelper fileShareWrapperHelper,
     FileShareParamsHelper fileShareParamsHelper,
     EntryManager entryManager,
     FolderContentWrapperHelper folderContentWrapperHelper,
     ChunkedUploadSessionHelper chunkedUploadSessionHelper,
     DocumentServiceTrackerHelper documentServiceTracker,
     IOptionsMonitor <ILog> optionMonitor,
     SettingsManager settingsManager,
     EncryptionKeyPairHelper encryptionKeyPairHelper,
     IHttpContextAccessor httpContextAccessor,
     FileConverter fileConverter,
     ApiDateTimeHelper apiDateTimeHelper,
     UserManager userManager,
     DisplayUserSettingsHelper displayUserSettingsHelper)
 {
     ApiContext                 = context;
     FileStorageService         = fileStorageService;
     FileWrapperHelper          = fileWrapperHelper;
     FilesSettingsHelper        = filesSettingsHelper;
     FilesLinkUtility           = filesLinkUtility;
     FileUploader               = fileUploader;
     DocumentServiceHelper      = documentServiceHelper;
     TenantManager              = tenantManager;
     SecurityContext            = securityContext;
     FolderWrapperHelper        = folderWrapperHelper;
     FileOperationWraperHelper  = fileOperationWraperHelper;
     FileShareWrapperHelper     = fileShareWrapperHelper;
     FileShareParamsHelper      = fileShareParamsHelper;
     EntryManager               = entryManager;
     FolderContentWrapperHelper = folderContentWrapperHelper;
     ChunkedUploadSessionHelper = chunkedUploadSessionHelper;
     DocumentServiceTracker     = documentServiceTracker;
     SettingsManager            = settingsManager;
     EncryptionKeyPairHelper    = encryptionKeyPairHelper;
     ApiDateTimeHelper          = apiDateTimeHelper;
     UserManager                = userManager;
     DisplayUserSettingsHelper  = displayUserSettingsHelper;
     HttpContextAccessor        = httpContextAccessor;
     FileConverter              = fileConverter;
     Logger = optionMonitor.Get("ASC.Files");
 }
コード例 #9
0
 public RelationshipEventDtoTypeConverter(
     ApiDateTimeHelper apiDateTimeHelper,
     EmployeeWraperHelper employeeWraperHelper,
     FileWrapperHelper fileWrapperHelper,
     CrmSecurity crmSecurity,
     DaoFactory daoFactory,
     EntityDtoHelper entityDtoHelper)
 {
     _apiDateTimeHelper    = apiDateTimeHelper;
     _employeeWraperHelper = employeeWraperHelper;
     _crmSecurity          = crmSecurity;
     _daoFactory           = daoFactory;
     _fileWrapperHelper    = fileWrapperHelper;
     _entityDtoHelper      = entityDtoHelper;
 }
コード例 #10
0
 public FileWrapper <T> InsertFile(T folderId, Stream file, string title, bool?createNewIfExist, bool keepConvertStatus = false)
 {
     try
     {
         var resultFile = FileUploader.Exec(folderId, title, file.Length, file, createNewIfExist ?? !FilesSettingsHelper.UpdateIfExist, !keepConvertStatus);
         return(FileWrapperHelper.Get(resultFile));
     }
     catch (FileNotFoundException e)
     {
         throw new ItemNotFoundException("File not found", e);
     }
     catch (DirectoryNotFoundException e)
     {
         throw new ItemNotFoundException("Folder not found", e);
     }
 }
コード例 #11
0
 public ReportsController(CrmSecurity crmSecurity,
                          DaoFactory daoFactory,
                          SettingsManager settingsManager,
                          Global global,
                          ReportHelper reportHelper,
                          FileWrapperHelper fileWrapperHelper,
                          DocbuilderReportsUtilityHelper docbuilderReportsUtilityHelper,
                          IMapper mapper
                          )
     : base(daoFactory, crmSecurity, mapper)
 {
     _settingsManager   = settingsManager;
     _global            = global;
     _reportHelper      = reportHelper;
     _fileWrapperHelper = fileWrapperHelper;
     _docbuilderReportsUtilityHelper = docbuilderReportsUtilityHelper;
 }
コード例 #12
0
        public FileWrapper <T> UpdateFile(T fileId, string title, int lastVersion)
        {
            File <T> newFile = null;

            if (!string.IsNullOrEmpty(title))
            {
                newFile = FileStorageService.FileRename(fileId, title);
            }

            if (lastVersion > 0)
            {
                var pair = FileStorageService.UpdateToVersion(fileId, lastVersion);
                newFile = pair.Key;
            }

            return(newFile != null?FileWrapperHelper.Get(newFile) : GetFileInfo(fileId));
        }
コード例 #13
0
        public FileWrapper <T> CopyFileAs(T fileId, T destFolderId, string destTitle)
        {
            var file    = FileStorageService.GetFile(fileId, -1);
            var ext     = FileUtility.GetFileExtension(file.Title);
            var destExt = FileUtility.GetFileExtension(destTitle);

            if (ext == destExt)
            {
                var newFile = FileStorageService.CreateNewFile(new FileModel <T, T> {
                    ParentId = destFolderId, Title = destTitle, TemplateId = fileId
                }, false);
                return(FileWrapperHelper.Get(newFile));
            }

            using (var fileStream = FileConverter.Exec(file, destExt))
            {
                return(InsertFile(destFolderId, fileStream, destTitle, true));
            }
        }
コード例 #14
0
        internal FileEntryWrapper GetFileEntryWrapper(FileEntry r)
        {
            FileEntryWrapper wrapper = null;

            if (r is Folder <int> fol1)
            {
                wrapper = FolderWrapperHelper.Get(fol1);
            }
            else if (r is Folder <string> fol2)
            {
                wrapper = FolderWrapperHelper.Get(fol2);
            }
            else if (r is File <int> file1)
            {
                wrapper = FileWrapperHelper.Get(file1);
            }
            else if (r is File <string> file2)
            {
                wrapper = FileWrapperHelper.Get(file2);
            }

            return(wrapper);
        }
コード例 #15
0
        public FileWrapper <T> LockFile(T fileId, bool lockFile)
        {
            var result = FileStorageService.LockFile(fileId, lockFile);

            return(FileWrapperHelper.Get(result));
        }
コード例 #16
0
        public IEnumerable <FileWrapper <T> > ChangeHistory(T fileId, int version, bool continueVersion)
        {
            var history = FileStorageService.CompleteVersion(fileId, version, continueVersion).Value;

            return(history.Select(r => FileWrapperHelper.Get(r)).ToList());
        }
コード例 #17
0
        public IEnumerable <FileWrapper <T> > GetFileVersionInfo(T fileId)
        {
            var files = FileStorageService.GetFileHistory(fileId);

            return(files.Select(r => FileWrapperHelper.Get(r)).ToList());
        }
コード例 #18
0
 /// <summary>
 /// </summary>
 /// <param name="context"></param>
 /// <param name="fileStorageService"></param>
 public FilesControllerHelper(
     ApiContext context,
     FileStorageService <T> fileStorageService,
     FileWrapperHelper fileWrapperHelper,
     FilesSettingsHelper filesSettingsHelper,
     FilesLinkUtility filesLinkUtility,
     FileUploader fileUploader,
     DocumentServiceHelper documentServiceHelper,
     TenantManager tenantManager,
     SecurityContext securityContext,
     FolderWrapperHelper folderWrapperHelper,
     FileOperationWraperHelper fileOperationWraperHelper,
     FileShareWrapperHelper fileShareWrapperHelper,
     FileShareParamsHelper fileShareParamsHelper,
     EntryManager entryManager,
     UserManager userManager,
     WebItemSecurity webItemSecurity,
     CoreBaseSettings coreBaseSettings,
     ThirdpartyConfiguration thirdpartyConfiguration,
     MessageService messageService,
     CommonLinkUtility commonLinkUtility,
     DocumentServiceConnector documentServiceConnector,
     FolderContentWrapperHelper folderContentWrapperHelper,
     WordpressToken wordpressToken,
     WordpressHelper wordpressHelper,
     ConsumerFactory consumerFactory,
     EasyBibHelper easyBibHelper,
     ChunkedUploadSessionHelper chunkedUploadSessionHelper,
     IOptionsMonitor <ILog> optionMonitor)
 {
     ApiContext                 = context;
     FileStorageService         = fileStorageService;
     FileWrapperHelper          = fileWrapperHelper;
     FilesSettingsHelper        = filesSettingsHelper;
     FilesLinkUtility           = filesLinkUtility;
     FileUploader               = fileUploader;
     DocumentServiceHelper      = documentServiceHelper;
     TenantManager              = tenantManager;
     SecurityContext            = securityContext;
     FolderWrapperHelper        = folderWrapperHelper;
     FileOperationWraperHelper  = fileOperationWraperHelper;
     FileShareWrapperHelper     = fileShareWrapperHelper;
     FileShareParamsHelper      = fileShareParamsHelper;
     EntryManager               = entryManager;
     UserManager                = userManager;
     WebItemSecurity            = webItemSecurity;
     CoreBaseSettings           = coreBaseSettings;
     ThirdpartyConfiguration    = thirdpartyConfiguration;
     ConsumerFactory            = consumerFactory;
     BoxLoginProvider           = ConsumerFactory.Get <BoxLoginProvider>();
     DropboxLoginProvider       = ConsumerFactory.Get <DropboxLoginProvider>();
     GoogleLoginProvider        = ConsumerFactory.Get <GoogleLoginProvider>();
     OneDriveLoginProvider      = ConsumerFactory.Get <OneDriveLoginProvider>();
     MessageService             = messageService;
     CommonLinkUtility          = commonLinkUtility;
     DocumentServiceConnector   = documentServiceConnector;
     FolderContentWrapperHelper = folderContentWrapperHelper;
     WordpressToken             = wordpressToken;
     WordpressHelper            = wordpressHelper;
     EasyBibHelper              = easyBibHelper;
     ChunkedUploadSessionHelper = chunkedUploadSessionHelper;
     Logger = optionMonitor.Get("ASC.Files");
 }
コード例 #19
0
        public FileWrapper <T> GetFileInfo(T fileId, int version = -1)
        {
            var file = FileStorageService.GetFile(fileId, version).NotFoundIfNull("File not found");

            return(FileWrapperHelper.Get(file));
        }
コード例 #20
0
 public FileWrapper <T> SaveEditing(T fileId, string fileExtension, string downloadUri, Stream stream, string doc, bool forcesave)
 {
     return(FileWrapperHelper.Get(FileStorageService.SaveEditing(fileId, fileExtension, downloadUri, stream, doc, forcesave)));
 }