From ec990897cba29e63f0fc6b23c1cde274b09cf51c Mon Sep 17 00:00:00 2001 From: leandro Date: Tue, 24 Mar 2026 02:59:07 -0300 Subject: [PATCH] feat(sales): persist delivery note issue in repository closes #35 --- .../Interfaces/IPhSDeliveryNoteRepository.cs | 4 ++++ .../Repositories/PhSDeliveryNoteRepository.cs | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/Models/Interfaces/IPhSDeliveryNoteRepository.cs b/Models/Interfaces/IPhSDeliveryNoteRepository.cs index 77223da..b7793aa 100644 --- a/Models/Interfaces/IPhSDeliveryNoteRepository.cs +++ b/Models/Interfaces/IPhSDeliveryNoteRepository.cs @@ -1,4 +1,5 @@ using Domain.Dtos.Sales; +using Domain.Entities; using Domain.Generics; namespace Models.Interfaces @@ -20,5 +21,8 @@ namespace Models.Interfaces Task GetDtoByIdAsync(int id); Task GetDtoByDeliveryNoteNumberAsync(string deliveryNoteNumber); Task> GetDtosByQuoteIdAsync(int quoteId); + + Task ExistsByDeliveryNoteNumberAsync(string deliveryNoteNumber); + Task CreateAsync(EDeliveryNote entity); } } diff --git a/Models/Repositories/PhSDeliveryNoteRepository.cs b/Models/Repositories/PhSDeliveryNoteRepository.cs index dcf0395..c4d5928 100644 --- a/Models/Repositories/PhSDeliveryNoteRepository.cs +++ b/Models/Repositories/PhSDeliveryNoteRepository.cs @@ -1,4 +1,5 @@ using Domain.Dtos.Sales; +using Domain.Entities; using Domain.Generics; using Microsoft.EntityFrameworkCore; using Models.Helpers; @@ -115,6 +116,23 @@ namespace Models.Repositories return entities.Select(MapDeliveryNoteDto); } + public async Task ExistsByDeliveryNoteNumberAsync(string deliveryNoteNumber) + { + return await _context.PhSDeliveryNotes + .AsNoTracking() + .AnyAsync(x => x.Deliverynotenumber == deliveryNoteNumber); + } + + public async Task CreateAsync(EDeliveryNote entity) + { + var mapped = EntityMapper.MapEntity(entity); + + await _context.PhSDeliveryNotes.AddAsync(mapped); + await _context.SaveChangesAsync(); + + return EntityMapper.MapEntity(mapped); + } + private static DeliveryNoteDto MapDeliveryNoteDto(PhSDeliveryNote source) { return new DeliveryNoteDto