public async Task <IHttpActionResult> ReportQuestion(int id) { var userId = User.Identity.GetUserId(); if (userId != null) { Question ad = await db.Questions.FindAsync(id); if (ad == null) { return(NotFound()); } var isAlreadyReported = ad.ReportedQuestions.Any(x => x.reportedBy == userId); if (isAlreadyReported) { return(BadRequest("You can report a Question only once.If something is really wrong you can contact us")); } ReportedQuestion rep = new ReportedQuestion(); rep.reportedBy = userId; rep.questionId = id; db.ReportedQuestions.Add(rep); await db.SaveChangesAsync(); var count = ad.ReportedQuestions.Count; return(Ok(count)); } else { return(BadRequest("Not login")); } }
public ActionResult ReportQuestion(int reportId, string reason) { var rq = new ReportedQuestion { QuestionId = reportId, Reason = reason, ReportedById = CurrentUser.UserInfo.Id }; var feedback = _qRepo.ReportQuestion(rq); return Json(new Feedback(feedback.Success, feedback.Message)); }