예제 #1
0
        public async Task <IActionResult> AddValue(Value value)
        {
            if (value != null)
            {
                _repo.Add(value);
            }

            if (await _repo.SaveAll())
            {
                return(Ok(value));
            }

            return(BadRequest());
        }
예제 #2
0
        public async Task <IActionResult> AddPost([FromForm] PostForCreationDto postForCreationDto)
        {
            var userId = int.Parse(this.User.FindFirst(ClaimTypes.NameIdentifier).Value);

            if (userId != postForCreationDto.UserId)
            {
                return(Unauthorized());
            }

            var file = postForCreationDto.File;

            var uploadResult = new ImageUploadResult();

            if (file.Length > 0)
            {
                using (var stream = file.OpenReadStream())
                {
                    var uploadParams = new ImageUploadParams()
                    {
                        File = new FileDescription(file.Name, stream)
                    };

                    uploadResult = _cloudinary.Upload(uploadParams);
                }
            }

            var post = new Post()
            {
                UserId         = postForCreationDto.UserId,
                DateOfCreation = DateTime.Now,
                Text           = postForCreationDto.Text,
                Photo          = uploadResult.Url.ToString()
            };

            _repo.Add(post);

            if (await _repo.SaveAll())
            {
                return(Ok());
            }

            return(BadRequest("Could not add post"));
        }