示例#1
0
        public async Task <IActionResult> AssignUserToWallet([FromBody] AssignUserToWalletDto assignUserToWalletDto)
        {
            var result = await _assignmentUserToWalletService.AssignUserToWallet(assignUserToWalletDto, UserId);

            if (!result.Succedeed)
            {
                return(BadRequest());
            }
            return(NoContent());
        }
        public async Task <Result> AssignUserToWallet(AssignUserToWalletDto assignUserToWalletDto, string modifierId)
        {
            var validationResult = await Validate(assignUserToWalletDto, modifierId);

            if (!validationResult.Succedeed)
            {
                return(validationResult);
            }
            var deobfustacedId = assignUserToWalletDto.WalletId.ToDeobfuscated();
            var userWallet     = await _walletRepository.Get(deobfustacedId, assignUserToWalletDto.UserId, true);

            _emailService.SendAssignmentEmail(assignUserToWalletDto, true, modifierId, string.Empty);
            if (userWallet == null)
            {
                return(await NewlyAssignUser(deobfustacedId, assignUserToWalletDto.UserId));
            }
            return(ChangeUserAssignment(userWallet, WalletRole.Normal));
        }