public CreditCardExtreDischargeDomainEntity With(
            decimal dischargeAmount, DateTime createDate,
            CreditCardExtreDomainEntity creditCardExtre, AccountTransactionDomainEntity accountTransaction)
        {
            DischargeAmount    = dischargeAmount;
            CreateDate         = createDate;
            CreditCardExtre    = creditCardExtre ?? throw new CommonException.RequiredParameterMissingException(nameof(creditCardExtre));
            AccountTransaction = accountTransaction ?? throw new CommonException.RequiredParameterMissingException(nameof(accountTransaction));

            return(this);
        }
        public CreditCardPaymentDomainEntity With(
            int instalmentIndex, decimal amount, string description, DateTime createDate,
            DateTime instalmentDate, AccountTransactionDomainEntity accountTransaction)
        {
            InstalmentIndex    = instalmentIndex;
            Amount             = amount;
            Description        = description;
            CreateDate         = createDate;
            InstalmentDate     = instalmentDate;
            AccountTransaction = accountTransaction;

            return(this);
        }
        public TransactionDetailDomainEntity With(
            string description,
            DateTime createDate,
            AccountTransactionDomainEntity accountTransaction,
            ITransactionDetailOwner transactionDetailOwner,
            TransactionDirection transactionDirection)
        {
            Description            = description;
            CreateDate             = createDate;
            AccountTransaction     = accountTransaction;
            TransactionDetailOwner = transactionDetailOwner;
            TransactionDirection   = transactionDirection;

            return(this);
        }