using Quadarax.Application.QLiberace.Common.Domain; 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 : QlbrcEntityTracked, new() { protected QlbrcTrackedRepository(IUnitOfWork unitOfWork, QlbrcContext operationContext) : base(unitOfWork, operationContext) { } 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 = OperationContext.GetContext().CurrentUser.Identity?.Name; return dao; } } }