Add project files.
This commit is contained in:
161
OrdersManagement/Components/Pages/EdiCustomerOrders.razor
Normal file
161
OrdersManagement/Components/Pages/EdiCustomerOrders.razor
Normal file
@@ -0,0 +1,161 @@
|
||||
@page "/edicustomerorders"
|
||||
|
||||
@inject EdiCustomerOrderService EdiCustomerOrderService
|
||||
@inject NavigationManager NavigationManager
|
||||
@using SytelineSaAppEfDataModel.Dtos
|
||||
@using FaKrosnoApi.Dtos
|
||||
@using OrdersManagement.Dtos
|
||||
@inherits LayoutComponentBase
|
||||
|
||||
<div class="row">
|
||||
<h3>EdiCustomerOrders</h3>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Switch ValueExpression="() => _filter" ValueChanged="FilterChanged" Label="Pokaż tylko niezaksięgowane" />
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
@if (_isVisible)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<Button Color="ButtonColor.Primary" @onclick="SendOrderToSyteLine">Księguj bieżący</Button>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<br />
|
||||
<div class="row">
|
||||
<Grid @ref="_grid"
|
||||
TItem="EdiCustomerOrderDto"
|
||||
Class="table table-hover table-bordered table-striped"
|
||||
DataProvider="EdiCustomerOrdersDataProvider"
|
||||
AllowFiltering="true"
|
||||
Responsive="true"
|
||||
AllowPaging="true"
|
||||
PageSize="20"
|
||||
AllowSelection="true"
|
||||
AllowRowClick="true"
|
||||
OnRowDoubleClick="OnRowDoubleClick"
|
||||
SelectedItemsChanged="SelectedItemsChanged">
|
||||
|
||||
<GridColumns>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="CO Number" PropertyName="CoNumber">
|
||||
@context.CustomerOrderNumber
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Customer Number" PropertyName="CustNum">
|
||||
@context.CustomerNumber
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Recipient" PropertyName="Recipient">
|
||||
@context.CustomerSequence
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Last Update Date" PropertyName="LastUpdateDate">
|
||||
@context.CreateDate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="Gate" PropertyName="Gate">
|
||||
@context.Gate
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="RecipientCode" PropertyName="RecipientCode">
|
||||
@context.RecipientCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="SellerCode" PropertyName="SellerCode">
|
||||
@context.SellerCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="SenderCode" PropertyName="SenderCode">
|
||||
@context.SenderCode
|
||||
</GridColumn>
|
||||
<GridColumn TItem="EdiCustomerOrderDto" HeaderText="BuyerCode" PropertyName="BuyerCode">
|
||||
@context.BuyerCode
|
||||
</GridColumn>
|
||||
</GridColumns>
|
||||
</Grid>
|
||||
</div>
|
||||
|
||||
<Modal @ref="_modal" Title="@_modalDto.Title">
|
||||
<BodyTemplate>
|
||||
@_modalDto.Body
|
||||
</BodyTemplate>
|
||||
<FooterTemplate>
|
||||
<Button Color="ButtonColor.Primary" @onclick="OnHideModalClick">OK</Button>
|
||||
</FooterTemplate>
|
||||
</Modal>
|
||||
|
||||
@code {
|
||||
Grid<EdiCustomerOrderDto>? _grid;
|
||||
private IEnumerable<EdiCustomerOrderDto>? _ediCustomerOrders;
|
||||
|
||||
private EdiCustomerOrderDto? _selectedEdiCustomerOrder;
|
||||
|
||||
private Modal _modal = default!;
|
||||
private ModalDto _modalDto = new(null, null);
|
||||
|
||||
private bool _isVisible;
|
||||
private bool _filter;
|
||||
|
||||
// protected override async Task OnInitializedAsync()
|
||||
// {
|
||||
// _ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List<EdiCustomerOrderDto>();
|
||||
// _ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList();
|
||||
// }
|
||||
|
||||
private async Task<GridDataProviderResult<EdiCustomerOrderDto>> EdiCustomerOrdersDataProvider(GridDataProviderRequest<EdiCustomerOrderDto> request)
|
||||
{
|
||||
_ediCustomerOrders = await EdiCustomerOrderService.GetEdiCustomerOrdersAsync() ?? new List<EdiCustomerOrderDto>();
|
||||
_ediCustomerOrders = _ediCustomerOrders.OrderByDescending(x => x.CreateDate).ToList();
|
||||
|
||||
if (_filter)
|
||||
{
|
||||
_ediCustomerOrders = _ediCustomerOrders.Where(x => x.Posted == 0).ToList();
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
|
||||
return await Task.FromResult(request.ApplyTo(_ediCustomerOrders));
|
||||
}
|
||||
|
||||
private void OnRowDoubleClick(GridRowEventArgs<EdiCustomerOrderDto> obj)
|
||||
{
|
||||
string customerOrderId = obj.Item.CustomerOrderNumber;
|
||||
|
||||
NavigationManager.NavigateTo($"/edicustomerorder/{customerOrderId}");
|
||||
}
|
||||
|
||||
private async void SendOrderToSyteLine()
|
||||
{
|
||||
if (_selectedEdiCustomerOrder == null) return;
|
||||
|
||||
ResponseDto response = await EdiCustomerOrderService.SendOrderToSyteline(_selectedEdiCustomerOrder.CustomerOrderNumber);
|
||||
|
||||
if (response.Status == 1)
|
||||
{
|
||||
_modalDto = new ModalDto("Wysłano", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} zostało poprawnie zaksięgowane w Zamówieniach klienta pod numerem '{_selectedEdiCustomerOrder.EdiCustomerOrderTranslates.FirstOrDefault()?.CoCoNum}'");
|
||||
await _modal.ShowAsync();
|
||||
|
||||
_grid?.RefreshDataAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
_modalDto = new ModalDto("Błąd", $"Zamówienie EDI {_selectedEdiCustomerOrder.CustomerOrderNumber} nie zostało poprawnie zaksięgowane w Zamówieniach klienta.{Environment.NewLine}Lista błędów:{Environment.NewLine}{response.Message}");
|
||||
await _modal.ShowAsync();
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectedItemsChanged(HashSet<EdiCustomerOrderDto> obj)
|
||||
{
|
||||
_selectedEdiCustomerOrder = obj.FirstOrDefault() ?? null;
|
||||
_isVisible = _selectedEdiCustomerOrder?.Posted == 0;
|
||||
}
|
||||
|
||||
private async Task OnHideModalClick()
|
||||
{
|
||||
await _modal.HideAsync();
|
||||
}
|
||||
|
||||
private void FilterChanged(bool obj)
|
||||
{
|
||||
_filter = obj;
|
||||
_grid?.RefreshDataAsync();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user