* Extended of Dtos

* Added new Services and Controllers
This commit is contained in:
2025-09-03 15:04:22 +02:00
parent 47f37d016d
commit 0199467f72
15 changed files with 172 additions and 23 deletions

View File

@@ -1,5 +1,7 @@
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using SytelineSaAppEfDataModel.Dtos;
using SytelineSaAppEfDataModel.Entities;
namespace SytelineSaAppEfDataModel.Services;
@@ -10,4 +12,18 @@ public class EdiCustomerOrderImportService(SytelineSaAppDbContext context, IMapp
return (await context.EdiCustomerOrderImports.OrderByDescending(x => x.LastUpdateDate)
.FirstOrDefaultAsync())?.LastUpdateDate ?? DateTime.Now.Date;
}
public async Task<bool> AddEdiCustomerOrderImport(EdiCustomerOrderImportDto ediCustomerOrderImport)
{
var entity = mapper.Map<EdiCustomerOrderImport>(ediCustomerOrderImport);
await context.EdiCustomerOrderImports.AddAsync(entity);
return await context.SaveChangesAsync() > 0;
}
public async Task<bool> AddEdiCustomerOrderImports(IList<EdiCustomerOrderImportDto> ediCustomerOrderImports)
{
var entities = mapper.Map<List<EdiCustomerOrderImport>>(ediCustomerOrderImports);
context.EdiCustomerOrderImports.AddRange(entities);
return await context.SaveChangesAsync() > 0;
}
}

View File

@@ -149,13 +149,16 @@ namespace SytelineSaAppEfDataModel.Services
try
{
await context.EdiCustomerOrders.AddRangeAsync(ediCustomerOrders.Select(mapper.Map<EdiCustomerOrder>));
await context.EdiCustomerOrderLines.AddRangeAsync(ediCustomerOrders
.SelectMany(x => x.EdiCustomerOrderLines)
.Select(mapper.Map<EdiCustomerOrderLine>));
await context.EdiCustomerOrderLineItems.AddRangeAsync(ediCustomerOrders
.SelectMany(x => x.EdiCustomerOrderLines)
.SelectMany(y => y.EdiCustomerOrderLineItems).Select(mapper.Map<EdiCustomerOrderLineItem>));
IList<EdiCustomerOrder> customerOrders = ediCustomerOrders.Select(mapper.Map<EdiCustomerOrder>).ToList();
IList<EdiCustomerOrderLine> ediCustomerOrderLines = ediCustomerOrders
.SelectMany(x => x.EdiCustomerOrderLines).Select(mapper.Map<EdiCustomerOrderLine>).ToList();
IList<EdiCustomerOrderLineItem> ediCustomerOrderLineItems = ediCustomerOrders
.SelectMany(x => x.EdiCustomerOrderLines).SelectMany(y => y.EdiCustomerOrderLineItems)
.Select(mapper.Map<EdiCustomerOrderLineItem>).ToList();
await context.EdiCustomerOrders.AddRangeAsync(customerOrders);
await context.EdiCustomerOrderLines.AddRangeAsync(ediCustomerOrderLines);
await context.EdiCustomerOrderLineItems.AddRangeAsync(ediCustomerOrderLineItems);
await context.EdiCustomerOrderTranslates.AddRangeAsync(ediCustomerOrders
.SelectMany(x => x.EdiCustomerOrderTranslates)
.Select(mapper.Map<EdiCustomerOrderTranslate>));

View File

@@ -0,0 +1,15 @@
using AutoMapper;
using SytelineSaAppEfDataModel.Dtos;
using SytelineSaAppEfDataModel.Entities;
namespace SytelineSaAppEfDataModel.Services;
public class EdiLogService(SytelineSaAppDbContext context, IMapper mapper) : IEdiLogService
{
public async Task<bool> AddEdiLog(EdiLogDto ediLog)
{
var entity = mapper.Map<EdiLog>(ediLog);
await context.EdiLogs.AddAsync(entity);
return await context.SaveChangesAsync() > 0;
}
}

View File

@@ -1,6 +1,10 @@
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public interface IEdiCustomerOrderImportService
{
Task<DateTime> GetLastUpdateDate();
Task<bool> AddEdiCustomerOrderImport(EdiCustomerOrderImportDto ediCustomerOrderImport);
Task<bool> AddEdiCustomerOrderImports(IList<EdiCustomerOrderImportDto> ediCustomerOrderImports);
}

View File

@@ -0,0 +1,8 @@
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public interface IEdiLogService
{
Task<bool> AddEdiLog(EdiLogDto ediLog);
}