public IHttpActionResult Leave(int id) { var household = HouseholdHelper.GetByIdWithJoinedUsers(id); if (household == null) { return(NotFound()); } var currentUserId = User.Identity.GetUserId(); var IsOwner = household.OwnerId == currentUserId; var isJoined = household.IsJoinedById(currentUserId); if (IsOwner || !isJoined) { return(Unauthorized()); } var user = UserHelper.GetUserById(currentUserId); if (user == null) { return(NotFound()); } household.JoinedUsers.Remove(user); DbContext.SaveChanges(); return(Ok()); }