public virtual Task <FileSystemDto> UpdateAsync([Required, StringLength(255)] string name, FileSystemUpdateDto input) { string fileSystemPath = GetFileSystemPath(name); var renameFilePath = GetFileSystemPath(input.NewName); if (File.Exists(fileSystemPath)) { if (File.Exists(renameFilePath)) { throw new UserFriendlyException(L["FilePathAlreadyExists"]); } File.Move(fileSystemPath, renameFilePath); var fileInfo = new FileInfo(renameFilePath); var fileSystem = new FileSystemDto { Type = FileSystemType.File, Name = fileInfo.Name, Size = fileInfo.Length, Extension = fileInfo.Extension, CreationTime = fileInfo.CreationTime, LastModificationTime = fileInfo.LastWriteTime }; if (fileInfo.Directory != null && !fileInfo.Directory.FullName.IsNullOrWhiteSpace()) { fileSystem.Parent = GetFileSystemRelativePath(fileInfo.Directory.FullName); } return(Task.FromResult(fileSystem)); } if (Directory.Exists(fileSystemPath)) { if (Directory.Exists(renameFilePath)) { throw new UserFriendlyException(L["FilePathAlreadyExists"]); } Directory.Move(fileSystemPath, renameFilePath); var directoryInfo = new DirectoryInfo(renameFilePath); var fileSystem = new FileSystemDto { Type = FileSystemType.Folder, Name = directoryInfo.Name, CreationTime = directoryInfo.CreationTime, LastModificationTime = directoryInfo.LastWriteTime }; if (directoryInfo.Parent != null && !directoryInfo.Parent.FullName.IsNullOrWhiteSpace()) { fileSystem.Parent = GetFileSystemRelativePath(directoryInfo.Parent.FullName); } return(Task.FromResult(fileSystem)); } throw new UserFriendlyException(L["FilePathNotFound"]); }
public virtual async Task <FileSystemDto> UpdateAsync([Required, StringLength(255)] string name, FileSystemUpdateDto input) { return(await FileSystemAppService.UpdateAsync(name, input)); }