public bool TransferToDatabase(EronFile input) { var fileEntity = _unitOfWork.FileRepository.GetById(input.Id); if (fileEntity?.FileUrl == null) { return(false); } //throw new FileNotFoundException(); var shortFileAddress = input.FileUrl; var fileAddress = HttpContext.Current.Server.MapPath(shortFileAddress); if (fileAddress == null) { return(false); } //throw new FileNotFoundException(); var fileBytes = File.ReadAllBytes(fileAddress); fileEntity.FileData = fileBytes; fileEntity.FileUrl = null; File.Delete(fileAddress); _unitOfWork.FileRepository.Update(fileEntity); _unitOfWork.Save(); return(true); }
public async Task <bool> TransferToDatabaseAsync(EronFile input, IManagementUnitOfWork unitOfWork) { var fileEntity = await _unitOfWork.FileRepository.GetByIdAsync(input.Id); if (fileEntity?.FileUrl == null) { return(false); } //throw new FileNotFoundException(); var shortFileAddress = input.FileUrl; var fileAddress = HttpContext.Current.Server.MapPath(shortFileAddress); if (fileAddress == null) { return(false); } //throw new FileNotFoundException(); var fileBytes = File.ReadAllBytes(fileAddress); fileEntity.FileData = fileBytes; fileEntity.FileUrl = null; File.Delete(fileAddress); unitOfWork.FileRepository.Update(fileEntity); return(true); }
public async Task <EronFile> SaveFileAsync(HttpPostedFileBase file, ApplicationFolder.ApplicationFolderName folderName) { if (file != null && file.ContentLength > 0) { var inputFileName = file.FileName; var fileId = Guid.NewGuid(); var fileName = fileId.ToString(); var fullFolderName = GetFolderName(folderName); if (!Directory.Exists(HttpContext.Current.Server.MapPath(fullFolderName))) { Directory.CreateDirectory(HttpContext.Current.Server.MapPath(fullFolderName)); } var server = HttpContext.Current.Server.MapPath(fullFolderName); var fileNameWithFolder = Path.Combine(server, fileName); var result = new EronFile() { FileName = inputFileName, FileUrl = fullFolderName + fileName, Id = fileId, FileType = GetFileType(file), UploadDateTime = DateTime.Now }; file.SaveAs(fileNameWithFolder); _unitOfWork.FileRepository.Create(result); await _unitOfWork.SaveAsync(); return(result); } throw new FileNotFoundException("File is not found"); }