Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        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));
            }
        }