* Further improvements to generate PackList
This commit is contained in:
30
SytelineSaAppEfDataModel/Dtos/ItemCustDto.cs
Normal file
30
SytelineSaAppEfDataModel/Dtos/ItemCustDto.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
namespace SytelineSaAppEfDataModel.Dtos;
|
||||
|
||||
public class ItemCustDto
|
||||
{
|
||||
public string Item { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustItemSeq { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public int? PurchYtd { get; set; }
|
||||
public decimal? OrderYtd { get; set; }
|
||||
public decimal? ShipYtd { get; set; }
|
||||
public decimal? OrderPtd { get; set; }
|
||||
public string UM { get; set; }
|
||||
public int? DuePeriod { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public int? Rank { get; set; }
|
||||
public string EndUser { get; set; }
|
||||
public string Uf_FKR_CustItem2 { get; set; }
|
||||
public string Uf_KOD_EAN13 { get; set; }
|
||||
public string Uf_Paleta_BROSE { get; set; }
|
||||
public string Uf_Pojemnik_BROSE { get; set; }
|
||||
public string Uf_Paleta_BROSE_Pokrywa { get; set; }
|
||||
public string Uf_RewizjaRysunku { get; set; }
|
||||
}
|
||||
@@ -9,5 +9,5 @@ public class WzRowMeyleDto
|
||||
public int? Quantity { get; set; }
|
||||
public int? PalletNumber { get; set; }
|
||||
public string WzNumber { get; set; }
|
||||
public string PartNumber { get; set; }
|
||||
public string? PartNumber { get; set; }
|
||||
}
|
||||
30
SytelineSaAppEfDataModel/Entities/ItemCust.cs
Normal file
30
SytelineSaAppEfDataModel/Entities/ItemCust.cs
Normal file
@@ -0,0 +1,30 @@
|
||||
namespace SytelineSaAppEfDataModel.Entities;
|
||||
|
||||
public class ItemCust
|
||||
{
|
||||
public string Item { get; set; }
|
||||
public string CustNum { get; set; }
|
||||
public int CustItemSeq { get; set; }
|
||||
public string CustItem { get; set; }
|
||||
public int? PurchYtd { get; set; }
|
||||
public decimal? OrderYtd { get; set; }
|
||||
public decimal? ShipYtd { get; set; }
|
||||
public decimal? OrderPtd { get; set; }
|
||||
public string UM { get; set; }
|
||||
public int? DuePeriod { get; set; }
|
||||
public byte NoteExistsFlag { get; set; }
|
||||
public DateTime RecordDate { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public string CreatedBy { get; set; }
|
||||
public string UpdatedBy { get; set; }
|
||||
public DateTime CreateDate { get; set; }
|
||||
public byte InWorkflow { get; set; }
|
||||
public int? Rank { get; set; }
|
||||
public string EndUser { get; set; }
|
||||
public string Uf_FKR_CustItem2 { get; set; }
|
||||
public string Uf_KOD_EAN13 { get; set; }
|
||||
public string Uf_Paleta_BROSE { get; set; }
|
||||
public string Uf_Pojemnik_BROSE { get; set; }
|
||||
public string Uf_Paleta_BROSE_Pokrywa { get; set; }
|
||||
public string Uf_RewizjaRysunku { get; set; }
|
||||
}
|
||||
@@ -9,7 +9,7 @@ public class WzRowMeyle
|
||||
public int? Quantity { get; set; }
|
||||
public int? PalletNumber { get; set; }
|
||||
public string WzNumber { get; set; }
|
||||
public string PartNumber { get; set; }
|
||||
public string? PartNumber { get; set; }
|
||||
|
||||
// Navigation property
|
||||
public WzHeader Header { get; set; }
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace SytelineSaAppEfDataModel
|
||||
CreateMap<WzClient, WzClientDto>().ReverseMap();
|
||||
CreateMap<WzHeader, WzHeaderDto>().ReverseMap();
|
||||
CreateMap<WzRowMeyle, WzRowMeyleDto>().ReverseMap();
|
||||
CreateMap<ItemCust, ItemCustDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -25,6 +25,8 @@ namespace SytelineSaAppEfDataModel
|
||||
public DbSet<WzHeader> WzHeaders { get; set; }
|
||||
|
||||
public DbSet<WzRowMeyle> WzRowsMeyle { get; set; }
|
||||
|
||||
public DbSet<ItemCust> ItemCusts { get; set; }
|
||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||
{
|
||||
var configuration = new ConfigurationBuilder()
|
||||
@@ -990,6 +992,149 @@ namespace SytelineSaAppEfDataModel
|
||||
.HasForeignKey(e => e.FK_Header)
|
||||
.HasConstraintName("wz_rows_meyle_wz_header_ID_fk");
|
||||
});
|
||||
|
||||
modelBuilder.Entity<ItemCust>(entity =>
|
||||
{
|
||||
entity.ToTable("itemcust");
|
||||
|
||||
entity.HasKey(e => new { e.Item, e.CustNum, e.CustItemSeq });
|
||||
|
||||
entity.Property(e => e.Item)
|
||||
.HasColumnName("item")
|
||||
.HasMaxLength(60)
|
||||
.IsRequired();
|
||||
|
||||
entity.Property(e => e.CustNum)
|
||||
.HasColumnName("cust_num")
|
||||
.HasMaxLength(14)
|
||||
.IsRequired();
|
||||
|
||||
entity.Property(e => e.CustItemSeq)
|
||||
.HasColumnName("cust_item_seq")
|
||||
.HasColumnType("int")
|
||||
.HasDefaultValueSql("1");
|
||||
|
||||
entity.Property(e => e.CustItem)
|
||||
.HasColumnName("cust_item")
|
||||
.HasMaxLength(60)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.PurchYtd)
|
||||
.HasColumnName("purch_ytd")
|
||||
.HasDefaultValueSql("0")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.OrderYtd)
|
||||
.HasColumnName("order_ytd")
|
||||
.HasDefaultValueSql("0")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.ShipYtd)
|
||||
.HasColumnName("ship_ytd")
|
||||
.HasDefaultValueSql("0")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.OrderPtd)
|
||||
.HasColumnName("order_ptd")
|
||||
.HasDefaultValueSql("0")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.UM)
|
||||
.HasColumnName("u_m")
|
||||
.HasMaxLength(6)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.DuePeriod)
|
||||
.HasColumnName("due_period")
|
||||
.HasColumnType("smallint")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.NoteExistsFlag)
|
||||
.HasColumnName("NoteExistsFlag")
|
||||
.HasColumnType("tinyint")
|
||||
.HasDefaultValueSql("0");
|
||||
|
||||
entity.Property(e => e.RecordDate)
|
||||
.HasColumnName("RecordDate")
|
||||
.HasDefaultValueSql("getdate()");
|
||||
|
||||
entity.Property(e => e.RowPointer)
|
||||
.HasColumnName("RowPointer")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasDefaultValueSql("newid()");
|
||||
|
||||
entity.Property(e => e.CreatedBy)
|
||||
.HasColumnName("CreatedBy")
|
||||
.HasMaxLength(60)
|
||||
.HasDefaultValueSql("suser_sname()");
|
||||
|
||||
entity.Property(e => e.UpdatedBy)
|
||||
.HasColumnName("UpdatedBy")
|
||||
.HasMaxLength(60)
|
||||
.HasDefaultValueSql("suser_sname()");
|
||||
|
||||
entity.Property(e => e.CreateDate)
|
||||
.HasColumnName("CreateDate")
|
||||
.HasDefaultValueSql("getdate()");
|
||||
|
||||
entity.Property(e => e.InWorkflow)
|
||||
.HasColumnName("InWorkflow")
|
||||
.HasColumnType("tinyint")
|
||||
.HasDefaultValueSql("0");
|
||||
|
||||
entity.Property(e => e.Rank)
|
||||
.HasColumnName("rank")
|
||||
.HasColumnType("int")
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.EndUser)
|
||||
.HasColumnName("end_user")
|
||||
.HasMaxLength(60)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_FKR_CustItem2)
|
||||
.HasColumnName("Uf_FKR_CustItem2")
|
||||
.HasMaxLength(30)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_KOD_EAN13)
|
||||
.HasColumnName("Uf_KOD_EAN13")
|
||||
.HasMaxLength(13)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_Paleta_BROSE)
|
||||
.HasColumnName("Uf_Paleta_BROSE")
|
||||
.HasMaxLength(20)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_Pojemnik_BROSE)
|
||||
.HasColumnName("Uf_Pojemnik_BROSE")
|
||||
.HasMaxLength(20)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_Paleta_BROSE_Pokrywa)
|
||||
.HasColumnName("Uf_Paleta_BROSE_Pokrywa")
|
||||
.HasMaxLength(30)
|
||||
.IsRequired(false);
|
||||
|
||||
entity.Property(e => e.Uf_RewizjaRysunku)
|
||||
.HasColumnName("Uf_RewizjaRysunku")
|
||||
.HasMaxLength(20)
|
||||
.IsRequired(false);
|
||||
|
||||
// Indexes
|
||||
entity.HasIndex(e => new { e.CustNum, e.Item, e.CustItemSeq })
|
||||
.HasDatabaseName("IX_itemcust_custitem")
|
||||
.IsUnique();
|
||||
|
||||
entity.HasIndex(e => new { e.CustNum, e.Item, e.CustItem })
|
||||
.HasDatabaseName("IX_itemcust_custitemci")
|
||||
.IsUnique();
|
||||
|
||||
entity.HasIndex(e => e.RowPointer)
|
||||
.HasDatabaseName("IX_itemcust_RowPointer")
|
||||
.IsUnique();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user