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