public JsonResult DashboardData(string user, string SearchString, string SortType)
        {
            var CurrentUser = db.Users.FirstOrDefault(h => h.UserName == user);

            var chatList   = db.Chats.Where(h => h.ReceivePersonId == CurrentUser.id && h.IsSent == true).ToList();
            var SendPerson = chatList.Select(h => h.SendPersonId).Distinct();
            var model      = new List <DashTutorVM>();

            #region
            //List<int> Message = new List<int>();
            //List<string> SendUser = new List<string>();
            #endregion
            foreach (var item in SendPerson)
            {
                var         thisStudent = db.Users.FirstOrDefault(h => h.id == item);
                DashTutorVM newDash     = new DashTutorVM();
                newDash.Name         = thisStudent.Profile.Name;
                newDash.MessageCount = chatList.Count(h => h.SendPersonId == item);;
                model.Add(newDash);

                //Message.Add(chatList.Count(h => h.SendPersonId == item));
            }
            #region
            //int isAdded = 0;
            //foreach (var item in chatList)
            //{

            //    var senderID = db.Users.FirstOrDefault(h => h.id == item.SendPersonId);

            //    if (senderID.id != isAdded)
            //    {
            //        SendUser.Add(senderID.Profile.Name);
            //        isAdded = senderID.id;
            //    }

            //}
            //DashTutorVM model = new DashTutorVM();
            //model.MessageCount = Message.ToList();
            //model.Name = SendUser;
            #endregion

            if (!String.IsNullOrEmpty(SearchString))
            {
                model = model.Where(h => h.Name.ToUpper().Contains(SearchString.ToUpper())).ToList();
            }
            switch (SortType)
            {
            case "Count": model = model.OrderByDescending(h => h.MessageCount).ToList();
                break;

            case "Name":
                model = model.OrderByDescending(h => h.Name).ToList();
                break;

            default:
                model = model.ToList();
                break;
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetData(int id)
        {
            var CurrentTutor = db.Users.Where(h => h.Role.id == 2 && h.id == id).FirstOrDefault();
            var chatList     = db.Chats.Where(h => h.ReceivePersonId == CurrentTutor.id && h.IsSent == true).ToList();
            var SendPerson   = chatList.Select(h => h.SendPersonId).Distinct();
            var model        = new List <DashTutorVM>();

            foreach (var item in SendPerson)
            {
                var         thisStudent = db.Users.FirstOrDefault(h => h.id == item);
                DashTutorVM newDash     = new DashTutorVM();
                newDash.Name         = thisStudent.Profile.Name;
                newDash.MessageCount = chatList.Count(h => h.SendPersonId == item);;
                model.Add(newDash);

                //Message.Add(chatList.Count(h => h.SendPersonId == item));
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }