public async Task StoreDataLocks(List <DataLockEventModel> models, CancellationToken cancellationToken)
 {
     try
     {
         await repository.SaveDataLockEvents(models, cancellationToken);
     }
     catch (Exception e)
     {
         if (!e.IsUniqueKeyConstraintException() && !e.IsDeadLockException())
         {
             throw;
         }
         logger.LogInfo($"Batch contained a duplicate DataLock.  Will store each individually and discard duplicate.");
         await repository.SaveDataLocksIndividually(models.Select(model => mapper.Map(model)).ToList(), cancellationToken).ConfigureAwait(false);
     }
 }