示例#1
0
        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"));
            }
        }
示例#2
0
 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));
 }