Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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");
        }