public async Task <IActionResult> CV(int?id) { var user = await _userManager.GetUserAsync(User); Profile currentProfile = null; int currentId = 0; int profileId = 0; if (_signInManager.IsSignedIn(User)) { currentProfile = db.Profile.FirstOrDefault(p => p.UsersId == user.Id); currentId = currentProfile.id; } if (id == null) { if (_signInManager.IsSignedIn(User)) { profileId = currentId; } else { return(RedirectToAction("Index", "Home")); } } else { profileId = (int)id; } var profile = db.Profile.FirstOrDefault(p => p.id == profileId); var thisUser = db.Users.FirstOrDefault(u => u.Id == profile.UsersId); if (_signInManager.IsSignedIn(User)) { var block = db.Blocklist.FirstOrDefault(b => b.blockedId == user.Id && b.blockerId == thisUser.Id || b.blockerId == user.Id && b.blockedId == thisUser.Id); if (block != null) { return(RedirectToAction("Index", "Home")); } } if (profile.Disabled && profile.UsersId != user.Id) { return(RedirectToAction("Index", "Home")); } if (currentProfile != null && currentProfile.Disabled) { return(RedirectToAction("Ban", "Home", new { profile.id })); } // Get profile Cover information bool isfolowing = false; if (user != null) { var folow = db.Follow.FirstOrDefault(f => f.folowerId == currentProfile.id && f.folowingId == profile.id); if (folow != null) { isfolowing = true; } } var coverClass = new CoverClass() { Profile = profile, User = db.Users.FirstOrDefault(u => u.Id == profile.UsersId), folowings = db.Follow.Where(f => f.folowerId == profile.id).Count(), folowers = db.Follow.Where(f => f.folowingId == profile.id).Count(), views = profile.View, isFolowing = isfolowing }; var model = new CvVM() { coverClass = coverClass, Cv = db.Cv.FirstOrDefault(c => c.ProfileId == profile.id), SkillHeaders = db.SkillsHeader.Where(sh => sh.ProfileId == profile.id).ToList(), Skills = db.Position.ToList(), SkillsHeaders = db.SkillsHeaderPosition.ToList(), SocialActs = db.SocialAct.Where(sa => sa.UsersId == profile.UsersId).ToList(), Company = db.Company.ToList(), Experience = db.Experience.Where(exp => exp.ProfileId == profile.id).ToList(), Universities = db.University.Where(u => u.UserId == profile.UsersId).ToList(), Languages = db.Languages.ToList(), UsersLanguages = db.UsersLanguages.Where(ul => ul.UsersId == profile.UsersId).ToList() }; bool isAjaxCall = Request.Headers["x-requested-with"] == "XMLHttpRequest"; if (isAjaxCall) { return(PartialView("_CV", model)); } else { return(View(model)); } }
public async Task <IActionResult> Portfolio(int?id) { var user = await _userManager.GetUserAsync(User); Profile currentProfile = null; int currentId = 0; int profileId = 0; if (_signInManager.IsSignedIn(User)) { currentProfile = db.Profile.FirstOrDefault(p => p.UsersId == user.Id); currentId = currentProfile.id; } if (id == null) { if (_signInManager.IsSignedIn(User)) { profileId = currentId; } else { return(RedirectToAction("Index", "Home")); } } else { profileId = (int)id; } var profile = db.Profile.FirstOrDefault(p => p.id == profileId); var thisUser = db.Users.FirstOrDefault(u => u.Id == profile.UsersId); if (_signInManager.IsSignedIn(User)) { var block = db.Blocklist.FirstOrDefault(b => b.blockedId == user.Id && b.blockerId == thisUser.Id || b.blockerId == user.Id && b.blockedId == thisUser.Id); if (block != null) { return(RedirectToAction("Index", "Home")); } } if (profile.Disabled && profile.UsersId != user.Id) { return(RedirectToAction("Index", "Home")); } if (currentProfile != null && currentProfile.Disabled) { return(RedirectToAction("Ban", "Home", new { profile.id })); } // Get profile Cover information bool isfolowing = false; if (user != null) { var folow = db.Follow.FirstOrDefault(f => f.folowerId == currentProfile.id && f.folowingId == profile.id); if (folow != null) { isfolowing = true; } } var coverClass = new CoverClass() { Profile = profile, User = db.Users.FirstOrDefault(u => u.Id == profile.UsersId), folowings = db.Follow.Where(f => f.folowerId == profile.id).Count(), folowers = db.Follow.Where(f => f.folowingId == profile.id).Count(), views = profile.View, isFolowing = isfolowing }; var model = new PortVM() { CoverClass = coverClass, Portfolio = db.Portfolio.Where(p => p.ProfileId == profile.id).ToList(), PortfolioImages = db.PortfolioImages.ToList() }; bool isAjaxCall = Request.Headers["x-requested-with"] == "XMLHttpRequest"; if (isAjaxCall) { return(PartialView("_Portfolio", model)); } else { return(View(model)); } }
public async Task <IActionResult> About(int?id) { var currentUser = await _userManager.GetUserAsync(User); Profile currentProfile = null; int currentId = 0; int profileId = 0; if (_signInManager.IsSignedIn(User)) { currentProfile = db.Profile.FirstOrDefault(p => p.UsersId == currentUser.Id); currentId = currentProfile.id; } if (id == null) { if (_signInManager.IsSignedIn(User)) { profileId = currentId; } else { return(RedirectToAction("Index", "Home")); } } else { profileId = (int)id; } var profile = db.Profile.FirstOrDefault(p => p.id == profileId); var user = db.Users.FirstOrDefault(u => u.Id == profile.UsersId); if (_signInManager.IsSignedIn(User)) { var block = db.Blocklist.FirstOrDefault(b => b.blockedId == user.Id && b.blockerId == currentUser.Id || b.blockerId == user.Id && b.blockedId == currentUser.Id); if (block != null) { return(RedirectToAction("Index", "Home")); } } if (currentUser == null) { profile.View = profile.View + 1; await db.SaveChangesAsync(); } else if (_signInManager.IsSignedIn(User) && user.Id != currentUser.Id) { profile.View = profile.View + 1; await db.SaveChangesAsync(); } if (profile.Disabled && profile.UsersId != currentUser.Id) { return(RedirectToAction("Index", "Home")); } if (currentProfile != null && currentProfile.Disabled) { return(RedirectToAction("Ban", "Home", new { profile.id })); } var usersActs = db.SocialAct.Where(s => s.UsersId == profile.UsersId).ToList(); usersActs.Reverse(); // Get profile Cover information bool isfolowing = false; if (currentUser != null) { var folow = db.Follow.FirstOrDefault(f => f.folowerId == currentProfile.id && f.folowingId == profile.id); if (folow != null) { isfolowing = true; } } var coverClass = new CoverClass() { Profile = profile, User = db.Users.FirstOrDefault(u => u.Id == profile.UsersId), folowings = db.Follow.Where(f => f.folowerId == profile.id).Count(), folowers = db.Follow.Where(f => f.folowingId == profile.id).Count(), views = profile.View, isFolowing = isfolowing }; // preparing model var model = new AboutVM() { CoverClass = coverClass, SosialActs = usersActs, Universities = db.University.Where(u => u.UserId == profile.UsersId).ToList() }; bool isAjaxCall = Request.Headers["x-requested-with"] == "XMLHttpRequest"; if (isAjaxCall) { return(PartialView("_About", model)); } else { return(View(model)); } }