* Created Entities, Dtos and Mapping for WzClient and WzHeader

This commit is contained in:
2025-05-07 21:21:02 +02:00
parent 9f38998135
commit 1f08ae05f0
12 changed files with 215 additions and 0 deletions

View File

@@ -34,6 +34,7 @@
<MenuItems> <MenuItems>
<MenuItem Text="Zamówienia DELFOR" Url="/" IconCss="fa-solid fa-landmark"></MenuItem> <MenuItem Text="Zamówienia DELFOR" Url="/" IconCss="fa-solid fa-landmark"></MenuItem>
<MenuItem Text="Zarządzanie Indeksami" Url="/Products" IconCss="fa-solid fa-basket-shopping"></MenuItem> <MenuItem Text="Zarządzanie Indeksami" Url="/Products" IconCss="fa-solid fa-basket-shopping"></MenuItem>
<MenuItem Text="Magazyn" Url="/Warehouse" IconCss="fa-solid fa-warehouse"></MenuItem>
@* <MenuItem Text="Zamówienia klienta EDI" Url="/EdiCustomerOrders" IconCss="fa-solid fa-list-check"></MenuItem> *@ @* <MenuItem Text="Zamówienia klienta EDI" Url="/EdiCustomerOrders" IconCss="fa-solid fa-list-check"></MenuItem> *@
@* <MenuItem Text="Zamówienia klienta" Url="/CustomerOrders" IconCss="fa-solid fa-database"></MenuItem> *@ @* <MenuItem Text="Zamówienia klienta" Url="/CustomerOrders" IconCss="fa-solid fa-database"></MenuItem> *@
@if (UserName == "pkus") @if (UserName == "pkus")

View File

@@ -0,0 +1,78 @@
@page "/Warehouse"
@using Syncfusion.Blazor.Cards
@using Syncfusion.Blazor.Grids
<div class="h-100 d-flex justify-content-center align-items-start">
<SfCard CssClass="shadow" style="width: 100%; max-width: 1200px;">
<CardHeader>
<h3 class="text-primary">Dokumenty WZ na Magazynie</h3>
</CardHeader>
<CardContent>
<SfGrid @ref="_grid"
AllowFiltering="true"
AllowPaging="true"
AllowSorting="true"
AllowSelection="true"
TValue="EdiCustomerOrderDto"
DataSource="@_ediCustomerOrders"
EnableAdaptiveUI="true">
<GridTemplates>
<DetailTemplate>
@{
var order = context as EdiCustomerOrderDto;
<SfCard CssClass="mb-4">
<CardContent>
<div class="row">
<div class="col">
<u>Numer zamówienia EDI:</u> <b>@order?.CustomerOrderNumber</b><br/>
<u>Numer zamówienia Klienta:</u> <b>@order?.CustomerPoNumber</b><br/>
<u>Numer klienta:</u> <b>@order?.CustomerNumber</b><br/>
<u>Klient:</u> <b>@order?.CustomerName</b><br/>
<u>Numer odbiorcy:</u> <b>@(order?.CustomerSequence?.ToString() ?? "N/A")</b><br/>
<u>Data otrzymania:</u> <b>@(order?.RecivedDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
<u>Wysłano do Syteline?:</u> <b>@((order?.Posted?.ToString() ?? "0") == "0" ? "NIE" : "TAK")</b><br/>
<u>Data wysyłki do Syteline:</u> <b>@(order?.PostedDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
<u>Data zamówienia:</u> <b>@(order?.OrderDate?.ToString("dd.MM.yyyy") ?? "N/A")</b><br/>
</div>
<div class="col">
<u>Cena:</u> <b>@(order?.Price?.ToString("F2") ?? "N/A")</b><br/>
<u>Waga:</u> <b>@(order?.Weight?.ToString("F2") ?? "N/A")</b><br/>
<u>Magazyn:</u> <b>@order?.Warehouse</b><br/>
<u>Gate:</u> <b>@order?.Gate</b><br/>
<u>Kod odbiorcy:</u> <b>@order?.RecipientCode</b><br/>
<u>Kod wysyłającego:</u> <b>@order?.SenderCode</b><br/>
<u>Kod sprzedawcy:</u> <b>@order?.SellerCode</b><br/>
<u>Kod kupującego:</u> <b>@order?.BuyerCode</b><br/>
<u>Typ dokumentu:</u> <b>@order?.DocType</b><br/>
</div>
</div>
</CardContent>
</SfCard>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn Field=@nameof(EdiCustomerOrderDto.CustomerOrderNumber) HeaderText="Numer Zamówienia" Width="110"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.CustomerPoNumber) HeaderText="Zamówienie Klienta" Width="100"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.CustomerNumber) HeaderText="Numer Klienta" Width="90"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.CustomerSequence) HeaderText="Odbiorca" Width="80"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.CreateDate) HeaderText="Data Otrzymania" TextAlign="TextAlign.Center" Width="110"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.SlOrderNumber) HeaderText="Zamówienie SL" Width="100"></GridColumn>
<GridColumn Field=@nameof(EdiCustomerOrderDto.SentToSl) HeaderText="Wysłane do SL" TextAlign="TextAlign.Center" Width="80"></GridColumn>
</GridColumns>
<GridFilterSettings Type="FilterType.Excel"/>
<GridPageSettings PageSize="10"/>
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Multiple"/>
<GridEvents TValue="EdiCustomerOrderDto" OnRecordDoubleClick="OnRowDoubleClick" RowSelected="RowSelected"/>
</SfGrid>
</CardContent>
<CardFooter>
<small class="text-muted">FA Krosno Manager © @(DateTime.Now.Year)</small>
</CardFooter>
</SfCard>
</div>
@code {
}

View File

@@ -0,0 +1,9 @@
namespace SytelineSaAppEfDataModel.Dtos;
public class WzClientDto
{
public Guid ID { get; set; }
public string CustomerNumber { get; set; }
public int? CustomerSequence { get; set; }
public DateTime CreatedDate { get; set; }
}

View File

@@ -0,0 +1,8 @@
namespace SytelineSaAppEfDataModel.Dtos;
public class WzHeaderDto
{
public Guid ID { get; set; }
public Guid? FK_Client { get; set; }
public DateTime CreatedDate { get; set; }
}

View File

@@ -0,0 +1,9 @@
namespace SytelineSaAppEfDataModel.Entities;
public class WzClient
{
public Guid ID { get; set; }
public string CustomerNumber { get; set; }
public int? CustomerSequence { get; set; }
public DateTime CreatedDate { get; set; }
}

View File

@@ -0,0 +1,11 @@
namespace SytelineSaAppEfDataModel.Entities;
public class WzHeader
{
public Guid ID { get; set; }
public Guid? FK_Client { get; set; }
public DateTime CreatedDate { get; set; }
// Navigation property
public WzClient Client { get; set; }
}

View File

@@ -20,6 +20,7 @@ namespace SytelineSaAppEfDataModel
CreateMap<UserName, UserNameDto>().ReverseMap(); CreateMap<UserName, UserNameDto>().ReverseMap();
CreateMap<EdiUser, EdiUserDto>().ReverseMap(); CreateMap<EdiUser, EdiUserDto>().ReverseMap();
CreateMap<MaterialTransaction, MaterialTransactionDto>().ReverseMap(); CreateMap<MaterialTransaction, MaterialTransactionDto>().ReverseMap();
CreateMap<WzClient, WzClientDto>().ReverseMap();
} }
} }
} }

View File

@@ -0,0 +1,8 @@
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public interface IWzClientService
{
Task<IEnumerable<WzClientDto>> GetAll();
}

View File

@@ -0,0 +1,8 @@
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public interface IWzHeaderService
{
Task<IEnumerable<WzHeaderDto>> GetAll();
}

View File

@@ -0,0 +1,13 @@
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public class WzClientService(SytelineSaAppDbContext context, IMapper mapper) : IWzClientService
{
public async Task<IEnumerable<WzClientDto>> GetAll()
{
return await context.WzClients.Select(x => mapper.Map<WzClientDto>(x)).ToListAsync();
}
}

View File

@@ -0,0 +1,13 @@
using AutoMapper;
using Microsoft.EntityFrameworkCore;
using SytelineSaAppEfDataModel.Dtos;
namespace SytelineSaAppEfDataModel.Services;
public class WzHeaderService(SytelineSaAppDbContext context, IMapper mapper) : IWzHeaderService
{
public async Task<IEnumerable<WzHeaderDto>> GetAll()
{
return await context.WzHeaders.Select(x => mapper.Map<WzHeaderDto>(x)).ToListAsync();
}
}

View File

@@ -20,6 +20,9 @@ namespace SytelineSaAppEfDataModel
public DbSet<EdiUser> EdiUsers { get; set; } public DbSet<EdiUser> EdiUsers { get; set; }
public DbSet<MaterialTransaction> MaterialTransactions { get; set; } public DbSet<MaterialTransaction> MaterialTransactions { get; set; }
public DbSet<WzClient> WzClients { get; set; }
public DbSet<WzHeader> WzHeaders { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{ {
@@ -875,6 +878,59 @@ namespace SytelineSaAppEfDataModel
.HasMaxLength(20) .HasMaxLength(20)
.IsRequired(false); .IsRequired(false);
}); });
modelBuilder.Entity<WzHeader>(entity =>
{
entity.ToTable("wz_header");
entity.HasKey(e => e.ID);
entity.Property(e => e.ID)
.HasColumnName("ID")
.HasColumnType("uniqueidentifier");
entity.Property(e => e.FK_Client)
.HasColumnName("FK_Client")
.HasColumnType("uniqueidentifier")
.IsRequired(false);
entity.Property(e => e.CreatedDate)
.HasColumnName("CreatedDate")
.HasColumnType("timestamp")
.IsRowVersion();
// Relationship
entity.HasOne(e => e.Client)
.WithMany()
.HasForeignKey(e => e.FK_Client)
.HasConstraintName("wz_header_wz_clients_ID_fk");
});
modelBuilder.Entity<WzClient>(entity =>
{
entity.ToTable("wz_clients");
entity.HasKey(e => e.ID);
entity.Property(e => e.ID)
.HasColumnName("ID")
.HasColumnType("uniqueidentifier");
entity.Property(e => e.CustomerNumber)
.HasColumnName("CustomerNumber")
.HasMaxLength(20)
.IsRequired(false);
entity.Property(e => e.CustomerSequence)
.HasColumnName("CustomerSequence")
.HasColumnType("int")
.IsRequired(false);
entity.Property(e => e.CreatedDate)
.HasColumnName("CreatedDate")
.HasColumnType("timestamp")
.IsRowVersion();
});
} }
} }
} }