Esempio n. 1
0
        public ActionResult Create([Bind(Include = "Id,Title,Description,CreationDate")] Topic topic)
        {
            if (ModelState.IsValid)
            {
                var creator = User.Identity.Name;
                topic.Creator = creator;

                db.Topics.Add(topic);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(topic));
        }
Esempio n. 2
0
        public void AddThread(ThreadDTO dto)
        {
            var newThread = new Thread
            {
                Id          = Guid.NewGuid(),
                Title       = dto.Title,
                DateCreated = DateTime.UtcNow,
                LastPosted  = DateTime.UtcNow,
                Likes       = 0
            };

            var post = new Post
            {
                Id     = Guid.NewGuid(),
                Name   = dto.Name,
                Text   = dto.Text,
                Posted = DateTime.UtcNow
            };

            newThread.Posts.Add(post);

            using (var ctx = new WebForumContext())
            {
                ctx.Threads.Add(newThread);
                ctx.SaveChanges();
            }
        }
Esempio n. 3
0
        public void EditThread(IndexThreadDTO thread)
        {
            using (var ctx = new WebForumContext())
            {
                var threadToEdit = ctx.Threads.Find(thread.Id);

                if (threadToEdit != null)
                {
                    threadToEdit.Title            = thread.Title;
                    ctx.Entry(threadToEdit).State = EntityState.Modified;
                }
                ctx.SaveChanges();
            }
        }
Esempio n. 4
0
        public void EditPost(PostDTO post)
        {
            using (var ctx = new WebForumContext())
            {
                var postToEdit = ctx.Posts.Find(post.Id);
                if (postToEdit != null)
                {
                    postToEdit.Text = post.Text;

                    ctx.Entry(postToEdit).State = EntityState.Modified;
                }
                ctx.SaveChanges();
            }
        }
Esempio n. 5
0
        public void DeletePost(Guid postId)
        {
            using (var ctx = new WebForumContext())
            {
                var postToDelete = ctx.Posts.Find(postId);

                if (postToDelete != null)
                {
                    ctx.Posts.Remove(postToDelete);
                }

                ctx.SaveChanges();
            }
        }
Esempio n. 6
0
        public void DeleteThread(Guid threadId)
        {
            using (var ctx = new WebForumContext())
            {
                Trace.WriteLine($"Delete Thread ID: {threadId}");
                var threadToDelete = ctx.Threads.Find(threadId);

                if (threadToDelete != null)
                {
                    ctx.Threads.Remove(threadToDelete);
                }

                ctx.SaveChanges();
            }
        }
Esempio n. 7
0
        public void AddPost(PostDTO post)
        {
            var newPost = new Post
            {
                Id       = Guid.NewGuid(),
                Name     = post.Name,
                Text     = post.Text,
                Posted   = DateTime.UtcNow,
                ThreadId = post.ThreadId
            };

            using (var ctx = new WebForumContext())
            {
                ctx.Posts.Add(newPost);
                ctx.SaveChanges();
            }
        }
Esempio n. 8
0
        public int UpdatePostLikes(Guid postId)
        {
            var likesAmount = 0;

            using (var ctx = new WebForumContext())
            {
                var post = ctx.Posts.Find(postId);
                if (post != null)
                {
                    post.Likes           += 1;
                    likesAmount           = post.Likes;
                    ctx.Entry(post).State = EntityState.Modified;
                }

                ctx.SaveChanges();
            }
            return(likesAmount);
        }
Esempio n. 9
0
        public int UpdateLikes(Guid threadId)
        {
            var likesAmount = 0;

            using (var ctx = new WebForumContext())
            {
                var thread = ctx.Threads.Find(threadId);
                if (thread != null)
                {
                    thread.Likes           += 1;
                    likesAmount             = thread.Likes;
                    ctx.Entry(thread).State = EntityState.Modified;
                }

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