public Task <ActionResult <CauseViewModel> > PostAsync([FromBody] CauseInputModel inputModel) => ExecuteAsync <CauseViewModel>(async() => { var userId = User.UserId(); var user = await _usersRepository.GetByIdAsync(userId); var cause = new Cause(user, inputModel.Description, inputModel.Icon); await _causesRepository.AddAsync(cause); return(Ok((CauseViewModel)cause)); });
public Task <ActionResult <CauseViewModel> > PutAsync(Guid id, [FromBody] CauseInputModel inputModel) => ExecuteAsync <CauseViewModel>(async() => { var userId = User.UserId(); var cause = await _causesRepository.GetByIdAsync(id); if (cause == null) { return(NotFound()); } if (cause.UserId != userId) { return(Forbid()); } cause.SetDescription(inputModel.Description); cause.Icon = inputModel.Icon; await _causesRepository.UpdateAsync(cause); return(Ok((CauseViewModel)cause)); });