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)); }
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)); }