public object RenameFolder(Folder folder, string newTitle) { var dropboxFolder = GetDropboxFolder(folder.ID); var parentFolderPath = GetParentFolderPath(dropboxFolder); if (IsRoot(dropboxFolder)) { //It's root folder DropboxDaoSelector.RenameProvider(DropboxProviderInfo, newTitle); //rename provider customer title } else { newTitle = GetAvailableTitle(newTitle, parentFolderPath, IsExist); //rename folder dropboxFolder = DropboxProviderInfo.Storage.MoveFolder(MakeDropboxPath(dropboxFolder), parentFolderPath, newTitle); } DropboxProviderInfo.CacheReset(dropboxFolder); if (parentFolderPath != null) { DropboxProviderInfo.CacheReset(parentFolderPath); } return(MakeId(dropboxFolder)); }
protected DropboxDaoBase(DropboxDaoSelector.DropboxInfo dropboxInfo, DropboxDaoSelector dropboxDaoSelector) { DropboxProviderInfo = dropboxInfo.DropboxProviderInfo; PathPrefix = dropboxInfo.PathPrefix; DropboxDaoSelector = dropboxDaoSelector; TenantID = CoreContext.TenantManager.GetCurrentTenant().TenantId; }
public Folder <int> CopyFolder(string folderId, int toFolderId, CancellationToken?cancellationToken) { var moved = CrossDao.PerformCrossDaoFolderCopy( folderId, this, DropboxDaoSelector.GetFileDao(folderId), DropboxDaoSelector.ConvertId, toFolderId, FolderDao, FileDao, r => r, false, cancellationToken); return(moved); }
public DropboxFileDao( IServiceProvider serviceProvider, UserManager userManager, TenantManager tenantManager, TenantUtil tenantUtil, DbContextManager <FilesDbContext> dbContextManager, SetupInfo setupInfo, IOptionsMonitor <ILog> monitor, FileUtility fileUtility, CrossDao crossDao, DropboxDaoSelector dropboxDaoSelector, IFileDao <int> fileDao) : base(serviceProvider, userManager, tenantManager, tenantUtil, dbContextManager, setupInfo, monitor, fileUtility) { CrossDao = crossDao; DropboxDaoSelector = dropboxDaoSelector; FileDao = fileDao; }
public IEnumerable <Tag> GetNewTags(Guid subject, Folder parentFolder, bool deepSearch) { var folderId = DropboxDaoSelector.ConvertId(parentFolder.ID); var fakeFolderId = parentFolder.ID.ToString(); using (var db = GetDb()) { var entryIDs = db.ExecuteList(Query("files_thirdparty_id_mapping") .Select("hash_id") .Where(Exp.Like("id", fakeFolderId, SqlLike.StartWith))) .ConvertAll(x => x[0]); if (!entryIDs.Any()) { return(new List <Tag>()); } var sqlQuery = new SqlQuery("files_tag ft") .Select("ft.name", "ft.flag", "ft.owner", "ftl.entry_id", "ftl.entry_type", "ftl.tag_count", "ft.id") .Distinct() .LeftOuterJoin("files_tag_link ftl", Exp.EqColumns("ft.tenant_id", "ftl.tenant_id") & Exp.EqColumns("ft.id", "ftl.tag_id")) .Where(Exp.Eq("ft.tenant_id", TenantID) & Exp.Eq("ftl.tenant_id", TenantID) & Exp.Eq("ft.flag", (int)TagType.New) & Exp.In("ftl.entry_id", entryIDs)); if (subject != Guid.Empty) { sqlQuery.Where(Exp.Eq("ft.owner", subject)); } var tags = db.ExecuteList(sqlQuery).ConvertAll(r => new Tag { TagName = Convert.ToString(r[0]), TagType = (TagType)r[1], Owner = new Guid(r[2].ToString()), EntryId = MappingID(r[3]), EntryType = (FileEntryType)r[4], Count = Convert.ToInt32(r[5]), Id = Convert.ToInt32(r[6]) }); if (deepSearch) { return(tags); } var folderFileIds = new[] { fakeFolderId } .Concat(GetChildren(folderId)); return(tags.Where(tag => folderFileIds.Contains(tag.EntryId.ToString()))); } }
public DropboxTagDao(DropboxDaoSelector.DropboxInfo dropboxInfo, DropboxDaoSelector dropboxDaoSelector) : base(dropboxInfo, dropboxDaoSelector) { }
public DropboxSecurityDao(DropboxDaoSelector.DropboxInfo dropboxInfo, DropboxDaoSelector dropboxDaoSelector) : base(dropboxInfo, dropboxDaoSelector) { }