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)); } }
public _Links() { Self = new Self(); Investors = new Investors(); CreateortransferAccount = new CreateOrTransferAccount(); CloseAccount = new CloseAccount(); Lifeevents = new LifeEvents(); Bonuspayments = new BonusPayments(); }
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(); }
/// <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)); } }
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); }
public void EnactCommand(CloseAccount command) { var created = new AccountClosed(); RecordEvent(created); }