Esempio n. 1
0
        public IActionResult Update(string userId, string id, [FromBody] PostForCreatedDto model)
        {
            Task <Post> postTask;

            if (!string.IsNullOrEmpty(userId))
            {
                postTask     = _repository.Get(c => c.UserId == userId && c.Id == id);
                model.UserId = userId;
            }
            else
            {
                postTask = _repository.Get(id);
            }

            if (postTask.Result == null)
            {
                return(NotFound());
            }

            var post = Mapper.Map(model, postTask.Result);

            if (!ValidateEntity(post))
            {
                return(new UnprocessableEntityResult(ModelState));
            }

            var result = _repository.Update(id, post);

            return(result.IsFaulted
                ? (IActionResult) new StatusCodeResult(StatusCodes.Status501NotImplemented)
                : Ok(post));
        }
Esempio n. 2
0
        public IActionResult Create(string userId, [FromBody] PostForCreatedDto model)
        {
            var post = Mapper.Map <Post>(model);

            if (!string.IsNullOrEmpty(userId))
            {
                var user = _userRepository.Get(userId);
                if (user == null)
                {
                    return(NotFound());
                }

                post.UserId = userId;
            }

            if (!ValidateEntity(post))
            {
                return(new UnprocessableEntityResult(ModelState));
            }

            var result = _repository.Add(post);

            return(result.IsFaulted
                ? (IActionResult) new StatusCodeResult(StatusCodes.Status501NotImplemented)
                : Created("Get", post));
        }