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"); }
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")); }
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")); } }
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")); } }
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")); }
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")); }
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(); } }
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")); }
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."); } }
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")); }
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"); }
private void PostsToolStripMenuItem_Click(object sender, EventArgs e) { PostsForm postsForm = new PostsForm(); postsForm.ShowDialog(); }