public void GetOriginalPath(FileInfoModel fileInfo) { if (fileInfo != null) { fileInfo.Path = GetOriginalPath(fileInfo.Path, fileInfo.DocumentType, fileInfo.DocumentId); } }
public FileInfoModel RenameFile(FileInfoModel file, string newFileName) { try { var fi = GetFileInfo(file); if (fi != null) { var newFullPath = GetFullPath(GetOriginalPath(newFileName, file.DocumentType, file.DocumentId)); if (string.Equals(fi.FullName, newFullPath, StringComparison.CurrentCultureIgnoreCase)) { var newTempFullPath = GetFullPath(GetOriginalPath(GetTempName(fi.Name), file.DocumentType, file.DocumentId)); fi.MoveTo(newTempFullPath); } fi.CreationTimeUtc = DateTime.UtcNow; fi.MoveTo(newFullPath); file.FileName = fi.Name; file.CreatedDate = fi.CreationTimeUtc; file.UpdatedDate = fi.LastAccessTimeUtc; } } catch { } return(file); }
public FileInfo GetFileInfo(FileInfoModel file) { if (file != null) { GetOriginalPath(file); var fileInfo = GetFileInfo(file.Path); if (fileInfo != null) { if (string.IsNullOrWhiteSpace(file.FileName)) { file.FileName = fileInfo.Name; } return(fileInfo); } else { return(null); } } return(null); }
public FileInfoModel MoveFile(FileInfoModel file, FolderInfoModel destinationFolder) { var newFile = new FileInfoModel(); try { var fileInfo = GetFileInfo(file); var folderInfo = GetFolderInfo(destinationFolder); if (destinationFolder.DocumentType != file.DocumentType && !folderInfo.Exists) { folderInfo.Create(); folderInfo.Refresh(); } if (fileInfo != null && folderInfo != null && fileInfo.Exists && folderInfo.Exists) { var fileName = ProcessFileNameInFolder(folderInfo, fileInfo.Name); file.FileName = fileName; fileInfo.CreationTimeUtc = DateTime.UtcNow; fileInfo.MoveTo(Path.Combine(folderInfo.FullName, fileName)); newFile = new FileInfoModel { FileName = fileInfo.Name, Path = fileInfo.FullName, DocumentType = destinationFolder.DocumentType, DocumentId = destinationFolder.DocumentId, Size = fileInfo.Length, Extension = fileInfo.Extension, CreatedDate = DateTime.UtcNow, UpdatedDate = DateTime.UtcNow }; } } catch { } return(newFile); }