All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 18m57s
- Se agregan DeliveryNoteDto y DeliveryNoteItemDto - Se implementa proyección a DTO en PhSDeliveryNoteRepository - Se extiende IPhSDeliveryNoteRepository con métodos DTO - Se ajusta DeliveryNoteService para trabajar con DTO - Se actualiza DeliveryNoteController para devolver DTO - Se elimina exposición directa de EDeliveryNote en la API Closes #23
36 lines
1.3 KiB
C#
36 lines
1.3 KiB
C#
using Core.Interfaces;
|
|
using Domain.Dtos.Sales;
|
|
using Models.Interfaces;
|
|
|
|
namespace Core.Services
|
|
{
|
|
public class DeliveryNoteService(IPhSDeliveryNoteRepository deliveryNoteRepository) : IDeliveryNoteDom
|
|
{
|
|
private readonly IPhSDeliveryNoteRepository _deliveryNoteRepository = deliveryNoteRepository;
|
|
|
|
public Task<DeliveryNoteDto?> GetDtoByIdAsync(int id)
|
|
{
|
|
if (id <= 0)
|
|
throw new ArgumentOutOfRangeException(nameof(id), "El identificador del remito es inválido.");
|
|
|
|
return _deliveryNoteRepository.GetDtoByIdAsync(id);
|
|
}
|
|
|
|
public Task<DeliveryNoteDto?> GetDtoByDeliveryNoteNumberAsync(string deliveryNoteNumber)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(deliveryNoteNumber))
|
|
throw new ArgumentException("El número de remito es obligatorio.", nameof(deliveryNoteNumber));
|
|
|
|
return _deliveryNoteRepository.GetDtoByDeliveryNoteNumberAsync(deliveryNoteNumber.Trim());
|
|
}
|
|
|
|
public Task<IEnumerable<DeliveryNoteDto>> GetDtosByQuoteIdAsync(int quoteId)
|
|
{
|
|
if (quoteId <= 0)
|
|
throw new ArgumentOutOfRangeException(nameof(quoteId), "El identificador del presupuesto es inválido.");
|
|
|
|
return _deliveryNoteRepository.GetDtosByQuoteIdAsync(quoteId);
|
|
}
|
|
}
|
|
}
|