Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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");
            }
        }
Exemplo n.º 8
0
        public ActionResult Retweet(int id, string destination)
        {
            ViewBag.Id = id;
            ViewBag.Destination = destination;

            TweetBindingModel tweetBindingModel = new TweetBindingModel();

            return View(tweetBindingModel);
        }