public async Task <IActionResult> DeleteAsync([FromRoute] string userId, [FromRoute] string targetId, [FromRoute] string id, [FromServices] ISerieApplicationService service) { if (!string.Equals(User.Identity.Name, userId)) { return(Forbid()); } try { if (!await service.DeleteAsync(userId, targetId, id)) { return(NotFound()); } return(StatusCode(204)); } catch (ArgumentException ex) { return(BadRequest(new { reason = ex.Message })); } catch (Exception ex) { Console.WriteLine(ex); return(Problem("Something is not right, calm down calm down! We're working to fix...(I hope so!")); } }