Пример #1
0
        public async Task <IActionResult> UpdateUserAccount(string id, [FromBody] UserAccountMeta userAccount)
        {
            var result = await _userAccountService.UpdateUserAccount(CurrentUser.TenantId, id, userAccount);

            if (result.Code < 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Пример #2
0
        public async Task <ActionResultResponse> InsertUserAccount(string tenantId, UserAccountMeta userAccountMeta)
        {
            var userId           = Guid.NewGuid().ToString();
            var isUserNameExists = await _userAccountRepository.CheckUserNameExists(userId, userAccountMeta.UserName);

            if (isUserNameExists)
            {
                return(new ActionResultResponse(-1, _resourceService.GetString("Username already exists")));
            }

            if (userAccountMeta.Password.Trim() != userAccountMeta.ConfirmPassword.Trim())
            {
                return(new ActionResultResponse(-2, _resourceService.GetString("Confirm password doesn't match. Please try again.")));
            }

            var passwordSalt = Generate.GenerateRandomBytes(Generate.PasswordSaltLength);
            var passwordHash = Generate.GetInputPasswordHash(userAccountMeta.Password.Trim(), passwordSalt);

            var userAccount = new UserAccount
            {
                UserName           = userAccountMeta.UserName.Trim(),
                Email              = userAccountMeta.Email?.Trim(),
                IsActive           = userAccountMeta.IsActive,
                PhoneNumber        = userAccountMeta.PhoneNumber?.Trim(),
                FullName           = userAccountMeta.FullName,
                PasswordHash       = Convert.ToBase64String(passwordHash),
                PasswordSalt       = passwordSalt,
                Avatar             = userAccountMeta.Avatar?.Trim(),
                TenantId           = tenantId,
                UnsignName         = $"{userAccountMeta.UserName.Trim().ToUpper().StripVietnameseChars()} {userAccountMeta.PhoneNumber?.Trim().StripVietnameseChars()} {userAccountMeta.Email?.Trim().ToUpper().StripVietnameseChars()}",
                NormalizedUserName = userAccountMeta.UserName.Trim().StripChars().ToUpper()
            };

            var result = await _userAccountRepository.Insert(userAccount);

            return(result <= 0
                ? new ActionResultResponse(result, _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong))
                : new ActionResultResponse(result, _resourceService.GetString("Add new account success")));
        }
Пример #3
0
        public async Task <ActionResultResponse> UpdateUserAccount(string tenantId, string userId, UserAccountMeta userAccountMeta)
        {
            var userAccountInfo = await _userAccountRepository.GetInfo(userId);

            if (userAccountInfo == null)
            {
                return(new ActionResultResponse(-1, _resourceService.GetString("Account doest not exists.")));
            }

            var isUserNameExists = await _userAccountRepository.CheckUserNameExists(userId, userAccountMeta.UserName);

            if (isUserNameExists)
            {
                return(new ActionResultResponse(-2, _resourceService.GetString("Username already exists")));
            }

            if (userAccountInfo.TenantId != tenantId)
            {
                return(new ActionResultResponse(-3, _sharedResourceService.GetString(ErrorMessage.NotHavePermission)));
            }

            userAccountInfo.UserName    = userAccountMeta.UserName.Trim();
            userAccountInfo.FullName    = userAccountMeta.FullName.Trim();
            userAccountInfo.Avatar      = userAccountMeta.Avatar?.Trim();
            userAccountInfo.PhoneNumber = userAccountMeta.PhoneNumber?.Trim();
            userAccountInfo.Email       = userAccountMeta.Email?.Trim();
            userAccountInfo.IsActive    = userAccountMeta.IsActive;
            var result = await _userAccountRepository.UpdateUserAccount(userAccountInfo);

            return(result <= 0
                ? new ActionResultResponse(result, _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong))
                : new ActionResultResponse(result, _sharedResourceService.GetString("Update account info success")));
        }