Esempio n. 1
0
        public async Task <IActionResult> UpdateUserRole(string id, [FromBody] AppUserInfoViewModel userInfo)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var updateRoleResult = await UpdateRole(userInfo);

                    if (updateRoleResult.Succeeded)
                    {
                        return(Ok(userInfo));
                    }
                }
                else
                {
                    return(BadRequest(ModelState));
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to save user role: {ex}");
            }

            return(BadRequest("Failed to save user role"));
        }
Esempio n. 2
0
        public IHttpActionResult PatchUser(AppUserInfoViewModel appUser)
        {
            var user = UserManager.FindById(User.Identity.GetUserId());

            if (user == null)
            {
                return(NotFound());
            }

            if (appUser.UserNick != null)
            {
                user.UserNick = appUser.UserNick;
            }
            if (appUser.Region != null)
            {
                user.Region = appUser.Region;
            }
            if (appUser.ProfileImage != null)
            {
                user.ProfileImage = appUser.ProfileImage;
            }
            if (appUser.UserQuote != null)
            {
                user.UserQuote = appUser.UserQuote;
            }
            if (appUser.Instagram != null)
            {
                user.Instagram = appUser.Instagram;
            }
            if (appUser.KIK != null)
            {
                user.KIK = appUser.KIK;
            }
            if (appUser.WhatsApp != null)
            {
                user.WhatsApp = appUser.WhatsApp;
            }
            if (appUser.Twitter != null)
            {
                user.Twitter = appUser.Twitter;
            }
            if (appUser.SnapChat != null)
            {
                user.SnapChat = appUser.SnapChat;
            }
            if (appUser.WhatsApp != null)
            {
                user.WhatsApp = appUser.WhatsApp;
            }
            if (appUser.PostCount != null)
            {
                user.PostCount = appUser.PostCount;
            }
            db.Entry(user).State = EntityState.Modified;
            db.SaveChanges();
            return(Ok());
        }
Esempio n. 3
0
        private async Task <IdentityResult> UpdateRole(AppUserInfoViewModel userInfo)
        {
            var currentUser = await _userManager.FindByNameAsync(userInfo.Email);

            var roles = await _userManager.GetRolesAsync(currentUser);

            var resultRemoveRoles = await _userManager.RemoveFromRolesAsync(currentUser, roles.ToArray());

            IdentityResult resultAddRole = null;

            if (!String.IsNullOrWhiteSpace(userInfo.Role))
            {
                resultAddRole = await _userManager.AddToRoleAsync(currentUser, userInfo.Role);
            }
            if (resultRemoveRoles.Succeeded && (resultAddRole == null || resultAddRole.Succeeded))
            {
                return(resultRemoveRoles);
            }
            return(resultAddRole.Succeeded ? resultRemoveRoles : resultAddRole);
        }