QlbrcTrackedRepository.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. using Quadarax.Application.QLiberace.Common.Domain;
  2. using Quadarax.Application.QLiberace.Common.Entities.Base;
  3. using Quadarax.Foundation.Core.Data.Domain;
  4. using Quadarax.Foundation.Core.Data.Interface.Domain;
  5. namespace Quadarax.Application.QLiberace.Common.Repositories
  6. {
  7. public abstract class QlbrcTrackedRepository<TEntityTracked> : QlbrcRepository<TEntityTracked> where TEntityTracked : QlbrcEntityTracked, new()
  8. {
  9. protected QlbrcTrackedRepository(IUnitOfWork<IDataDomain> unitOfWork, QlbrcContext operationContext) : base(unitOfWork, operationContext)
  10. {
  11. }
  12. public override TEntityTracked New()
  13. {
  14. var dao = base.New();
  15. dao.Created = DateTime.Now;
  16. return dao;
  17. }
  18. public override TEntityTracked Set(TEntityTracked entity)
  19. {
  20. var dao = base.Set(entity);
  21. dao.Modified = DateTime.Now;
  22. dao.Modifier = OperationContext.GetContext<QlbrcContext>().CurrentUser.Identity?.Name;
  23. return dao;
  24. }
  25. }
  26. }