public ActionResult CreateTweet(TweetViewModel tweet) { var user = this.Data.Users.GetById(User.Identity.GetUserId()); if (!ModelState.IsValid) { ModelState.AddModelError("CustomError", "Tweet length must be between 1 and 140 symbols!"); } else { Tweet entity = new Tweet() { DateTweeted = DateTime.Now, Text = tweet.Text, User = user }; this.Data.Tweets.Add(entity); var tags = Regex.Matches(tweet.Text, @"((?:#){1}[\w\d]{1,140})"); foreach (object tag in tags) { string tagAsString = tag.ToString(); Tag newTag = this.Data.Tags.All().FirstOrDefault(t => t.Name == tagAsString); if (newTag == null) { newTag = new Tag() { Name = tagAsString }; } entity.Tags.Add(newTag); } this.Data.SaveChanges(); } var tweets = user.Tweets .Select(t => new TweetViewModel() { DateTweeted = t.DateTweeted, Text = t.Text, Author = t.User.UserName }) .OrderByDescending(t => t.DateTweeted) .ToList(); return PartialView("_TweetPartial", tweets); }
public ActionResult Create(Tweet tweet) { if (ModelState.IsValid) { db.Tweets.Add(tweet); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.UserId = new SelectList(db.Users, "Id", "UserName", tweet.UserId); return View(tweet); }
public ActionResult Create(CreateTweetModel tweet) { if (ModelState.IsValid) { var user = this.db.Users.FirstOrDefault(u => u.UserName == this.User.Identity.Name); var newTweet = new Tweet { Message = tweet.Message, AuthorId = user.Id }; db.Tweets.Add(newTweet); db.SaveChanges(); return RedirectToAction("Index"); } //ViewBag.AuthorId = new SelectList(db.Users, "Id", "Email", tweet.AuthorId); return View(tweet); }
public ActionResult Create(Tweet tweet) { if (!String.IsNullOrEmpty(tweet.Content) && tweet != null) { tweet.DateTweeded = DateTime.Now; } if (ModelState.IsValid) { if (User.Identity.IsAuthenticated) { var user = db.Users.All().FirstOrDefault(x => x.UserName == User.Identity.Name); tweet.User = user; db.Tweets.Add(tweet); var tagsMatches= Regex.Matches(tweet.Content, "(\\#\\S+)"); var tags = new HashSet<Tag>(); for (int i = 0; i < tagsMatches.Count; i++) { var newTag = tagsMatches[i].Value; var tag = db.Tags.All().FirstOrDefault(t => t.Name == newTag); if (tag == null) { tags.Add(new Tag { Name = newTag }); } else { tags.Add(tag); } } tweet.Tags = tags; db.SaveChanges(); return RedirectToAction("Index"); } } return View(tweet); }
public ActionResult Edit(Tweet tweet) { if (ModelState.IsValid) { db.Tweets.Update(tweet); db.SaveChanges(); return RedirectToAction("Index"); } return View(tweet); }
public ActionResult Edit(Tweet tweet) { if (ModelState.IsValid) { db.Entry(tweet).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.UserId = new SelectList(db.Users, "Id", "UserName", tweet.UserId); return View(tweet); }