public decimal? GetAmount(DE3_AccountType accountType, DE54_AmountTypeCode amountType) {
     DE54_AdditionalAmount entity = Get(accountType, amountType);
     if (entity != null) {
         return entity.Amount;
     }
     return 0;
 }
 public void Put(DE54_AmountTypeCode amountType, DE3_AccountType accountType, Iso4217_CurrencyCode currencyCode, decimal? amount) {
     DE54_AdditionalAmount entry = new DE54_AdditionalAmount();
     entry.AccountType = accountType;
     entry.AmountType = amountType;
     entry.CurrencyCode = currencyCode;
     entry.Amount = amount;
     Put(entry);
 }
 public void Put(DE54_AdditionalAmount entry) {
     if (amountMap.Count < 6) {
         if (!amountMap.ContainsKey(entry.AccountType)) {
             amountMap[entry.AccountType] = new Dictionary<DE54_AmountTypeCode, DE54_AdditionalAmount>();
         }
         amountMap[entry.AccountType][entry.AmountType] = entry;
     }
     else {
         throw new BuilderException("You may only specify 6 additional amountMap.");
     }
 }
 public DE54_AmountsAdditional FromByteArray(byte[] buffer) {
     StringParser sp = new StringParser(buffer);
     byte[] entryBuffer = sp.ReadBytes(20);
     while (entryBuffer.Length > 0) {
         DE54_AdditionalAmount entry = new DE54_AdditionalAmount().FromByteArray(entryBuffer);
         if (!amountMap.ContainsKey(entry.AccountType)) {
             amountMap[entry.AccountType] = new Dictionary<DE54_AmountTypeCode, DE54_AdditionalAmount>();
         }
         amountMap[entry.AccountType][entry.AmountType] = entry;
         entryBuffer = sp.ReadBytes(20);
     }
     return this;
 }