public ActionResult Index(UserModel User)
        {
            if (User.IsValid(User.UserName, User.Password))
                {
                    var userEntity = _db.User.ToList();

                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                                                                1,
                                                                User.UserName,
                                                                DateTime.Now,
                                                                DateTime.Now.AddMinutes(10),
                                                                false,
                                                                null);

                    string encryptedTicket = FormsAuthentication.Encrypt(ticket);
                    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                    cookie["userName"] = User.UserName;
                    this.Response.Cookies.Add(cookie);
                    return RedirectToAction("Feed", "Feed");
                }
                else
                {
                    ModelState.AddModelError("", "Login data is incorrect!");
                }
            //}
            return View(User);
        }
 public ActionResult Index()
 {
     HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     if (authCookie != null)
     {
         string UserName = authCookie["userName"].ToString();
         UserModel matchUser = new UserModel(UserName);
         Session["User"] = matchUser;
         return RedirectToAction("Feed", "Feed");
     }
     else
         return View();
 }
        public ActionResult Create([Bind(Include = "MessageId,MessageDesc")] Message message)
        {
            if (ModelState.IsValid)
            {
                HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
                string UserName = authCookie["userName"].ToString();
                UserModel matchUser = new UserModel(UserName);
                message.UserId = matchUser.UserId;
                message.DateMessaged = DateTime.UtcNow;
                db.Message.Add(message);
                db.SaveChanges();
                var myhubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub1>();
                myhubContext.Clients.All.NewMessage(message);
                return RedirectToAction("Index");
            }

            return View(message);
        }
        public ActionResult Create( UserModel User1)
        {
            try
            {
                var checkUser = _db.User.Count(i => i.UserName == User1.UserName);

                if (checkUser==0 && ModelState.IsValid)
                {
                    _db.User.Add(User1);
                    _db.SaveChanges();
                    return RedirectToAction("Index");

                }

            }
            catch
            {
                return View(User);
            }
            return View();
        }
        public void CommentSave(string cmt, int msgid)
        {
            Comments comments = new Comments();
            comments.Comment = cmt;
            comments.MessageId = msgid;
            HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
            string UserName = authCookie["userName"].ToString();
            UserModel matchUser = new UserModel(UserName);
            comments.DateCommented = DateTime.UtcNow;
            comments.UserId = matchUser.UserId;
            db.Comment.Add(comments);

            db.SaveChanges();
            CommentContent comment = new CommentContent();
            comment.UserName = UserName;
            comment.MessageId = comments.MessageId;
            comment.Comment = comments.Comment;
            comment.DateCommented = comments.DateCommented;
            var myhubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub1>();
            myhubContext.Clients.All.NewComment(comment);
        }
 public void SaveMessageToUser( string msgid)
 {
     HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
     string UserName = authCookie["userName"].ToString();
     UserModel matchUser = new UserModel(UserName);
     SavedMessages savemessage = new SavedMessages();
     savemessage.MessageId = Convert.ToInt32(msgid);
     savemessage.UserId = matchUser.UserId;
     db.SavedMessages.Add(savemessage);
     db.SaveChanges();
 }
        public void SaveMessage(string msg)
        {
            Message message = new Message();
            message.MessageDesc = msg;
            HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
            string UserName = authCookie["userName"].ToString();

            UserModel matchUser = new UserModel(UserName);
            message.UserId = matchUser.UserId;
            message.DateMessaged = DateTime.UtcNow;
            db.Message.Add(message);
            db.SaveChanges();
            FeedContent messages = new FeedContent();
            messages.DateMessaged = message.DateMessaged;
            messages.UserName = matchUser.UserName;
            messages.MessageDesc = message.MessageDesc;
            messages.UserId = message.UserId;
            messages.MessageId = message.MessageId;
            messages.liked = message.LikedCount;
            messages.disliked = message.Disliked;
            List<CommentContent> commentContent = new List<CommentContent>();
            messages.Comments = new List<CommentContent>();
            var myhubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub1>();
            myhubContext.Clients.All.NewMessage(messages);
        }
        public string GetSavedMessages()
        {
            HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
            string UserName = authCookie["userName"].ToString();
            UserModel matchUser = new UserModel(UserName);
            var user =   db.User.Where(i => i.UserId == matchUser.UserId);

            UserModel userContent = db.User.First(i => i.UserId == matchUser.UserId);
            List<Message> msgs = new List<Message>();
            foreach(SavedMessages smsg in userContent.SavedMessages)
            {
                msgs.Add(smsg.Message);

            }

            var messages = from entity in msgs
                           select new
                           {
                               Comments = from cmt in entity.Comments
                                          select
                                          new
                                          {
                                              UserName = cmt.UserModel.UserName,
                                              MessageId = cmt.MessageId,
                                              Comment = cmt.Comment,
                                              DateCommented = cmt.DateCommented

                                          },
                               DateMessaged = entity.DateMessaged,
                               UserName = entity.User.UserName,
                               MessageDesc = entity.MessageDesc,
                               UserId = entity.UserId,
                               MessageId = entity.MessageId,
                               liked = entity.LikedCount,
                               disliked = entity.Disliked

                           };

            string data = JsonConvert.SerializeObject(messages.ToList(), Formatting.Indented);
            return data;
        }