/// <summary> /// Copy a file into the same folder /// </summary> /// <param name="id"></param> /// <returns></returns> public File CopyInFolder(Guid id) { File fileNew = null; var fileDAC = new FileDAC(); var file = fileDAC.SelectById(id); if (file != null) { var toFileId = Guid.NewGuid(); var fullPath = Path.Combine(_path, file.FilePath); var dirPath = Path.GetDirectoryName(file.FilePath); var extName = Path.GetExtension(file.FileName)?.ToLower(); var newFileName = toFileId + extName; var newFullPath = Path.Combine(_path, dirPath ?? throw new InvalidOperationException(), newFileName); System.IO.File.Copy(fullPath, newFullPath); file.Id = toFileId; file.FilePath = Path.Combine(dirPath, newFileName); file.Timestamp = DateTime.Now; fileDAC.Create(file); fileNew = file; fileNew.Id = toFileId; } return(fileNew); }
/// <summary> /// Replace file by fileId /// </summary> /// <param name="sourceId"></param> /// <param name="targetId"></param> public void ReplaceById(Guid sourceId, Guid targetId) { var fileDAC = new FileDAC(); var sourceFile = fileDAC.SelectById(sourceId); var targetFile = fileDAC.SelectById(targetId); var stargetFileName = Path.GetFileName(targetFile.FilePath)?.ToLower(); var sourcePath = Path.Combine(_path, sourceFile.FilePath); var targetPath = Path.Combine(_path, targetFile.FilePath); var targetDir = Path.GetDirectoryName(targetPath); var copyPath = Path.Combine(targetDir ?? throw new InvalidOperationException(), stargetFileName ?? throw new InvalidOperationException()); if (System.IO.File.Exists(targetPath)) { System.IO.File.Delete(targetPath); } System.IO.File.Copy(sourcePath, copyPath); }
/// <summary> /// GetById business method. /// </summary> /// <param name="id">A id value.</param> /// <returns>Returns a File object.</returns> public Entities.File GetById(Guid id) { // Data access component declarations. var fileDAC = new FileDAC(); // Step 1 - Calling SelectById on FileDAC. var result = fileDAC.SelectById(id); return(result); }
/// <summary> /// Checks the file exists. /// </summary> /// <param name="id">The identifier.</param> /// <returns></returns> public bool CheckFileExists(Guid id) { // Data access component declarations. var fileDAC = new FileDAC(); var file = fileDAC.SelectById(id); if (file != null) { var fullPath = Path.Combine(_path, file.FilePath); return(System.IO.File.Exists(fullPath)); } return(false); }
/// <summary> /// Deletes the specified identifier. /// </summary> /// <param name="id">The identifier.</param> public void Delete(Guid id) { // Data access component declarations. var fileDAC = new FileDAC(); var file = fileDAC.SelectById(id); var fullPath = Path.Combine(_path, file.FilePath); System.IO.File.Delete(fullPath); // Step 1 - Calling Delete on FileDAC. fileDAC.Delete(id); }