コード例 #1
0
        //
        // GET: /Account/UserExtendedProfile

        public ActionResult UserExtendedProfile()
        {
            UserProfile user = _accountService.GetUserProfile(User.Identity.Name);

            ViewBag.TagList        = _accountService.GetTags();
            ViewBag.ProfessionList = new SelectList(_accountService.GetProfessionsList());
            if (user == null || user.UserExtendedProfile == null)
            {
                return(View());
            }

            UserExtendedProfileModel model = new UserExtendedProfileModel
            {
                AlmaMater      = user.UserExtendedProfile.AlmaMater,
                City           = user.UserExtendedProfile.City,
                DOB            = user.UserExtendedProfile.DOB,
                Profession     = user.UserExtendedProfile.Profession,
                Qualifications = user.UserExtendedProfile.Qualifications,
                ImageUrl       = user.UserExtendedProfile.ImageUrl,
                Description    = user.UserExtendedProfile.Description
            };

            model.Tags = new List <int>();
            foreach (Tag tag in user.UserExtendedProfile.Tags)
            {
                model.Tags.Add(tag.Id);
            }

            return(View(model));
        }
コード例 #2
0
        //
        // GET: /Account/UserExtendedProfile

        public ActionResult UserExtendedProfile()
        {
            using (UserProfileDatabaseContext dbContext = new UserProfileDatabaseContext())
            {
                UserProfile user = dbContext.UserProfiles.FirstOrDefault(p => p.UserName == User.Identity.Name);
                ViewBag.TagList        = Util.TagList;
                ViewBag.ProfessionList = new SelectList(Util.ListOfProfessions);
                if (user == null || user.UserExtendedProfile == null)
                {
                    return(View());
                }

                UserExtendedProfileModel model = new UserExtendedProfileModel
                {
                    AlmaMater      = user.UserExtendedProfile.AlmaMater,
                    City           = user.UserExtendedProfile.City,
                    DOB            = user.UserExtendedProfile.DOB,
                    Profession     = user.UserExtendedProfile.Profession,
                    Qualifications = user.UserExtendedProfile.Qualifications,
                    ImageUrl       = user.UserExtendedProfile.ImageUrl,
                    Description    = user.UserExtendedProfile.Description
                };

                model.Tags = new List <int>();
                foreach (Tag tag in user.UserExtendedProfile.Tags)
                {
                    model.Tags.Add(tag.Id);
                }

                return(View(model));
            }
        }
コード例 #3
0
        public ActionResult UserExtendedProfile(UserExtendedProfileModel model)
        {
            if (ModelState.IsValid)
            {
                // Extend the user's profile
                try
                {
                    _accountService.AddUserExtendedProfile(User.Identity.Name, model.AlmaMater, model.City, model.DOB,
                                                           model.Profession, model.Qualifications, model.Description, model.Tags);

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception e)
                {
                    // TODO : Exception printing stacktrace needs to be removed.
                    ModelState.AddModelError("", e.StackTrace);
                }
            }
            ViewBag.TagList        = _accountService.GetTags();
            ViewBag.ProfessionList = new SelectList(_accountService.GetProfessionsList());
            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #4
0
        public ActionResult UserExtendedProfile(UserExtendedProfileModel model)
        {
            if (ModelState.IsValid)
            {
                // Extend the user's profile
                try
                {
                    using (UserProfileDatabaseContext dbContext = new UserProfileDatabaseContext())
                    {
                        UserProfile           user   = dbContext.UserProfiles.FirstOrDefault(p => p.UserName == User.Identity.Name);
                        Dictionary <int, Tag> tagMap = dbContext.Tag.ToDictionary(x => x.Id, x => x);

                        if (user == null)
                        {
                            // Log
                            throw new Exception("User not found");
                        }
                        UserExtendedProfile profile = new UserExtendedProfile
                        {
                            Id             = user.Id,
                            UserProfile    = user,
                            AlmaMater      = model.AlmaMater,
                            City           = model.City,
                            DOB            = model.DOB,
                            Profession     = model.Profession,
                            Qualifications = model.Qualifications,
                            Description    = model.Description,
                            ImageUrl       = string.Empty,
                            Tags           = new List <Tag>()
                        };

                        foreach (int tagId in model.Tags)
                        {
                            Tag selectedTag = tagMap[tagId];
                            profile.Tags.Add(selectedTag);
                            selectedTag.Users.Add(profile);
                        }

                        if (user.UserExtendedProfile != null)
                        {
                            foreach (Tag tag in user.UserExtendedProfile.Tags)
                            {
                                // This updates the tag
                            }
                            profile.ImageUrl = user.UserExtendedProfile.ImageUrl;
                            profile.Update(dbContext);
                        }
                        else
                        {
                            dbContext.UserExtendedProfile.Add(profile);
                        }

                        UserProfile userProfile = new UserProfile
                        {
                            Id                  = user.Id,
                            EmailId             = user.EmailId,
                            MobilePhone         = user.MobilePhone,
                            Country             = user.Country,
                            UserName            = user.UserName,
                            UserExtendedProfile = profile
                        };

                        userProfile.Update(dbContext);

                        dbContext.SaveChanges();
                    }

                    return(RedirectToAction("Index", "Home"));
                }
                catch (Exception e)
                {
                    // TODO : Exception printing stacktrace needs to be removed.
                    ModelState.AddModelError("", e.StackTrace);
                }
            }
            ViewBag.TagList        = Util.TagList;
            ViewBag.ProfessionList = new SelectList(Util.ListOfProfessions);
            // If we got this far, something failed, redisplay form
            return(View(model));
        }