Example #1
0
        public async Task <IActionResult> UnAssignUserToWallet([FromBody] UnAssignUserFromWalletDto unassignUserToWalletDto)
        {
            var result = await _assignmentUserToWalletService.UnAssignUserFromWallet(unassignUserToWalletDto, UserId);

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

            if (!validationResult.Succedeed)
            {
                return(validationResult);
            }

            var userWallet = await _walletRepository.GetWithoutDependencies(assignUserToWalletDto.WalletId.ToDeobfuscated(),
                                                                            assignUserToWalletDto.UserId);

            if (userWallet == null)
            {
                return(Result.Failure());
            }
            _emailService.SendAssignmentEmail(assignUserToWalletDto, false, modifierId, userWallet.Wallet.Name);
            return(ChangeUserAssignment(userWallet, WalletRole.InActive));
        }