|  |  | 
 |  |  |             { | 
 |  |  |                 object? obj = Activator.CreateInstance(htyType); | 
 |  |  |                 PropertyInfo keyPro = typeof(TEntity).GetKeyProperty(); | 
 |  |  |                 PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum)); | 
 |  |  |                 PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId"); | 
 |  |  |                 PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType)); | 
 |  |  |                 PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId)); | 
 |  |  |                 if (obj != null && keyPro != null && operateTypePro != null && sourceIdPro != null) | 
 |  |  |                 { | 
 |  |  |                     operateTypePro.SetValue(obj, operateType.ToString()); | 
 |  |  | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     _db.InsertableByObject(obj).AS(type.Name + "_Hty").ExecuteCommand(); | 
 |  |  |                     if (obj != null) | 
 |  |  |                         _db.InsertableByObject(obj).AS(type.Name + "_Hty").ExecuteCommand(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             return DeleteData(entity); | 
 |  |  | 
 |  |  |             { | 
 |  |  |                 object? obj2 = Activator.CreateInstance(htyType); | 
 |  |  |                 PropertyInfo keyPro = typeof(TEntity).GetKeyProperty(); | 
 |  |  |                 PropertyInfo? operateTypePro = htyType.GetProperty(nameof(OperateTypeEnum)); | 
 |  |  |                 PropertyInfo? sourceIdPro = htyType.GetProperty("SourceId"); | 
 |  |  |                 PropertyInfo? operateTypePro = htyType.GetProperty(nameof(IBaseHistoryEntity.OperateType)); | 
 |  |  |                 PropertyInfo? sourceIdPro = htyType.GetProperty(nameof(IBaseHistoryEntity.SourceId)); | 
 |  |  |                 if (obj2 != null && keyPro != null && operateTypePro != null && sourceIdPro != null) | 
 |  |  |                 { | 
 |  |  |                     List<PropertyInfo> propertyInfos = htyType.GetProperties().Where(x => x.Name != operateTypePro.Name && x.Name != sourceIdPro.Name && x.Name != keyPro.Name).ToList(); | 
 |  |  | 
 |  |  |                             list.Add(obj); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     _db.InsertableByObject(list).AS(type.Name + "_Hty").ExecuteCommand(); | 
 |  |  |                     if (list.Count > 0) | 
 |  |  |                         _db.InsertableByObject(list).AS(type.Name + "_Hty").ExecuteCommand(); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |             } |