public IHttpActionResult PutComment(int id, Comment comment) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != comment.Id) { return BadRequest(); } string userId = this.User.Identity.GetUserId(); ApplicationUser user = db.Users.Find(userId); if (comment.UserId != userId) return BadRequest(); if (comment.AssignId != 0) { Assignment assignment = db.Assignments.Where(x => x.Id == comment.AssignId).First(); comment.AssignmentTitle = assignment.Course.Name + " - " + assignment.Title; } if (comment.AnnounceId != 0) { Announcement announcement = db.Announcements.Where(x => x.Id == comment.AnnounceId).First(); comment.AnnouncementTitle = announcement.Course.Name + " - " + announcement.Title; } comment.DateCreated = DateTime.UtcNow.AddHours(2); db.Entry(comment).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CommentExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public IHttpActionResult PostComment(Comment comment) { if (!ModelState.IsValid) { return BadRequest(ModelState); } string userId=this.User.Identity.GetUserId(); ApplicationUser user = db.Users.Find(userId); comment.UserId = userId; comment.Username = user.FullName; comment.UserEmail = user.UserName; comment.DateCreated = DateTime.UtcNow.AddHours(2); if(comment.AssignId!=0) { Assignment assignment = db.Assignments.Where(x => x.Id == comment.AssignId).First(); comment.AssignmentTitle = assignment.Course.Name + " - " + assignment.Title; } if(comment.AnnounceId!=0) { Announcement announcement = db.Announcements.Where(x => x.Id == comment.AnnounceId).First(); comment.AnnouncementTitle = announcement.Course.Name + " - " + announcement.Title; } db.Comments.Add(comment); try { db.SaveChanges(); return Ok(comment); } catch(Exception e) { Console.WriteLine(e.Message); } return Ok(comment); }
public IHttpActionResult EditComment(int id, Comment comment) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != comment.Id) { return BadRequest(); } db.Entry(comment).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!CommentExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }