Esempio n. 1
0
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = form.PostId == null;

            if (!ModelState.IsValid)
                return View(form);

            Post post;
            if (form.IsNew)
            {
                post = new Post
                {
                    CreatedAt = DateTime.UtcNow,
                    User = Auth.User
                };
            }
            else
            {
                post = Database.Session.Load<Post>(form.PostId);

                if (post == null)
                    return HttpNotFound();

                post.UpdatedAt = DateTime.UtcNow;
            }

            post.Title = form.Title;
            post.Slug = form.Slug;
            post.Content = form.Content;

            Database.Session.SaveOrUpdate(post);


            return RedirectToAction("Index");
        }
Esempio n. 2
0
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = form.PostId == null;

            if (!ModelState.IsValid)
            {
                return(View(form));
            }

            var selectedTags = ReconcileTags(form.Tags).ToList();

            // Flow control to check if post exists or not. If it exists, instantiate
            // With the creator being the person currently logged in.
            Post post;

            if (form.IsNew)
            {
                post = new Post
                {
                    CreatedAt = DateTime.UtcNow,
                    User      = Auth.User,
                };

                foreach (var tag in selectedTags)
                {
                    post.Tags.Add(tag);
                }
            }
            else
            {
                post = Database.Session.Load <Post>(form.PostId);

                if (post == null)
                {
                    return(HttpNotFound());
                }

                post.UpdatedAt = DateTime.UtcNow;

                foreach (var toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                {
                    post.Tags.Add(toAdd);
                }

                foreach (var toRemove in selectedTags.Where(t => !selectedTags.Contains(t)).ToList())
                {
                    post.Tags.Remove(toRemove);
                }
            }

            // Model is binded to the form based on the entries on the latter mentioned
            post.Title   = form.Title;
            post.Slug    = form.Slug;
            post.Content = form.Content;

            // Utilise ORM library for the create or update of a post.
            Database.Session.SaveOrUpdate(post);

            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        public ActionResult NewPost(PostsForm form)
        {
            using (db = new MainDBContext())
            {
                var post         = new Post();
                var user         = db.Users.Find(1);
                var selectedTags = ReconsileTags(form.Tags).ToList();

                if (!ModelState.IsValid)
                {
                    return(View(form));
                }
                ;

                post.CreatedAt = DateTime.UtcNow;
                post.User      = db.Users.ToList()
                                 .FirstOrDefault(u => u.Username == System.Web.HttpContext.Current.User.Identity.Name);

                foreach (var tag in selectedTags)
                {
                    post.Tags.Add(tag);
                }
                ;

                db.Posts.Add(post);
                db.SaveChanges();
                return(RedirectToAction("index"));
            }
        }
Esempio n. 4
0
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = form.PostId == null;

            if (!ModelState.IsValid)
            {
                return(View(form));
            }

            using (db = new MainDBContext())
            {
                var selectedTags = ReconsileTags(form.Tags).ToList();

                var post = new Post();
                if (form.IsNew)
                {
                    post.CreatedAt = DateTime.UtcNow;
                    post.User      = db.Users
                                     .FirstOrDefault(u => u.Username == System.Web.HttpContext.Current.User.Identity.Name);

                    foreach (var tag in selectedTags)
                    {
                        post.Tags.Add(tag);
                    }
                    ;

                    db.Posts.Add(post);
                }
                else
                {
                    post = db.Posts.Find(form.PostId);

                    if (post == null)
                    {
                        return(HttpNotFound());
                    }

                    post.UpdatedAt = DateTime.UtcNow;

                    foreach (var toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                    {
                        post.Tags.Add(toAdd);
                    }

                    foreach (var toRemove in post.Tags.Where(t => !selectedTags.Contains(t)).ToList())
                    {
                        post.Tags.Remove(toRemove);
                    }
                }


                post.Title   = form.Title;
                post.Slug    = form.Slug;
                post.Content = form.Content;
                db.SaveChanges();

                return(RedirectToAction("index"));
            }
        }
Esempio n. 5
0
        private void postToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var postsForm = new PostsForm();

            postsForm.MdiParent   = this;
            postsForm.WindowState = FormWindowState.Maximized;
            postsForm.Show();
        }
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = form.PostId == null;

            if (!ModelState.IsValid)
            {
                return(View(form));
            }

            var selectedTags = ReconsileTags(form.Tags);

            Post post;

            if (form.IsNew)
            {
                post = new Post
                {
                    CreatedAt = DateTime.UtcNow,
                    User      = Auth.User
                };

                foreach (var tag in selectedTags)
                {
                    post.Tags.Add(tag);
                }
            }
            else
            {
                post = Database.Session.Load <Post>(form.PostId);

                if (post == null)
                {
                    return(HttpNotFound());
                }

                post.UpdatedAt = DateTime.UtcNow;


                foreach (var toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                {
                    post.Tags.Add(toAdd);
                }

                foreach (var toRemove in post.Tags.Where(t => !selectedTags.Contains(t)).ToList())
                {
                    post.Tags.Remove(toRemove);
                }
            }

            post.Title   = form.Title;
            post.Slug    = form.Slug;
            post.Content = form.Content;

            Database.Session.SaveOrUpdate(post);


            return(RedirectToAction("Index"));
        }
Esempio n. 7
0
        public ActionResult Form(PostsForm model)
        {
            model.IsNew = (model.PostId == null);

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var selectedTags = SyncTags(model.Tags).ToList();

            Post post;

            if (model.IsNew)       // Create new post
            {
                post = new Post()
                {
                    CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow, User = UserCache.CurrentUser
                };

                foreach (Tag tag in selectedTags)
                {
                    post.Tags.Add(tag);
                }
            }
            else           // Update existing post
            {
                post = DatabaseManager.Session.Load <Post>(model.PostId);
                if (post == null)
                {
                    return(HttpNotFound());
                }

                post.UpdatedAt = DateTime.UtcNow;

                // Update tags
                foreach (Tag toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                {
                    post.Tags.Add(toAdd);
                }

                foreach (Tag toRemove in post.Tags.Where(t => !selectedTags.Contains(t)).ToList())
                {
                    post.Tags.Remove(toRemove);
                }
            }

            post.Title   = model.Title;
            post.Slug    = model.Slug;
            post.Content = model.Content;

            DatabaseManager.Session.SaveOrUpdate(post);

            return(RedirectToAction("index"));
        }
Esempio n. 8
0
        private void ListPostsToolStripMenuItem2_Click(object sender, EventArgs e)
        {
            if (MdiChildren.Count() > 0)
            {
                MdiChildren[0].Close();

                PostsForm posts = new PostsForm();

                posts.MdiParent = this;
                posts.Anchor    = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right);
                posts.Show();
            }
        }
Esempio n. 9
0
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = form.PostId == null;

            if (!ModelState.IsValid)
            {
                return(View(form));
            }

            var selectedTags = ReconsileTags(form.Tags).ToList();

            Post post;

            if (form.IsNew)
            {
                post = new Post()
                {
                    CreatedAt = DateTime.UtcNow,
                    UserId    = 1,                  // !!! need to be redone
                };
            }
            else
            {
                post = db.Posts.Find(form.PostId);

                if (post == null)
                {
                    return(HttpNotFound());
                }

                post.UpdatedAt = DateTime.UtcNow;
                foreach (var toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                {
                    post.Tags.Add(toAdd);
                }

                foreach (var toRemove in post.Tags.Where(t => !selectedTags.Contains(t)).ToList())
                {
                    post.Tags.Remove(toRemove);
                }
            }

            post.Title   = form.Title;
            post.Slug    = form.Slug;
            post.Content = form.Content;

            db.Posts.AddOrUpdate(post);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
Esempio n. 10
0
        private void SignInBtn_Click(object sender, EventArgs e)
        {
            var user = new User();

            user.Login    = LoginTextBox.Text;
            user.Password = PasswordTextBox.Text;
            if (user.CheckUser())
            {
                PostsForm posts = new PostsForm();
                posts.Size          = this.Size;
                posts.StartPosition = this.StartPosition;
                this.Visible        = false;

                posts.ShowDialog();

                this.Visible = true;
            }
            else
            {
                MessageBox.Show("Incorrect login or password.");
            }
        }
Esempio n. 11
0
        public ActionResult Form(PostsForm formData)
        {
            formData.IsNew = formData.PostId == null;

            if (!ModelState.IsValid)
            {
                return(View(formData));
            }

            Post post;

            if (formData.IsNew)
            {
                post = new Post()
                {
                    CreatedAt = DateTime.Now,
                    User      = Auth.User
                };
            }
            else
            {
                post = Database.Session.Load <Post>(formData.PostId);
                if (post == null)
                {
                    return(HttpNotFound());
                }

                post.UpdatedAt = DateTime.Now;
            }

            post.Title   = formData.Title;
            post.Slug    = formData.Slug;
            post.Content = formData.Content;

            Database.Session.SaveOrUpdate(post);
            Database.Session.Flush();

            return(RedirectToAction("Index"));
        }
Esempio n. 12
0
        public ActionResult Form(PostsForm form)
        {
            form.IsNew = (form.PostId == null);

            if (!ModelState.IsValid)
                return View(form);

            var selectedTags = form.Tags;

            Post post;
            if (form.IsNew)
            {
                post = new Post
                {
                    AddedDate = DateTime.UtcNow,
                    User = userService.GetUser(form.SelectedUserId)
                };

                //foreach (var tag in selectedTags)
                //{
                //    post.Tags.Add(tag);

                //}

            }
            else
            {
                post = postService.GetPost((long)form.PostId);
                if (post == null)
                    return HttpNotFound();

                post.UpdatedAt = DateTime.UtcNow;

                //foreach (var toAdd in selectedTags.Where(t => !post.Tags.Contains(t)))
                //{
                //    post.Tags.Add(toAdd);
                //}

                //foreach (var toRemove in post.Tags.Where(t => !selectedTags.Contains(t)).ToList())
                //{
                //    post.Tags.Remove(toRemove);
                //}
            {

            }
            }

            post.User = userService.GetUser(form.SelectedUserId);
            post.Title = form.Title;
            post.Content = form.Content;
            post.Description = form.Description;
            post.MainPhoto = form.MainPhoto;
            post.Categories = catService.GetCategory(form.SelectedPostCatId);

            if(form.IsNew)
                postService.Insert(post);
            else
                postService.UpdatePost(post);

            return RedirectToAction("index");
        }
Esempio n. 13
0
        private void PostsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            PostsForm postsForm = new PostsForm();

            postsForm.ShowDialog();
        }