using Quadarax.Application.QLiberace.Common.Entities.Base; using Quadarax.Foundation.Core.Data.Domain; using Quadarax.Foundation.Core.Data.Interface.Domain; namespace Quadarax.Application.QLiberace.Common.Repositories { public abstract class QlbrcTrackedRepository : QlbrcRepository where TEntityTracked : QlbrcEntityTrackedWithId, new() { private string _modifier; protected QlbrcTrackedRepository(IUnitOfWork unitOfWork, string modifier) : base(unitOfWork) { _modifier = modifier; } public override TEntityTracked New() { var dao = base.New(); dao.Created = DateTime.Now; return dao; } public override TEntityTracked Set(TEntityTracked entity) { var dao = base.Set(entity); dao.Modified = DateTime.Now; dao.Modifier = _modifier; return dao; } } }