Пример #1
0
 public List <Post> GetAllPosts()
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         return(ctx.Posts.Include("Comments").ToList <Post>());
     }
 }
Пример #2
0
 public int DeletePost(Guid id)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         return(ctx.Database.ExecuteSqlCommand("Delete From Post where postid = @p0", id));
     }
 }
Пример #3
0
 public Comment GetCommentById(Guid id)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         var items = from c in ctx.Comments where (c.CommentId == id) select c;
         return(items.Include(p => p.Post).SingleOrDefault());
     }
 }
Пример #4
0
 public Post GetPostById(Guid id)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         var items = from p in ctx.Posts where (p.PostId == id) select p;
         if (items != null)
         {
             return(items.Include(c => c.Comments).SingleOrDefault());
         }
         return(null); // trebuie verificat in apelant
     }
 }
Пример #5
0
 public bool AddPost(Post post)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         bool bResult = false;
         if (post.PostId == Guid.Empty)
         {
             var it = ctx.Entry <Post>(post).State = EntityState.Added;
             ctx.SaveChanges();
             bResult = true;
         }
         return(bResult);
     }
 }
Пример #6
0
 public Post UpdatePost(Post newPost)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         Post oldPost = ctx.Posts.Find(newPost.PostId);
         if (oldPost == null) // nu exista in bd
         {
             return(null);
         }
         oldPost.Description = newPost.Description;
         oldPost.Domain      = newPost.Domain;
         oldPost.Date        = newPost.Date;
         ctx.SaveChanges();
         return(oldPost);
     }
 }
Пример #7
0
 public bool AddComment(Comment comment)
 {
     using (ModelSelfReference ctx = new ModelSelfReference())
     {
         bool bResult = false;
         if (comment == null || comment.PostPostId == Guid.Empty)
         {
             return(bResult);
         }
         if (comment.CommentId == Guid.Empty)
         {
             ctx.Entry <Comment>(comment).State = EntityState.Added;
             Post p = ctx.Posts.Find(comment.PostPostId);
             ctx.Entry <Post>(p).State = EntityState.Unchanged;
             ctx.SaveChanges();
             bResult = true;
         }
         return(bResult);
     }
 }
Пример #8
0
        public Comment UpdateComment(Comment newComment)
        {
            using (ModelSelfReference ctx = new ModelSelfReference())
            {
                Comment oldComment = ctx.Comments.Find(newComment.CommentId);
                // Deoarece parametrul este un Comment ar trebui verificata fiecare
                // proprietate din newComment daca are valoare atribuita si
                // daca valoarea este diferita de cea din bd.
                // Acest lucru il fac numai la modificarea asocierii.
                if (newComment.Text != null)
                {
                    oldComment.Text = newComment.Text;
                }
                if ((oldComment.PostPostId != newComment.PostPostId) &&
                    (newComment.PostPostId != Guid.Empty))
                {
                    oldComment.PostPostId = newComment.PostPostId;
                }

                ctx.SaveChanges();
                return(oldComment);
            }
        }