Example #1
0
 public ActionResult Close(CloseAccount model)
 {
     try
     {
         AccountServiceResponse rsp = model.Save();
         if (string.IsNullOrWhiteSpace(rsp.CodeText))
         {
             rsp.CodeText = ModelHelper.GetBoundText(rsp, x => x.Code);
         }
         return(Json(rsp));
     }
     catch (ConflictException ex)
     {
         _logger.Error(LogTypes.AccountClose, ex);
         AccountServiceResponse rsp = new AccountServiceResponse(ResponseCode.AccountConflict);
         rsp.CodeText = ModelHelper.GetBoundText(rsp, x => x.Code);
         return(Json(rsp));
     }
     catch (Exception ex)
     {
         _logger.Error(LogTypes.AccountClose, ex);
         AccountServiceResponse rsp = new AccountServiceResponse(ResponseCode.SystemError);
         rsp.CodeText = ModelHelper.GetBoundText(rsp, x => x.Code);
         return(Json(rsp));
     }
 }
Example #2
0
 public _Links()
 {
     Self      = new Self();
     Investors = new Investors();
     CreateortransferAccount = new CreateOrTransferAccount();
     CloseAccount            = new CloseAccount();
     Lifeevents    = new LifeEvents();
     Bonuspayments = new BonusPayments();
 }
Example #3
0
        public async Task <Unit> Handle(CloseAccount command, CancellationToken token = default)
        {
            await _repository.UpdateAsync(
                new AccountId(command.AccountId),
                account => account.Close(),
                token);

            return(Unit.Value);
        }
        public async Task <IActionResult> Close(
            [FromHeader(Name = Headers.RequestId)] Guid requestId, Guid id, CancellationToken token)
        {
            RequestContext.RequestId     = requestId;
            RequestContext.CausationId   = requestId;
            RequestContext.CorrelationId = requestId;

            var command = new CloseAccount(id);
            await _mediator.Send(command, token);

            return(Ok());
        }
        public void Test_Account()
        {
            AccountReceiver receiver = new AccountReceiver("Tuan Trung");

            ICommandAccount openAccount  = new OpenAccount(receiver);
            ICommandAccount closeAccount = new CloseAccount(receiver);

            BankApp bankApp = new BankApp
                              (
                openAccount: openAccount,
                closeAccount: closeAccount
                              );

            bankApp.OpenAccount();
            bankApp.CloseAccount();
        }
Example #6
0
 /// <summary>
 /// Handle close account request.
 /// </summary>
 /// <param name="command">The close account command.</param>
 public void Handle(CloseAccount command)
 {
     if (Status == AccountStatus.Opened)
     {
         if (Balance > Decimal.Zero)
         {
             Raise(new CloseAccountFailed(Messages.ZeroBalanceRequired.FormatWith(Balance), command));
         }
         else
         {
             Raise(new AccountClosed(Type, Number, Balance, AccountStatus.Closed));
         }
     }
     else
     {
         Raise(new AccountAlreadyClosed(Type, Number));
     }
 }
Example #7
0
 public Account(Client client)
     : base(client)
 {
     _closeAccount             = new CloseAccount(this);
     _closeAccountHolder       = new CloseAccountHolder(this);
     _createAccount            = new CreateAccount(this);
     _createAccountHolder      = new CreateAccountHolder(this);
     _checkAccountHolder       = new CheckAccountHolder(this);
     _deletePayoutMethods      = new DeletePayoutMethods(this);
     _deleteBankAccount        = new DeleteBankAccount(this);
     _deleteShareholder        = new DeleteShareholder(this);
     _getAccountHolder         = new GetAccountHolder(this);
     _getUploadedDocuments     = new GetUploadedDocuments(this);
     _suspendAccountHolder     = new SuspendAccountHolder(this);
     _unSuspendAccountHolder   = new UnSuspendAccountHolder(this);
     _updateAccount            = new UpdateAccount(this);
     _updateAccountHolder      = new UpdateAccountHolder(this);
     _updateAccountHolderState = new UpdateAccountHolderState(this);
     _uploadDocument           = new UploadDocument(this);
 }
Example #8
0
        public void EnactCommand(CloseAccount command)
        {
            var created = new AccountClosed();

            RecordEvent(created);
        }
Example #9
0
 /// <summary>
 /// Handle close account request.
 /// </summary>
 /// <param name="command">The close account command.</param>
 public void Handle(CloseAccount command)
 {
     if (Status == AccountStatus.Opened)
     {
         if (Balance > Decimal.Zero)
         {
             Raise(new CloseAccountFailed(Messages.ZeroBalanceRequired.FormatWith(Balance), command));
         }
         else
         {
             Raise(new AccountClosed(Type, Number, Balance, AccountStatus.Closed));
         }
     }
     else
     {
         Raise(new AccountAlreadyClosed(Type, Number));
     }
 }