示例#1
0
        public async Task <IActionResult> IndexAsync(string userId)
        {
            if (string.IsNullOrWhiteSpace(userId))
            {
                return(View(new ProfileModel()));
            }

            ProfileModel viewModel = new ProfileModel();

            viewModel.profile = await userManager.FindByIdAsync(userId);

            if (viewModel.profile == null)
            {
                return(View(new ProfileModel()));
            }

            viewModel.facm.certificate = certificateHandler.GetByUserId(viewModel.profile.Id);
            foreach (var cert in viewModel.facm.certificate.ToList())
            {
                bool isFavorite = favoriteHandler.CheckUserFavortite(userId, cert.CertificateId);
                viewModel.facm.isFavorite.Add(isFavorite);
            }

            if (viewModel.profile.ProfilePicture == null)
            {
                return(View(viewModel));
            }
            viewModel.profilePicture = GetImageUrl(viewModel.profile);
            return(View(viewModel));
        }
        public async Task <IActionResult> UserAsync()
        {
            CertificateUser user = await userManager.FindByNameAsync(User.Identity.Name);

            //
            //	when database is reset the user may still be logged in
            //	If user tries to enter a restricted page, he or she will be
            //	signed out
            if (user == null)
            {
                return(RedirectToAction("logout", "auth"));
            }
            FavoriteAndCertificateModel viewModel = new FavoriteAndCertificateModel {
                certificate = CertificateHandler.GetByUserId(user.Id),
                profile     = user
            };

            foreach (var cert in viewModel.certificate.ToList())
            {
                bool isFavorite = favoriteHandler.CheckUserFavortite(user.Id, cert.CertificateId);
                viewModel.isFavorite.Add(isFavorite);
            }

            if (user.ProfilePicture != null)
            {
                viewModel.ProfileImageUrl = GetImageUrl(user.ProfilePicture);
            }

            return(View(viewModel));
        }