public ActionResult AddFileInfo(AddFileInfoDto vm) { if (vm != null) { var fileService = this.GetService <IFileService>(); bool result = fileService.AddFileInfo(vm); return(Success(result)); } return(Error()); }
public virtual bool AddFileInfo(AddFileInfoDto vm) { bool result = false; if (vm != null && !string.IsNullOrEmpty(vm.Name)) { string fullname = Utils.Combine(ConfigUtils.FileRootPath, vm.Directory, vm.Name); if (vm.Type == FileInfoType.File && File.Exists(fullname) || vm.Type == FileInfoType.Directory && Directory.Exists(vm.Directory)) { FileInfoDto m = new FileInfoDto() { Type = vm.Type, Directory = vm.Directory, Name = vm.Name, IsDelete = false }; if (vm.Type == FileInfoType.File) { var info = new FileInfo(fullname); m.CreationTime = info.CreationTime; m.LastWriteTime = info.LastAccessTime; m.Length = info.Length; } else { var info = new DirectoryInfo(fullname); m.CreationTime = info.CreationTime; m.LastWriteTime = info.LastAccessTime; } var parent = FileInfoService.Instance.GetParent(vm.Directory); if (parent != null) { m.ParentId = parent.ParentId; } var fileInfoRepository = this.GetRepository <IFileInfoRepository>(); fileInfoRepository.AddOrUpdate(m); result = true; } } return(result); }
private bool AddFileInfo(FileInfo localinfo, string remoteDirectory, string remoteName) { bool result = false; string serverfile = this.GetLocalPath(Utils.Combine(remoteDirectory, remoteName)); if (!string.IsNullOrEmpty(serverfile)) { string dir = Path.GetDirectoryName(serverfile); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } if (File.Exists(serverfile)) { var serverinfo = new FileInfo(serverfile); if (serverinfo.Length != localinfo.Length || serverinfo.CreationTime != localinfo.CreationTime || serverinfo.LastAccessTime != localinfo.LastAccessTime) { localinfo.CopyTo(serverfile, true); } } else { localinfo.CopyTo(serverfile, true); } AddFileInfoDto vm = new AddFileInfoDto() { Type = FileInfoType.File, Directory = remoteDirectory, Name = remoteName }; result = this.Client.Request <bool, AddFileInfoDto>(MsgCmd.AddFileInfo, vm); } return(result); }