Skip to content

Instantly share code, notes, and snippets.

@alexdresko
Created August 18, 2016 12:59
Show Gist options
  • Save alexdresko/d25e691708c8f919a524422f86be1466 to your computer and use it in GitHub Desktop.
Save alexdresko/d25e691708c8f919a524422f86be1466 to your computer and use it in GitHub Desktop.
public override int SaveChanges()
{
ModifyBaseEntity();
return base.SaveChanges();
}
private void ModifyBaseEntity()
{
var objectStateEntries =
ChangeTracker.Entries().Where(x => ((x.State == EntityState.Added) || (x.State == EntityState.Modified)) && x.Entity is BaseEntity);
var currentTime = DateTime.UtcNow;
foreach (var entry in objectStateEntries)
{
var entityBase = entry.Entity as IBaseEntity;
var userId = _httpContextAccessor.HttpContext.User.Identity.Name;
if (entry.State == EntityState.Added)
{
if (entityBase != null)
{
entityBase.CreatedDateTime = currentTime;
entityBase.CreatedByUserId = userId;
}
}
if (entityBase != null)
{
entityBase.ModifiedDateTime = currentTime;
entityBase.ModifiedByUserId = userId;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment