Beispiel #1
0
        public async Task <File> MakeAsync(CreateFileDto model)
        {
            model.CheckArgumentIsNull(nameof(model));
            var utcNow = _dateService.UtcNow();

            var file = new File {
                CreateDate     = utcNow,
                CreatorUserId  = _userContext.UserId,
                Description    = model.Description,
                ModifierUserId = _userContext.UserId,
                ModifyDate     = utcNow,
                Status         = FileStatus.UnAttached,
                WebsiteId      = _websiteInfo.Id,
                Title          = model.Title
            };

            if (!string.IsNullOrWhiteSpace(model.FilePath))
            {
                file.FilePath  = model.FileServerPath;
                file.Extension = model.FilePath.GetFileExtension();
                file.FileType  = model.FilePath.GetPostFileType();
            }

            if (!string.IsNullOrWhiteSpace(model.Url))
            {
                file.Url = model.Url;
            }

            if (string.IsNullOrWhiteSpace(file.Title))
            {
                file.Title = model.FilePath.GetFileTitle();
            }

            return(await Task.FromResult(file));
        }
        public async Task <IActionResult> Post([FromBody] CreateFileDto fileDto)
        {
            if (fileDto?.Data == null)
            {
                return(BadRequest());
            }

            var imageDataByteArray = Convert.FromBase64String(fileDto.Data);
            var seekableStream     = new MemoryStream(imageDataByteArray)
            {
                Position = 0
            };


            await UploadImageToS3(seekableStream, fileDto.ImageName);

            var fileMetadata = await UploadMetadataToRdc(imageDataByteArray, fileDto.ImageName);

            var resultUrl = BuildFileUrl(fileDto.ImageName);

            await _notificationService.PublishAsync(_topicArn, resultUrl);

            _logger.LogInformation($"Uploaded object {fileDto.ImageName} to bucket {_bucketName}");

            return(Created(resultUrl, null));
        }
Beispiel #3
0
        public async Task <IActionResult> AddFile([FromForm] CreateFileDto fileDto)
        {
            var result = await fileRepository.AddFile(fileDto);

            switch (result.OperationResultType)
            {
            case OperationResultTypes.Exception:
                return(new JsonResult("Exeption")
                {
                    StatusCode = 400
                });

            case OperationResultTypes.Success:
                return(new JsonResult(result.Result)
                {
                    StatusCode = 200
                });

            case OperationResultTypes.NotExist:
                return(new JsonResult("Unkown Error")
                {
                    StatusCode = 204
                });

            case OperationResultTypes.Forbidden:
                return(new JsonResult("Forbidden")
                {
                    StatusCode = 403
                });
            }
            return(new JsonResult(result.OperationResultMessage)
            {
                StatusCode = 500
            });
        }
Beispiel #4
0
        public async Task Create(CreateFileDto input)
        {
            var @file = input.MapTo <ComlianceAndSafety.Files>();

            @file = ComlianceAndSafety.Files.Create(AbpSession.GetTenantId(), input.CustomeFiledSetupId, input.Type, input.CustomField1, input.CustomField2, input.CustomField3, input.CustomField4, input.CustomField5, input.CustomField6, input.Category1, input.Category2, input.Category3, input.Category4, input.Category5, input.Path);
            await _fileRepository.InsertAsync(@file);
        }
Beispiel #5
0
        public async Task <FileResultDto> CreateAsync(CreateFileDto model)
        {
            var file = await _factory.MakeAsync(model);

            await _repository.AddAndSaveAsync(file);

            return(await Task.FromResult(
                       file.Adapt <FileResultDto>()
                       ));
        }
        private static MemoryStream GetFileStream(CreateFileDto fileDto)
        {
            var imageDataByteArray = Convert.FromBase64String(fileDto.Data);
            var seekableStream     = new MemoryStream(imageDataByteArray)
            {
                Position = 0
            };

            return(seekableStream);
        }
Beispiel #7
0
        public async Task <FileDto> UploadFile([FromForm] CreateFileDto createFileDto)
        {
            CreateFileValidator createfileValidator = new CreateFileValidator();

            if (!createfileValidator.Validate(createFileDto.PhFile).IsValid)
            {
                throw new Exception("Name Not Valid... ");
            }

            //--------------- Upload Physical File ------------------//
            var path = "";

            if (createFileDto.FolderId > 0)
            {
                var rootFolder = (await _unitOfWork.FoldersRepository.GetAllIncluded(f => f.FolderId == createFileDto.FolderId)).SingleOrDefault();
                if (rootFolder == null)
                {
                    throw new Exception("Folder not found");
                }
                path = rootFolder.FolderPath + '\\' + createFileDto.PhFile.FileName;
            }
            else
            {
                path = _fileManager.GetRootPath() + createFileDto.PhFile.FileName;
            }
            _fileManager.UploadFile(createFileDto.PhFile, path);

            //----------------------- Save to Db --------------------//
            var entityFile = new Entities.File
            {
                FileName      = Path.GetFileNameWithoutExtension(path),
                FileExtension = Path.GetExtension(createFileDto.PhFile.FileName),
                FileSize      = int.Parse(createFileDto.PhFile.Length.ToString()),
                FilePath      = Path.GetFullPath(path),
                FolderId      = createFileDto.FolderId > 0 ? createFileDto.FolderId : default(int?)
            };

            var f = new FileInfo(Path.GetFullPath(path));

            _unitOfWork.FileRepository.Add(entityFile);
            await _unitOfWork.CompleteAsync();

            return(_mapper.Map <Entities.File, FileDto>(entityFile));
        }
 //[Authorize]
 public async Task <IActionResult> UploadFile([FromForm] CreateFileDto fileDto) => Ok(await _postService.UploadFile(fileDto));
        //public async Task<LikeOnPostDto> GetLike(int LikeId)
        //{
        //    var po = await _unitOfWork.PostReposito

        //    var User = await _unitOfWork.UserRepository.GetUser(post.Userid);

        //    var p = _mapper.Map<Post, PostDtos>(post);
        //    p.Username = User.UserName;

        //    return p;
        //}

        public async Task <CreateFileDto> UploadFile([FromForm] CreateFileDto fileDto)
        {
            var user = await _unitOfWork.UserRepository.GetUser(fileDto.UserId);

            var post = await _unitOfWork.PostRepository.GetPost(fileDto.Postid);


            if (user == null)
            {
                throw new Exception("User not found");
            }

            if (post == null)
            {
                throw new Exception("post not Exist");
            }

            if (fileDto.File != null)
            {
                if (fileDto.File.Length > 0)

                {
                    //Getting FileName
                    var fileName = Path.GetFileName(fileDto.File.FileName);
                    //Getting file Extension
                    var fileExtension = Path.GetExtension(fileDto.File.FileName);

                    var userid = fileDto.UserId;
                    var postid = fileDto.Postid;
                    // concatenating  FileName + FileExtension
                    //var newFileName = string.Concat(Convert.ToString(Guid.NewGuid()), fileExtension);
                    var file = _mapper.Map <CreateFileDto, Modules.File>(fileDto);
                    var r    = _mapper.Map <Modules.File, FileDto>(file);
                    var v    = r.Username = user.UserName;
                    //return result;

                    var objfiles = new Modules.File()
                    {
                        //Username= p,
                        FileName    = fileName,
                        UserId      = userid,
                        PostId      = postid,
                        Username    = v,
                        ContentType = fileExtension
                    };

                    //var path = @"C:\\User\\DELL\\source\\repos\\FirstTask\\FirstTask\\Core\\Entities";
                    //var FileInfo = new FileInfo(path);
                    //FileInfo.CopyTo(path);

                    //using (var target = new MemoryStream())
                    //{
                    //    fileDto.File.CopyTo(target);
                    //    //    objfiles. = target.ToArray();
                    //}

                    _unitOfWork.fileRepository.Add(objfiles);
                    await _unitOfWork.CompleteAsync();
                }

                var Attachment = _mapper.Map <CreateFileDto, Modules.File>(fileDto);
                await _unitOfWork.CompleteAsync();

                var result = _mapper.Map <Modules.File, CreateFileDto>(Attachment);
                return(result);
            }
            return(View());
        }