Ejemplo n.º 1
0
        public async Task <IActionResult> ConfirmPhoneNumber([Bind(include: "Token")] UserManageVM model)
        {
            var currentUserId = User.Claims.ElementAt(0).Value;
            var result        = await _userService.ConfirmPhoneNumberAsync(model.Token, currentUserId);

            if (result.Succeeded)
            {
                return(RedirectToAction("Index", "Message", new { Message = IdMessage.ConfirmedPhoneNumberSucces }));
            }
            return(RedirectToAction("Index", "Message", new { Message = IdMessage.ConfirmedPhoneNumberError }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Delete([Bind(include: "Email")] UserManageVM model)
        {
            var currentUserId = User.Claims.ElementAt(0).Value;
            var result        = await _userService.DeleteUserAsync(model.Email, currentUserId);

            if (result.Succeeded)
            {
                _logger.LogInformation("User with email: {0} delete account.", model.Email);
                return(RedirectToAction("Index", "Message", new { Message = IdMessage.AdminDeleteAccountSucces }));
            }
            _logger.LogError("User with email: {0} delete account errors: {1}", model.Email, result.Errors);
            return(View(model));
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> ChangePassword([Bind(include: "OldPassword, NewPassword, ConfirmNewPassword ")] UserManageVM model)
        {
            if (ModelState.IsValid)
            {
                var currentUserId = User.Claims.ElementAt(0).Value;
                var result        = await _userService.ChangePasswordAsync(model, currentUserId);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Message", new { Message = IdMessage.ChangePasswordSucces }));
                }
                result.Errors.ToList().ForEach(e => ModelState.AddModelError("ChangePassword", e.Description));
            }
            return(View("Index", model));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> AddPhoneNumber([Bind(include: "PhoneNumber")] UserManageVM model)
        {
            if (model.PhoneNumber != null)
            {
                var currentUserId = User.Claims.ElementAt(0).Value;
                var result        = await _userService.AddPhoneNumberAsync(model.PhoneNumber, currentUserId);

                if (result.Succeeded)
                {
                    var code = await _userService.GenerateConfirmedPhoneNumberCodeAsync(model.PhoneNumber, currentUserId);

                    var smsResult = await _smsService.SendConfirmPhoneNumberSmsAsync(model.PhoneNumber, code);

                    if (smsResult != null)
                    {
                        return(RedirectToAction("Index", "Message", new { Message = IdMessage.AddPhoneNumberSucces }));
                    }
                    _logger.LogError(string.Format("The confirmation SMS has not been sent to the user : {0}.", User.Identity.Name));
                }
            }
            return(RedirectToAction("Index", "Message", new { Message = IdMessage.AddPhoneNumberError }));
        }
Ejemplo n.º 5
0
        public async Task <IdentityResult> ChangePasswordAsync(UserManageVM model, string userId)
        {
            var user = await _userManager.FindByIdAsync(userId);

            return(await _userManager.ChangePasswordAsync(user, model.OldPassword, model.NewPassword));
        }