public async Task <IActionResult> DeleteAnswer([FromRoute] long id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var answerTask = answerRepository.GetByIDAysnc(id); var userTask = userManager.FindByNameAsync(User.Identity.Name); var answer = await answerTask; var user = await userTask; if (answer == null) { return(NotFound()); } if (answer.ApplicationUserId != user.Id) { return(Unauthorized()); } await answerRepository.DeleteAsync(answer); return(Ok(answer)); }
public async Task <Response <object> > Handle(DeleteAnswerCommand request, CancellationToken cancellationToken) { var response = new Response <object>(); var answer = await _answerRepository.GetByIdAsync(request.Id); if (answer is null) { response.ErrorReason = ErrorReason.NotFound; response.Errors = new Dictionary <string, IList <string> > { { DeleteAnswer, new List <string> { ErrorMessages.Entity <Answer> .GetNotFoundMessage(request.Id) } } }; return(response); } var userId = _currentUserService.UserId; if (!_accessValidator.HasAccessToModify(userId, answer)) { response.ErrorReason = ErrorReason.HaveNoAccess; response.Errors = new Dictionary <string, IList <string> >() { { DeleteAnswer, new List <string> { ErrorMessages.Entity <Answer> .GetNoAccessMessage(answer.Id, userId) } } }; return(response); } await _answerRepository.DeleteAsync(answer); response.SetData(); return(response); }
public async Task <Answer> DeleteAsync(Answer entity) { return(await repository.DeleteAsync(entity)); }
public async Task <bool> DeleteByIdAsync(int id) { return(await _answerRepository.DeleteAsync(id)); }
public async Task <bool> Delete(string uid) { return(await answerRepository.DeleteAsync(uid)); }