public async Task <IHttpActionResult> DeletePost(int id) { try { ApplicationUser user = this.userRepository.GetOneById(User.Identity.GetUserId()); if (user == null) { return(BadRequest("Invalid Token")); } Topic t = this.repository.GetOneById(id); if (t.creatorId == user.Id || User.IsInRole("Admin")) { repository.DeleteOneById(id); return(Ok("Topic Deleted")); } else { return(BadRequest("Cannot delete a Topic which you are not an admin of!")); } } catch { return(BadRequest("Bad Request")); } }