public override int SaveChanges() { var modifiedEntites = ChangeTracker.Entries().Where(x => x.State == EntityState.Modified || x.State == EntityState.Added).ToList(); string computerName = Environment.MachineName; string ipAddress = Ipfinder.GetIpAddress(); /*"127.0.0.1";*/ DateTime date = DateTime.Now; foreach (var item in modifiedEntites) { KernelEntity entity = item.Entity as KernelEntity; if (item != null) { switch (item.State) { case EntityState.Added: entity.CreatedComputerName = computerName; entity.CreatedIP = ipAddress; entity.CreatedDate = date; break; case EntityState.Modified: entity.ModifiedComputerName = computerName; entity.ModifiedIP = ipAddress; entity.ModifiedDate = date; break; default: break; } } } return(base.SaveChanges()); }
public void SaveChange() { var modifiedentities = _db.ChangeTracker.Entries().Where(x => x.State == Microsoft.EntityFrameworkCore.EntityState.Modified || x.State == Microsoft.EntityFrameworkCore.EntityState.Added).ToList(); string identity = WindowsIdentity.GetCurrent().Name; string computerName = Environment.MachineName; string ipAdress = "127.0.0.1"; DateTime date = DateTime.Now; foreach (var item in modifiedentities) { KernelEntity entity = item.Entity as KernelEntity; if (item != null) { switch (item.State) { case Microsoft.EntityFrameworkCore.EntityState.Modified: entity.ModifiedComputerName = computerName; entity.ModifiedBy = ipAdress; entity.CreatedBy = identity; entity.ModifiedDate = date; entity.Status = Kernel.Enums.Status.Modified; break; case Microsoft.EntityFrameworkCore.EntityState.Added: entity.CreatedComputerName = computerName; entity.CreatedIp = ipAdress; entity.CreatedBy = computerName; entity.Status = Kernel.Enums.Status.Active; break; default: break; } } } try { using (var transaction = _db.Database.BeginTransaction()) { try { _db.SaveChanges(); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } } } catch (Exception) { throw; } }
public void SaveChange() { var modifiedEntities = _db.ChangeTracker.Entries().Where(x => x.State == EntityState.Modified || x.State == EntityState.Added).ToList();//entitydeki değişiklikleri kontrol edicek. string identity = WindowsIdentity.GetCurrent().Name; string computerName = Environment.MachineName; string ipAdress = "127.0.0.1"; DateTime date = DateTime.Now; //varsayılan değer olarak now'u atıyoruz. foreach (var item in modifiedEntities) //oluşturduğum enttylerin içinde dolaşıyoruz. { KernelEntity entity = item.Entity as KernelEntity; if (item != null) { switch (item.State)//bütün case'leri kendisi otomatik olarak yapıcak. { case EntityState.Modified: entity.ModifiedComputerName = computerName; entity.ModifiedIp = ipAdress; entity.ModifiedBy = identity; entity.ModifiedDate = date; entity.Status = Kernel.Enums.Status.Modified; break; case EntityState.Added: entity.CreatedComputerName = computerName; entity.CreatedIp = ipAdress; entity.CreatedBy = identity; entity.CreateDate = date; entity.Status = Kernel.Enums.Status.Active; break; } } } try { using (var transaction = _db.Database.BeginTransaction()) { try { _db.SaveChanges(); transaction.Commit(); } catch (Exception) { transaction.Rollback(); throw; } } } catch (Exception) { throw; } }