public IHttpActionResult AddImagesComment([FromUri] int id, [FromBody] CommentCreateBindingModel model)
        {
            if (model == null)
            {
                return(this.BadRequest());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var image = this.Data.Images.Find(id);

            if (image == null)
            {
                return(this.NotFound());
            }

            var user = this.Data.Users.Find(this.User.Identity.GetUserId());

            var newComment = new Comment
            {
                Content  = model.Content,
                AuthorId = user.Id,
                PostedOn = DateTime.Now,
                ImageId  = id
            };

            this.Data.Comments.Add(newComment);
            this.Data.SaveChanges();

            var commentToReturn = Mapper.Map <CommentViewModel>(newComment);

            commentToReturn.IsMine = true;

            return(this.Ok(commentToReturn));
        }
示例#2
0
        public IHttpActionResult AddBlastComment([FromUri] int id, [FromBody] CommentCreateBindingModel model)
        {
            if (model == null)
            {
                return(this.BadRequest());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var blast = this.Data.Blasts.Find(id);

            if (blast == null)
            {
                return(this.NotFound());
            }

            var currentUser = this.Data.Users.Find(this.User.Identity.GetUserId());

            var newComment = new Comment
            {
                Content  = model.Content,
                AuthorId = currentUser.Id,
                PostedOn = DateTime.Now,
                BlastId  = id
            };

            this.Data.Comments.Add(newComment);
            this.Data.SaveChanges();

            var returnItem = Mapper.Map <CommentViewModel>(newComment);

            returnItem.IsMine = true;

            return(this.Ok(returnItem));
        }
示例#3
0
        public IHttpActionResult AddSongComment([FromUri] int id, [FromBody] CommentCreateBindingModel comment)
        {
            if (comment == null)
            {
                return(this.BadRequest("Cannot create an empty comment model."));
            }

            var song = this.Data.Songs.Find(id);

            if (song == null)
            {
                return(this.NotFound());
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            var user = this.Data.Users.Find(this.User.Identity.GetUserId());

            var newSongComment = new Comment
            {
                Content  = comment.Content,
                AuthorId = user.Id,
                PostedOn = DateTime.Now,
                SongId   = id
            };

            this.Data.Comments.Add(newSongComment);
            this.Data.SaveChanges();

            var commentToReturn = Mapper.Map <CommentViewModel>(newSongComment);

            return(this.Ok(commentToReturn));
        }