QlbrcTrackedRepository.cs 1019 B

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