public interface IBaseRepository<TEntity> {
bool InsertNanoEntity(TEntity entity, string login = null);
bool InsertNanoEntity(TEntity entity, ref AuditDto audit, string login = null);
}
public abstract class BaseRepository<TEntity> : IDisposable, IBaseRepository<TEntity> where TEntity : NanoBaseEntity {
public bool InsertNanoEntity(TEntity entity, string login = null) {
AuditDto audit = null;
return this.InsertNanoEntity(entity, ref audit, login);
}
public bool InsertNanoEntity(TEntity entity, ref AuditDto audit, string login = null) {
if (this.LoggedUser != null) {
entity.SiteId = this.LoggedUser.GetUserSessionSiteId;
}
entity.ModifiedDate = DateTime.Now;
EntityEntry dbEntity = this._context.Entry(entity);
dbEntity.State = EntityState.Added;
if (audit != null) {
audit.AuditList.AddRange(this.CreateAuditTrace(dbEntity, AuditTypeEnumDto.Create));
}
bool success = this._context.SaveChanges() != 0;
return success;
}
public interface IBaseRepository<TEntity> {
bool InsertNanoEntity(TEntity entity, string login = null);
bool InsertNanoEntity(TEntity entity, ref AuditDto audit, string login = null);
}
public abstract class BaseRepository<TEntity> : IDisposable, IBaseRepository<TEntity> where TEntity : NanoBaseEntity {
public bool InsertNanoEntity(TEntity entity, string login = null) {
AuditDto audit = null;
return this.InsertNanoEntity(entity, ref audit, login);
}
public bool InsertNanoEntity(TEntity entity, ref AuditDto audit, string login = null) {
if (this.LoggedUser != null) {
entity.SiteId = this.LoggedUser.GetUserSessionSiteId;
}
entity.ModifiedDate = DateTime.Now;
EntityEntry dbEntity = this._context.Entry(entity);
dbEntity.State = EntityState.Added;
if (audit != null) {
audit.AuditList.AddRange(this.CreateAuditTrace(dbEntity, AuditTypeEnumDto.Create));
}
bool success = this._context.SaveChanges() != 0;
return success;
}