public ActionResult GetConnections([DataSourceRequest] DataSourceRequest dsRequest, int userId)
        {
            var model       = db.UserProfiles.Find(userId);
            var connections = model.Followers.Select(e => ProfileConnectionViewModel.CreateViewModel(e))
                              .AsQueryable();

            var viewModel = connections.ToDataSourceResult(dsRequest);

            return(Json(viewModel));
        }
        // TODO: maybe delete or implement
        public ActionResult CreateConnection([DataSourceRequest] DataSourceRequest dsRequest, ProfileConnectionViewModel eduViewModel, int userId)
        {
            if (ModelState.IsValid)
            {
                var edu  = new Education();
                var user = db.UserProfiles.Find(userId);

                edu.UserId      = user.UserId;
                edu.UserProfile = user;

                db.Education.Add(edu);
                db.SaveChanges();
            }

            return(Json(ModelState.ToDataSourceResult()));
        }
        public ActionResult DeleteConnection([DataSourceRequest] DataSourceRequest dsRequest, ProfileConnectionViewModel connViewModel, int userId)
        {
            var user      = db.UserProfiles.Find(userId);
            var connModel = user.Followers.SingleOrDefault(conn => conn.UserId == connViewModel.Id);

            if (connModel != null && ModelState.IsValid)
            {
                user.Followers.Remove(connModel);
                user.Following.Remove(connModel);

                var request = db.Requests.Single(r => r.FromUserId == userId || r.UserId == userId);

                db.Requests.Remove(request);
                db.Entry(user).State = EntityState.Modified;
                db.SaveChanges();
            }

            return(Json(ModelState.ToDataSourceResult()));
        }