using Core.Interfaces; using Domain.Entities; using Models.Interfaces; namespace Core.Services { public class DeliveryNoteService(IPhSDeliveryNoteRepository deliveryNoteRepository) : IDeliveryNoteDom { private readonly IPhSDeliveryNoteRepository _deliveryNoteRepository = deliveryNoteRepository; public Task GetByIdAsync(int id) { if (id <= 0) throw new ArgumentOutOfRangeException(nameof(id), "El identificador del remito es inválido."); return _deliveryNoteRepository.GetByIdAsync(id); } public Task GetByDeliveryNoteNumberAsync(string deliveryNoteNumber) { if (string.IsNullOrWhiteSpace(deliveryNoteNumber)) throw new ArgumentException("El número de remito es obligatorio.", nameof(deliveryNoteNumber)); return _deliveryNoteRepository.GetByDeliveryNoteNumberAsync(deliveryNoteNumber.Trim()); } public Task> GetByQuoteIdAsync(int quoteId) { if (quoteId <= 0) throw new ArgumentOutOfRangeException(nameof(quoteId), "El identificador del presupuesto es inválido."); return _deliveryNoteRepository.GetByQuoteIdAsync(quoteId); } } }