improvements, fixes, etc...
This commit is contained in:
parent
96eb509ec5
commit
daa1421011
|
|
@ -23,6 +23,7 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
public virtual IQueryable<TEntity> GetAll() => Table;
|
public virtual IQueryable<TEntity> GetAll() => Table;
|
||||||
|
|
||||||
#region SetTimeStampInfos
|
#region SetTimeStampInfos
|
||||||
|
|
||||||
private static void SetTimeStampCreated(TEntity entity)
|
private static void SetTimeStampCreated(TEntity entity)
|
||||||
{
|
{
|
||||||
if (typeof(TEntity).GetInterface(nameof(ITimeStampCreated)) != null)
|
if (typeof(TEntity).GetInterface(nameof(ITimeStampCreated)) != null)
|
||||||
|
|
@ -38,10 +39,13 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
((entity as ITimeStampModified)!).Modified = DateTime.UtcNow;
|
((entity as ITimeStampModified)!).Modified = DateTime.UtcNow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion SetTimeStampInfos
|
#endregion SetTimeStampInfos
|
||||||
|
|
||||||
//TODO: Transaction-be tenni az event-eket! - J.
|
//TODO: Transaction-be tenni az event-eket! - J.
|
||||||
|
|
||||||
#region OnCrudEvents
|
#region OnCrudEvents
|
||||||
|
|
||||||
private void OnInsert(IList<TEntity> entities)
|
private void OnInsert(IList<TEntity> entities)
|
||||||
{
|
{
|
||||||
foreach (var entity in entities) OnInsert(entity);
|
foreach (var entity in entities) OnInsert(entity);
|
||||||
|
|
@ -82,6 +86,7 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
|
|
||||||
//_staticCacheManager.RemoveByPrefix(MgDbContextBase.AUCTION_PATTERN_KEY);
|
//_staticCacheManager.RemoveByPrefix(MgDbContextBase.AUCTION_PATTERN_KEY);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion OnCrudEvents
|
#endregion OnCrudEvents
|
||||||
|
|
||||||
#region Insert
|
#region Insert
|
||||||
|
|
@ -109,9 +114,11 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
OnInsert(entities);
|
OnInsert(entities);
|
||||||
return base.InsertAsync(entities, publishEvent);
|
return base.InsertAsync(entities, publishEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Insert
|
#endregion Insert
|
||||||
|
|
||||||
#region Update
|
#region Update
|
||||||
|
|
||||||
public override void Update(TEntity entity, bool publishEvent = true)
|
public override void Update(TEntity entity, bool publishEvent = true)
|
||||||
{
|
{
|
||||||
OnUpdate(entity);
|
OnUpdate(entity);
|
||||||
|
|
@ -135,9 +142,11 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
OnUpdate(entities);
|
OnUpdate(entities);
|
||||||
return base.UpdateAsync(entities, publishEvent);
|
return base.UpdateAsync(entities, publishEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Update
|
#endregion Update
|
||||||
|
|
||||||
#region Delete
|
#region Delete
|
||||||
|
|
||||||
protected override IQueryable<TEntity> AddDeletedFilter(IQueryable<TEntity> query, in bool includeDeleted)
|
protected override IQueryable<TEntity> AddDeletedFilter(IQueryable<TEntity> query, in bool includeDeleted)
|
||||||
{
|
{
|
||||||
foreach (var entity in query) OnDelete(entity);
|
foreach (var entity in query) OnDelete(entity);
|
||||||
|
|
@ -145,6 +154,12 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
return base.AddDeletedFilter(query, in includeDeleted);
|
return base.AddDeletedFilter(query, in includeDeleted);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual async Task DeleteAsync(int entityId, bool publishEvent = true)
|
||||||
|
{
|
||||||
|
var entity = await GetByIdAsync(entityId);
|
||||||
|
await DeleteAsync(entity, publishEvent);
|
||||||
|
}
|
||||||
|
|
||||||
public override Task DeleteAsync(TEntity entity, bool publishEvent = true)
|
public override Task DeleteAsync(TEntity entity, bool publishEvent = true)
|
||||||
{
|
{
|
||||||
OnDelete(entity);
|
OnDelete(entity);
|
||||||
|
|
@ -157,12 +172,29 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
return base.DeleteAsync(entities, publishEvent);
|
return base.DeleteAsync(entities, publishEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// It does not call the PublishEvent() and OnDelete() functions!
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="predicate"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public override Task<int> DeleteAsync(Expression<Func<TEntity, bool>> predicate)
|
public override Task<int> DeleteAsync(Expression<Func<TEntity, bool>> predicate)
|
||||||
{
|
{
|
||||||
//TODO:ide mit kéne?! - J.
|
|
||||||
return base.DeleteAsync(predicate);
|
return base.DeleteAsync(predicate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task DeleteAsync(Expression<Func<TEntity, bool>> predicate, bool publishEvent)
|
||||||
|
{
|
||||||
|
if (publishEvent)
|
||||||
|
{
|
||||||
|
var deletingEntities = await Table.Where(predicate).ToListAsync();
|
||||||
|
await base.DeleteAsync(deletingEntities, true);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
await DeleteAsync(predicate);
|
||||||
|
}
|
||||||
|
|
||||||
public override void Delete(TEntity entity, bool publishEvent = true)
|
public override void Delete(TEntity entity, bool publishEvent = true)
|
||||||
{
|
{
|
||||||
OnDelete(entity);
|
OnDelete(entity);
|
||||||
|
|
@ -180,5 +212,6 @@ public class MgDbTableBase<TEntity>(IEventPublisher eventPublisher, INopDataProv
|
||||||
//TODO:ide mit kéne?! - J.
|
//TODO:ide mit kéne?! - J.
|
||||||
return base.Delete(predicate);
|
return base.Delete(predicate);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Delete
|
#endregion Delete
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue