/// <summary>
 /// Add AccountDataRecordAdditionalColumn to database
 /// </summary>
 /// <param name="instance">AccountDataRecordAdditionalColumn instance</param>
 /// <param name="saveAfterInsert">Save database after insertion</param>
 /// <param name="waitUntilSaving">Wait until saving</param>
 public void AccountDataRecordAdditionalColumnAdd(AccountDataRecordAdditionalColumn instance, bool saveAfterInsert = true, bool waitUntilSaving = true)
 {
     AccountDataRecordAdditionalColumnAdd(new AccountDataRecordAdditionalColumn[] { instance }, instance?.AccountUID, saveAfterInsert, waitUntilSaving);
 }
 /// <summary>
 /// Remove AccountDataRecordAdditionalColumn from database
 /// </summary>
 /// <param name="instance">AccountDataRecordAdditionalColumn instance</param>
 /// <param name="saveAfterRemove">Save database after removing</param>
 /// <param name="waitUntilSaving">Wait until saving</param>
 public void AccountDataRecordAdditionalColumnRemove(AccountDataRecordAdditionalColumn instance, bool saveAfterRemove = true, bool waitUntilSaving = true)
 {
     AccountDataRecordAdditionalColumnRemove(new AccountDataRecordAdditionalColumn[] { instance }, saveAfterRemove, waitUntilSaving);
 }
 /// <summary>
 /// Create/Get new AccountDataRecordAdditionalColumn instance without any link to database
 /// </summary>
 /// <returns>AccountDataRecordAdditionalColumn instance</returns>
 public AccountDataRecordAdditionalColumn AccountDataRecordAdditionalColumnNew(Account account = null, string columnName = null, string columnSystemName = null)
 {
     try
     {
         var res = new AccountDataRecordAdditionalColumn()
         {
             ColumnName = columnName,
             ColumnSystemName = columnSystemName,
             Account = account,
         };
         if (account != null)
             account.AdditionalColumns.Add(res);
         return res;
     }
     catch(Exception ex)
     {
         Helpers.Log.Add(ex, string.Format("Repository.AccountDataRecordAdditionalColumnNew()"));
         throw;
     }
 }