public ActionResult PostTweet(TweetBindingModel model) { string userId = this.User.Identity.GetUserId(); var user = this.Data.Users.All() .FirstOrDefault(u => u.Id == userId); if (!this.ModelState.IsValid) { this.TempData["resultMessage"] = "Error"; } else { var newTweet = new Tweet() { Content = model.Content, CreatedOn = DateTime.Now, URL = "asd", UserId = userId }; this.Data.Tweets.Add(newTweet); this.Data.SaveChanges(); this.TempData["resultMessage"] = "Success"; } var data = this.TempData["resultMessage"]; var hubContext = GlobalHost.ConnectionManager.GetHubContext<TweetsHub>(); hubContext.Clients.All.receiveTweet(user.UserName, model.Content); return Content("Tweeted"); }
public ActionResult PostTweet(TweetBindingModel m) { if (string.IsNullOrEmpty(m.Text)) { return(this.RedirectToAction("Index", "Home")); } var userId = this.User.Identity.GetUserId(); var tweet = this.Data.Tweets.Add(new Tweet { Text = m.Text, AuthorId = userId, ReplyToId = m.ReplyToId, PostedOn = DateTime.Now }); if (tweet.ReplyToId != null) { var addReply = this.Data.Tweets.FirstOrDefault(t => t.Id == tweet.ReplyToId); addReply.Replies.Add(tweet); } this.Data.SaveChanges(); var hubContext = GlobalHost.ConnectionManager.GetHubContext <TweetHub>(); hubContext.Clients.All.receiveTweets(); return(this.RedirectToAction("Index", "Home")); }
public ActionResult CreateTweet(TweetBindingModel model) { if (model == null || !this.ModelState.IsValid) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Data")); } var tweet = new Tweet { Message = model.Message, TimeStamp = DateTime.Now, User = this.Data.ApplicationUsers.GetById(this.User.Identity.GetUserId()) }; this.Data.Tweets.Add(tweet); this.Data.SaveChanges(); return(this.RedirectToAction("Index", "Home")); }
public ActionResult CreateTweet(TweetBindingModel model) { if (model == null || !this.ModelState.IsValid) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Invalid Data"); } var tweet = new Tweet { Message = model.Message, TimeStamp = DateTime.Now, User = this.Data.ApplicationUsers.GetById(this.User.Identity.GetUserId()) }; this.Data.Tweets.Add(tweet); this.Data.SaveChanges(); return this.RedirectToAction("Index", "Home"); }
public ActionResult Post(TweetBindingModel model) { if (!ModelState.IsValid) { } var tweet = new Tweet { Content = model.Content, PostDate = DateTime.Now, Reports = 0, UserId = this.User.Identity.GetUserId() }; this.Data.Tweets.Add(tweet); this.Data.SaveChanges(); return(RedirectToAction("Index", "Home")); }
public ActionResult CreateTweet(TweetBindingModel model) { //Adding the new tweet in db var loggedUserId = User.Identity.GetUserId(); var tweet = new Tweet { CreatedAt = DateTime.Now, Content = model.Content, UserId = loggedUserId }; this.Data.Tweets.Add(tweet); this.Data.SaveChanges(); //collecting Data for new Tweets hub var user = Data.Users.Find(loggedUserId); var userFullName = user.FullName; var userAvatarUrl = user.AvatarUrl; var tweetId = tweet.Id; var likesCount = tweet.Likes.Count; var retweetsCount = tweet.Retweets.Count; var createdAt = DateTime.Now.ToString("MMM d yyyy HH:mm"); string content = model.Content; //creating new tweet hub var hubContext = GlobalHost.ConnectionManager.GetHubContext <TweetsHub>(); hubContext.Clients.All.newTweet(content, userAvatarUrl, userFullName, createdAt, tweetId, likesCount, retweetsCount); //... if (ModelState.IsValid) { this.AddNotification("Tweet composed.", NotificationType.INFO); return(RedirectToAction("Index", "Home")); } return(View(model)); }
public ActionResult Retweet(TweetBindingModel model, int id, string destination) { var tweet = this.Data.Tweets.Find(id); string userId = this.User.Identity.GetUserId(); tweet.Retweets.Add(new Tweet() { Content = model.Content, CreatedOn = DateTime.Now, URL = "asd", UserId = userId }); var notifiedUser = tweet.User; notifiedUser.Notifications.Add(new Notification() { Content = string.Format("User {0} retweeted your tweet", this.User.Identity.GetUserName()), CreatedOn = DateTime.Now }); this.Data.SaveChanges(); if (destination == "Index") { return RedirectToAction(destination, "Home"); } else { return RedirectToAction(destination, "Users"); } }
public ActionResult Retweet(int id, string destination) { ViewBag.Id = id; ViewBag.Destination = destination; TweetBindingModel tweetBindingModel = new TweetBindingModel(); return View(tweetBindingModel); }