RepoCustomer.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. using Quadarax.Application.QLiberace.Common.Domain;
  2. using Quadarax.Application.QLiberace.Common.Repositories;
  3. using Quadarax.Foundation.Core.Data;
  4. using Quadarax.Foundation.Core.Data.Domain;
  5. using Quadarax.Foundation.Core.Data.Interface.Domain;
  6. using Quadarax.Foundation.Core.Value.Extensions;
  7. namespace Quadarax.Application.QLiberace.Customer.Repositories
  8. {
  9. public class RepoCustomer : QlbrcTenantCodeTrackedRepository<Entities.Customer>
  10. {
  11. public RepoCustomer(IUnitOfWork<IDataDomain> unitOfWork, QlbrcContext operationContext) : base(unitOfWork, operationContext)
  12. {
  13. }
  14. public override Entities.Customer New()
  15. {
  16. var entity = base.New();
  17. entity.Code = Guid.NewGuid().ToBase32String();
  18. return entity;
  19. }
  20. public Entities.Customer? GetByCode(string customerCode, bool useUncomitted = false)
  21. {
  22. if (string.IsNullOrEmpty(customerCode)) throw new ArgumentNullException(nameof(customerCode));
  23. return Query(Paging.NoPaging(), useUncomitted).FirstOrDefault(x => string.Equals(x.Code, customerCode));
  24. }
  25. }
  26. }