Example #1
0
        public async Task <IActionResult> Post([FromForm] PostViewModel model)
        {
            var post = MapViewModelToPostInstance(model);

            post.UserId = await _authHelper.GetCallerId(_caller);

            if (await _authHelper.CheckIfUserIsBanned(post.UserId))
            {
                return(new BadRequestObjectResult(
                           new
                {
                    Message = "User currently bannend",
                    StatusCodes.Status403Forbidden
                }));
            }

            post = await _postRepository.CreateAsync(post);

            // ReSharper disable once ComplexConditionExpression
            if (model.Files == null || !model.Files.Any())
            {
                return(new OkObjectResult(new
                {
                    Message = " bine ba ai postat o glumitza",
                    post
                }));
            }

            post = await _postFilesUploadHelper.UploadFiles(model.Files, post);

            await _filesRepository.AddPostImagesAsync(post.Files);

            return(new OkObjectResult(new
            {
                Message = " ai fost ba in stare sa faci un post klumea bine ba usere ba",
                post
            }));
        }