* Further improvements to generate PackList
This commit is contained in:
@@ -1,9 +1,4 @@
|
||||
using AutoMapper;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
@@ -22,7 +17,7 @@ namespace SytelineSaAppEfDataModel.Services
|
||||
.Where(x => x.RowPointer == orderNumber)
|
||||
.Select(x => mapper.Map<CustomerOrderDto>(x)).FirstOrDefaultAsync();
|
||||
if (customerOrder == null) return null;
|
||||
|
||||
|
||||
customerOrder.CustomerOrderLines = await context.CustomerOrderLines
|
||||
.Where(x => x.CoNum == customerOrder.CoNum)
|
||||
.Select(x => mapper.Map<CustomerOrderLineDto>(x)).ToListAsync();
|
||||
@@ -33,14 +28,50 @@ namespace SytelineSaAppEfDataModel.Services
|
||||
.Where(x => x.CoNum == customerOrder.CoNum && x.CoLine == customerOrderLine.CoLine)
|
||||
.Select(x => mapper.Map<CustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
|
||||
IList<EdiCustomerOrderTranslateDto> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
|
||||
.Where(x => x.CoCoNum == customerOrder.CoNum)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderTranslateDto>(x)).ToListAsync();
|
||||
|
||||
|
||||
customerOrder.EdiCustomerOrderTranslates = ediCustomerOrderTranslates;
|
||||
|
||||
return customerOrder;
|
||||
}
|
||||
|
||||
public async Task<CustomerOrderDto?> GetByCoNumber(string orderNumber)
|
||||
{
|
||||
CustomerOrderDto? customerOrder = await context.CustomerOrders
|
||||
.Where(x => x.CoNum == orderNumber)
|
||||
.Select(x => mapper.Map<CustomerOrderDto>(x)).FirstOrDefaultAsync();
|
||||
if (customerOrder == null) return null;
|
||||
|
||||
customerOrder.CustomerOrderLines = await context.CustomerOrderLines
|
||||
.Where(x => x.CoNum == customerOrder.CoNum)
|
||||
.Select(x => mapper.Map<CustomerOrderLineDto>(x)).ToListAsync();
|
||||
|
||||
foreach (CustomerOrderLineDto customerOrderLine in customerOrder.CustomerOrderLines)
|
||||
{
|
||||
customerOrderLine.CustomerOrderLineItems = await context.CustomerOrderLineItems
|
||||
.Where(x => x.CoNum == customerOrder.CoNum && x.CoLine == customerOrderLine.CoLine)
|
||||
.Select(x => mapper.Map<CustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
}
|
||||
|
||||
IList<EdiCustomerOrderTranslateDto> ediCustomerOrderTranslates = await context.EdiCustomerOrderTranslates
|
||||
.Where(x => x.CoCoNum == customerOrder.CoNum)
|
||||
.Select(x => mapper.Map<EdiCustomerOrderTranslateDto>(x)).ToListAsync();
|
||||
|
||||
customerOrder.EdiCustomerOrderTranslates = ediCustomerOrderTranslates;
|
||||
|
||||
return customerOrder;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<CustomerOrderLineItemDto>?> GetItemsByCoNumber(string customerOrderNumber)
|
||||
{
|
||||
List<CustomerOrderLineItemDto> customerOrderLineItems = await context.CustomerOrderLineItems
|
||||
.Where(x => x.CoNum == customerOrderNumber)
|
||||
.Select(x => mapper.Map<CustomerOrderLineItemDto>(x)).ToListAsync();
|
||||
|
||||
return customerOrderLineItems;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,5 +11,7 @@ namespace SytelineSaAppEfDataModel.Services
|
||||
{
|
||||
Task<IEnumerable<CustomerOrderDto>> GetAll();
|
||||
Task<CustomerOrderDto?> GetByOrderNumber(Guid orderNumber);
|
||||
Task<CustomerOrderDto?> GetByCoNumber(string orderNumber);
|
||||
Task<IEnumerable<CustomerOrderLineItemDto>?> GetItemsByCoNumber(string customerOrderNumber);
|
||||
}
|
||||
}
|
||||
|
||||
8
SytelineSaAppEfDataModel/Services/IItemCustService.cs
Normal file
8
SytelineSaAppEfDataModel/Services/IItemCustService.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services;
|
||||
|
||||
public interface IItemCustService
|
||||
{
|
||||
Task<ItemCustDto> GetItem(string itemNumber, string customerNumber);
|
||||
}
|
||||
@@ -6,4 +6,6 @@ public interface IWzRowMeyleService
|
||||
{
|
||||
Task<IEnumerable<WzRowMeyleDto>> GetAll();
|
||||
Task CreateRows(IEnumerable<WzRowMeyleDto> rows);
|
||||
Task<IEnumerable<WzRowMeyleDto>> GetByWzHeaderId(Guid wzHeaderId);
|
||||
Task UpdateRows(IEnumerable<WzRowMeyleDto> rows);
|
||||
}
|
||||
17
SytelineSaAppEfDataModel/Services/ItemCustService.cs
Normal file
17
SytelineSaAppEfDataModel/Services/ItemCustService.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using AutoMapper;
|
||||
using SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
namespace SytelineSaAppEfDataModel.Services;
|
||||
|
||||
public class ItemCustService(SytelineSaAppDbContext context, IMapper mapper) : IItemCustService
|
||||
{
|
||||
public Task<ItemCustDto> GetItem(string itemNumber, string customerNumber)
|
||||
{
|
||||
var item = context.ItemCusts
|
||||
.FirstOrDefault(x => x.Item == itemNumber && x.CustNum == customerNumber);
|
||||
|
||||
return item == null
|
||||
? Task.FromResult<ItemCustDto>(null)
|
||||
: Task.FromResult(mapper.Map<ItemCustDto>(item));
|
||||
}
|
||||
}
|
||||
@@ -18,4 +18,19 @@ public class WzRowMeyleService(SytelineSaAppDbContext context, IMapper mapper) :
|
||||
await context.WzRowsMeyle.AddRangeAsync(entities);
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<WzRowMeyleDto>> GetByWzHeaderId(Guid wzHeaderId)
|
||||
{
|
||||
return await context.WzRowsMeyle
|
||||
.Where(x => x.FK_Header == wzHeaderId)
|
||||
.Select(x => mapper.Map<WzRowMeyleDto>(x))
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task UpdateRows(IEnumerable<WzRowMeyleDto> rows)
|
||||
{
|
||||
var entities = mapper.Map<IEnumerable<WzRowMeyle>>(rows);
|
||||
context.WzRowsMeyle.UpdateRange(entities);
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user