public async Task <IActionResult> Review(CourseReview review) { Course course = await _context.Courses.Include(x => x.CourseReviews).FirstOrDefaultAsync(x => x.Id == review.CourseId); if (course == null) { return(NotFound()); } CourseReview courseReview = new CourseReview { CreatedAt = DateTime.UtcNow, ModifiedAt = DateTime.UtcNow, Email = review.Email, FullName = review.FullName, CourseId = review.CourseId, Subject = review.Subject, Message = review.Message }; course.CourseReviews.Add(courseReview); await _context.SaveChangesAsync(); return(RedirectToAction("index")); }
public async Task <IActionResult> AddReview(string CourseId) { var all_reviews = await _context.CourseReviews.ToListAsync(); global_courseReview = new CourseReview(); global_courseReview.CourseId = CourseId; bool alreadyRated = false; var reviews = await _context.Reviews.ToListAsync(); foreach (var review in reviews) { if (review.UserId.Equals(userManager.GetUserId(HttpContext.User))) { foreach (var one_review in all_reviews) { if (one_review.ReviewId.Equals(review.Id) && one_review.CourseId.Equals(CourseId)) { alreadyRated = true; break; } } } } if (alreadyRated) { return(View("AlreadyRated")); } else { global_Review = new Review(); global_courseReview.ReviewId = global_Review.Id; global_Review.UserId = userManager.GetUserId(HttpContext.User); return(View()); } }
public ActionResult Create(CreateReviewBindingModel model) { try { if (!this.ModelState.IsValid) { this.Response.StatusCode = 400; return(this.Json(this.ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage))); } var loggedUserId = this.User.Identity.GetUserId(); var review = new CourseReview { AuthorId = loggedUserId, Comment = model.Comment, Course = model.Course, Teacher = model.Teacher, DatePosted = DateTime.Now }; this.Data.CourseReview.Add(review); this.Data.SaveChanges(); return(this.RedirectToAction("Index")); } catch { return(this.RedirectToAction("Index")); } }
public ActionResult Review(CourseReview review) { if (ModelState.IsValid) { return(RedirectToAction("Index")); } return(View()); }
public ActionResult DeleteConfirmed(int id) { CourseReview courseReview = db.CourseReviews.Find(id); db.CourseReviews.Remove(courseReview); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,Rating,Body,CourseID,UserID")] CourseReview courseReview) { if (ModelState.IsValid) { db.Entry(courseReview).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(courseReview)); }
public ActionResult Create([Bind(Include = "ID,Rating,Body,CourseID,UserID")] CourseReview courseReview) { if (ModelState.IsValid) { db.CourseReviews.Add(courseReview); db.SaveChanges(); return(RedirectToAction("Details", "Courses", new { @id = courseReview.CourseID })); } return(RedirectToAction("Details", "Courses", new { @id = courseReview.CourseID })); }
public ActionResult Edit([Bind(Include = "Id,IsBlocked,CourseId,StartCount,Description,CreatedById")] CourseReview courseReview) { if (ModelState.IsValid) { db.Entry(courseReview).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CourseId = new SelectList(db.Courses, "Id", "Name", courseReview.CourseId); ViewBag.CreatedById = new SelectList(db.People, "Id", "UserName", courseReview.CreatedById); return(View(courseReview)); }
// GET: CourseReviews/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CourseReview courseReview = db.CourseReviews.Find(id); if (courseReview == null) { return(HttpNotFound()); } return(View(courseReview)); }
public IActionResult Add(int courseId, string title, string content) { if (!IsValidReview(title, content)) { return(Json("review invalid")); } var user = UserManager.GetUser(HttpContext.Session); var course = _context.Courses.FirstOrDefault(c => c.CourseId == courseId); if (course == null) { return(Json("no such course")); } var existing = _context.CourseReviews.FirstOrDefault(r => r.CourseId == courseId && r.UserId == user.UserId); if (existing != null) { return(Json("review exists")); } try { var time = DateTime.UtcNow; var review = new CourseReview { CourseId = courseId, Title = title, Content = content, CreateTime = time, ModifyTime = time, Status = PostStatus.Posted, UserId = user.UserId, VersionLog = "", CommentEntryNumber = _context.NewCommentEntryNumber() }; _context.CourseReviews.Add(review); _context.SaveChanges(); return(Json(review.CourseReviewId)); } catch (Exception ex) { Logger.Exception?.WriteLine(ex.GetExceptionString("CwikiApi", "AddReview")); return(Json("failed")); } }
// GET: CourseReviews/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CourseReview courseReview = db.CourseReviews.Find(id); if (courseReview == null) { return(HttpNotFound()); } ViewBag.CourseId = new SelectList(db.Courses, "Id", "Name", courseReview.CourseId); ViewBag.CreatedById = new SelectList(db.People, "Id", "UserName", courseReview.CreatedById); return(View(courseReview)); }
public async Task <IActionResult> DeleteReview(int id) { CourseReview review = await _context.CourseReviews.FirstOrDefaultAsync(x => x.Id == id); Course course = await _context.Courses.Include(x => x.CourseReviews).FirstOrDefaultAsync(x => x.Id == review.CourseId); if (review == null) { return(NotFound()); } _context.CourseReviews.Remove(review); await _context.SaveChangesAsync(); return(RedirectToAction("index")); }
private void AddVersionLog(CourseReview review) { var sb = new StringBuilder(review.VersionLog); sb.AppendLine("<!--logentry start-->"); sb.AppendLine("### TIME"); sb.AppendLine(); sb.AppendLine(review.ModifyTime.ToString("yyyy-MM-dd HH:mm:ss")); sb.AppendLine(); sb.AppendLine("### TITLE"); sb.AppendLine(); sb.AppendLine(review.Title); sb.AppendLine(); sb.AppendLine("### CONTENT"); sb.AppendLine(); sb.AppendLine(review.Content); sb.AppendLine(); sb.AppendLine("<!--logentry end-->"); review.VersionLog = sb.ToString(); }