Esempio n. 1
0
        public async Task <ActionResult> EditProfile(EditProfileData data)
        {
            var userID = this.HttpContext.Session.GetUserID();

            if (userID <= 0)
            {
                // not found
                return(RedirectToAction("Index", "Home"));
            }

            if (!ModelState.IsValid)
            {
                return(View(data));
            }

            data.Sanitize();
            data.StripProtocolsFromUrls();
            var result = await UserManager.UpdateUserProfileAsync(userID, data.DateOfBirth, data.EmailAddress, data.EmailAddressIsPublic, data.IconURL, data.Location,
                                                                  data.Occupation, data.NewPassword, data.Signature, data.Website, this.HttpContext.Session.GetUserTitleID(),
                                                                  data.AutoSubscribeToThread, data.DefaultNumberOfMessagesPerPage, null, null);

            if (result)
            {
                this.HttpContext.Session.UpdateUserSettings(data);
                return(RedirectToAction("ViewProfile", "User", new { userId = userID }));
            }

            return(View(data));
        }
Esempio n. 2
0
        public async Task <ActionResult> EditProfile()
        {
            var user = await UserGuiHelper.GetUserAsync(this.HttpContext.Session.GetUserID());

            if (user == null)
            {
                // not found
                return(RedirectToAction("Index", "Home"));
            }

            var data = new EditProfileData()
            {
                AutoSubscribeToThread = user.AutoSubscribeToThread,
                EmailAddress          = user.EmailAddress,
                EmailAddressIsPublic  = user.EmailAddressIsPublic ?? false,
                NickName    = user.NickName,
                DateOfBirth = user.DateOfBirth,
                Occupation  = user.Occupation ?? string.Empty,
                Location    = user.Location ?? string.Empty,
                Signature   = user.Signature ?? string.Empty,
                Website     = user.Website ?? string.Empty,
                IconURL     = user.IconURL ?? string.Empty,
                DefaultNumberOfMessagesPerPage = user.DefaultNumberOfMessagesPerPage
            };

            data.Sanitize();
            return(View(data));
        }
Esempio n. 3
0
        public ActionResult Post([FromBody] EditProfileData profileData)
        {
            var user = GetSecureUser();

            user.FirstName = profileData.FirstName ?? user.FirstName;
            user.LastName  = profileData.LastName ?? user.LastName;

            context.SaveChanges();

            return(Ok(user));
        }
Esempio n. 4
0
        public async Task <EditProfileData> EditProfile(EditProfileData data)
        {
            var user = await GetCurrentUserAsync();

            if ((data.FirstName != null) && (data.FirstName.Length > 0))
            {
                user.FirstName = data.FirstName;
            }
            if ((data.LastName != null) && (data.LastName.Length > 0))
            {
                user.LastName = data.LastName;
            }
            if (data.DateOfBirth != null)
            {
                user.DateOfBirth = data.DateOfBirth;
            }
            data.Age = await UserInfo.GetAge(user.Id);

            await DbContext.SaveChangesAsync();

            return(data);
        }
Esempio n. 5
0
 public EditProfile()
 {
     accessData = new EditProfileData();
 }
Esempio n. 6
0
 public static void UpdateUserSettings(this ISession session, EditProfileData data)
 {
     session.SetInt32(SessionKeys.DefaultNumberOfMessagesPerPage, data.DefaultNumberOfMessagesPerPage);
     session.SetInt32(SessionKeys.AutoSubscribeToThread, data.AutoSubscribeToThread ? 1 : 0);
 }