Files
FA_WEB/OrdersManagement/Components/Pages/CustomerOrders.razor

93 lines
4.7 KiB
Plaintext

@page "/CustomerOrders"
@rendermode InteractiveServer
@inject CustomerOrderService CustomerOrderService
@inject NavigationManager NavigationManager
@using SytelineSaAppEfDataModel.Dtos
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Cards
@inherits LayoutComponentBase
<div class="h-100 d-flex flex-column">
<h5>Zamówienia Klienta</h5>
<SfGrid AllowFiltering="true"
AllowPaging="true"
AllowSorting="true"
AllowSelection="true"
TValue="CustomerOrderDto"
DataSource="@_customerOrders"
EnableAdaptiveUI="true">
<GridTemplates>
<DetailTemplate>
@{
var order = context as CustomerOrderDto;
<SfCard>
<CardContent>
<div class="row">
<div class="col">
<u>Numer Zamówienia:</u> <b>@order?.CoNum</b><br/>
<u>Numer Zamówienia Klienta:</u> <b>@order?.CustPo</b><br/>
<u>Klient:</u> <b>@order?.CustNum</b><br/>
<u>Numer Odbiorcy:</u> <b>@order?.CustSeq</b><br/>
<u>Kontakt:</u> <b>@order?.Contact</b><br/>
<u>Telefon:</u> <b>@order?.Phone</b><br/>
<u>Data Zamówienia:</u>
<b>@order?.OrderDate.ToString("yyyy-MM-dd HH:mm:ss")</b><br/>
<u>Warunki:</u> <b>@order?.TermsCode</b><br/>
<u>Wartość Brutto:</u> <b>@(order?.Price?.ToString("F2") ?? "N/A")</b><br/>
<u>Status:</u> <b>@order?.TranslatedStatus</b><br/>
</div>
<div class="col">
<u>Magazyn:</u> <b>@order?.Whse</b><br/>
<u>VAT:</u> <b>@order?.FrtTaxCode1</b><br/>
<u>Typ Odbiorcy:</u> <b>@order?.EndUserType</b><br/>
<u>Kurs Wymiany:</u> <b>@(order?.ExchRate?.ToString("F4") ?? "N/A")</b><br/>
<u>Gate:</u> <b>@order?.Uf_FKR_EDI_Gate</b><br/>
<u>RecipientCode:</u> <b>@order?.Uf_FKR_EDI_RecipientCode</b><br/>
<u>SelletCode:</u> <b>@order?.Uf_FKR_EDI_SellerCode</b><br/>
<u>SenderCode:</u> <b>@order?.Uf_FKR_EDI_SenderCode</b><br/>
<u>BuyerCode:</u> <b>@order?.Uf_FKR_EDI_BuyerCode</b><br/>
<u>Typ Dokumentu:</u> <b>@order?.Uf_DocType</b><br/>
</div>
</div>
</CardContent>
</SfCard>
}
</DetailTemplate>
</GridTemplates>
<GridColumns>
<GridColumn Field=@nameof(CustomerOrderDto.CoNum) HeaderText="Numer Zamówienia" Width="110"></GridColumn>
<GridColumn Field=@nameof(CustomerOrderDto.CustPo) HeaderText="Zamówienie Klienta" Width="100"></GridColumn>
<GridColumn Field=@nameof(CustomerOrderDto.CustNum) HeaderText="Numer Klienta" Width="90"></GridColumn>
<GridColumn Field=@nameof(CustomerOrderDto.CustSeq) HeaderText="Odbiorca" Width="80"></GridColumn>
<GridColumn Field=@nameof(CustomerOrderDto.CreateDate) HeaderText="Data zamówienia"
TextAlign="TextAlign.Right" Width="110"></GridColumn>
<GridColumn Field=@nameof(CustomerOrderDto.TranslatedStatus) HeaderText="Status" Width="100"></GridColumn>
</GridColumns>
<GridFilterSettings Type="FilterType.Excel"/>
<GridPageSettings PageSize="10"/>
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
<GridEvents TValue="CustomerOrderDto" OnRecordDoubleClick="OnRowDoubleClick"/>
</SfGrid>
</div>
@code {
private IEnumerable<CustomerOrderDto>? _customerOrders;
protected override async Task OnInitializedAsync()
{
_customerOrders = await CustomerOrderService.GetCustomerOrdersAsync() ?? new List<CustomerOrderDto>();
_customerOrders = _customerOrders.OrderByDescending(x => x.CreateDate).ToList();
StateHasChanged();
}
private void OnRowDoubleClick(RecordDoubleClickEventArgs<CustomerOrderDto> obj)
{
Guid customerOrderId = obj.RowData.RowPointer;
NavigationManager.NavigateTo($"/CustomerOrder/{customerOrderId}");
}
}