public static ProfileConnectionViewModel CreateViewModel(UserProfile user)
        {
            var model = new ProfileConnectionViewModel();

            model.Id    = user.UserId;
            model.Name  = string.Format("{0} {1}", user.FirstName, user.LastName);
            model.Email = user.Email;

            return(model);
        }
        public static ProfileConnectionViewModel CreateViewModel(UserProfile user)
        {
            var model = new ProfileConnectionViewModel();

            model.Id = user.UserId;
            model.Name = string.Format("{0} {1}", user.FirstName, user.LastName);
            model.Email = user.Email;

            return model;
        }
Example #3
0
        public static SkillViewModel CreateViewModel(Skill skill)
        {
            var model = new SkillViewModel();

            model.Id           = skill.Id;
            model.Name         = skill.Name;
            model.Endorsements = skill.Endorsements.Select(x => ProfileConnectionViewModel.CreateViewModel(x.Endorser));

            return(model);
        }
        // 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 static ProfileViewModel CreateViewModel(UserProfile user, bool isIndex = false)
        {
            var model = new ProfileViewModel();

            model.Id         = user.UserId;
            model.Name       = string.Format("{0} {1}", user.FirstName, user.LastName);
            model.Email      = user.Email;
            model.Skills     = new List <SkillViewModel>();
            model.Jobs       = new List <JobViewModel>();
            model.Educations = new List <EducationViewModel>();
            model.APIKey     = user.APIKey;

            if (isIndex)
            {
                if (user.SkillVisibility == VisibilityState.Public)
                {
                    model.Skills = user.Skills.Select(s => SkillViewModel.CreateViewModel(s));
                }

                if (user.JobsVisibility == VisibilityState.Public)
                {
                    model.Jobs = user.Jobs.Select(j => JobViewModel.CreateViewModel(j));
                }

                if (user.EducationVisibility == VisibilityState.Public)
                {
                    model.Educations = user.Education.Select(e => EducationViewModel.CreateViewModel(e));
                }
            }
            else
            {
                model.APIKey = string.Empty;
            }

            model.Connections = user.Followers
                                .Where(e => e.Visibility == VisibilityState.Public)
                                .Select(e => ProfileConnectionViewModel.CreateViewModel(e));

            model.Requests = user.Requests.Select(r => new ProfileViewModel()
            {
                Name = r.FromUserName,
                Id   = r.FromUserId
            });

            return(model);
        }
        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());
        }