private void DeleteFilesAndFolders(TenantUserSettings tenantUser) { try { CoreContext.TenantManager.SetCurrentTenant(tenantUser.TenantId); var userAccount = CoreContext.Authentication.GetAccountByID(tenantUser.UserId); if (userAccount == Constants.Guest) { return; } SecurityContext.CurrentAccount = userAccount; using (var fileDao = Global.DaoFactory.GetFileDao()) using (var folderDao = Global.DaoFactory.GetFolderDao()) { var now = DateTime.UtcNow; var itemList = new ItemList <string>(); var trashId = folderDao.GetFolderIDTrash(false, tenantUser.UserId); itemList.AddRange(folderDao.GetFolders(trashId) .Where(x => FileDateTime.GetModifiedOnWithAutoCleanUp(x.ModifiedOn, tenantUser.Setting, true) < now) .Select(f => "folder_" + f.ID)); itemList.AddRange(fileDao.GetFiles(trashId, null, default(FilterType), false, Guid.Empty, string.Empty, false) .Where(x => FileDateTime.GetModifiedOnWithAutoCleanUp(x.ModifiedOn, tenantUser.Setting, true) < now) .Select(y => "file_" + y.ID)); logger.InfoFormat("Start clean up tenant {0}, folder {1}", tenantUser.TenantId, trashId); Global.FileStorageService.DeleteItems("delete", itemList, true, false, true); logger.InfoFormat("Waiting for tenant {0}, folder {1}...", tenantUser.TenantId, trashId); while (true) { var statuses = Global.FileStorageService.GetTasksStatuses(); if (statuses.TrueForAll(r => r.Finished)) { break; } Thread.Sleep(100); } logger.InfoFormat("Finish clean up tenant {0}, folder {1}", tenantUser.TenantId, trashId); } } catch (Exception ex) { logger.Error(ex); } finally { SecurityContext.Logout(); } }
public string GetOutputLine() { //build and return full output line string using the data members above (for Graig's file) StringBuilder output = new StringBuilder(FileSize + "," + FileDateTime.ToString("MMM d yyyy HH:mm") + "," + ItemName); output.Append((HasRev) ? ("," + ItemRev) : (",")); output.Append((HasSht) ? ("," + ItemSht) : (",")); output.Append(("," + Server)); output.Append("," + UncRaw + "," + UncPdf); return(output.ToString()); }
public override string ToString() { return(FileDateTime.ToString("yyyy-MM-dd hh:mm:ss tt")); }
public RelatedFile(FileInfo file, FileDateTime dateTime, string extension) : base(file, dateTime) { Extension = extension; }