* Changed views to have them in the same layout
* Added Authorization
This commit is contained in:
@@ -1,154 +1,159 @@
|
||||
@page "/ScheduleOrder/{ScheduleOrderId:int}"
|
||||
@attribute [Authorize]
|
||||
|
||||
@using System.Security.Claims
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Syncfusion.Blazor.Grids
|
||||
@using Syncfusion.Blazor.Lists
|
||||
@using Syncfusion.Blazor.Cards
|
||||
@inject ScheduleOrderService ScheduleOrderService
|
||||
@inject NavigationManager NavigationManager
|
||||
@inject CustomAuthenticationStateProvider CustomAuthenticationStateProvider
|
||||
|
||||
<div class="h-100 d-flex flex-column">
|
||||
<h5>Zamówienie DELFOR nr @ScheduleOrderDto?.PONum</h5>
|
||||
<SfListView Id="ScheduleOrderMiscs"
|
||||
DataSource="@ScheduleOrderDto?.ScheduleOrderMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderMiscDto" Id="ScheduleOrderMiscListId"
|
||||
Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderMiscDto">
|
||||
<Template>
|
||||
<span
|
||||
class="e-list-content"><b>@item.Label:</b> @item.Value
|
||||
</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
<br/>
|
||||
<h5>Indeksy</h5>
|
||||
<SfGrid AllowFiltering="true"
|
||||
AllowPaging="true"
|
||||
AllowSorting="true"
|
||||
AllowSelection="true"
|
||||
TValue="ScheduleOrderDetailDto"
|
||||
DataSource="@_scheduleOrderDetails"
|
||||
EnableAdaptiveUI="true">
|
||||
<GridTemplates>
|
||||
<DetailTemplate>
|
||||
@{
|
||||
IList<ScheduleOrderDetailMiscDto>? scheduleOrderDetailMiscs = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailMiscs;
|
||||
IList<ScheduleOrderDetailDetailDto>? scheduleOrderDetailDetails = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailDetails;
|
||||
<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">Zamówienie DELFOR nr @(ScheduleOrderDto?.PONum ?? "Brak numeru")</h3>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<SfListView Id="ScheduleOrderMiscs"
|
||||
DataSource="@ScheduleOrderDto?.ScheduleOrderMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template mb-4">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderMiscDto" Id="ScheduleOrderMiscListId" Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderMiscDto">
|
||||
<Template>
|
||||
<span class="e-list-content"><b>@item.Label:</b> @item.Value</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
|
||||
<SfListView Id="ScheduleOrderDetailMiscs"
|
||||
DataSource="@scheduleOrderDetailMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderDetailMiscDto" Id="ScheduleOrderDetailMiscListId"
|
||||
Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailMiscDto">
|
||||
<Template>
|
||||
<span
|
||||
class="e-list-content"><b>@item.Label:</b> @item.Value
|
||||
</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
<br/>
|
||||
<h5>Harmonogramy</h5>
|
||||
<SfGrid AllowFiltering="true"
|
||||
AllowPaging="true"
|
||||
AllowSorting="true"
|
||||
AllowSelection="true"
|
||||
TValue="ScheduleOrderDetailDetailDto"
|
||||
DataSource="@scheduleOrderDetailDetails"
|
||||
EnableAdaptiveUI="true"
|
||||
AdaptiveUIMode="AdaptiveMode.Both">
|
||||
<GridEvents TValue="ScheduleOrderDetailDetailDto" RowDataBound="OnRowDataBound"/>
|
||||
<GridTemplates Context="detailDetail">
|
||||
<DetailTemplate>
|
||||
@{
|
||||
IList<ScheduleOrderDetailDetailMiscDto>? scheduleOrderDetailDetailMiscs = (@detailDetail as ScheduleOrderDetailDetailDto)?.ScheduleOrderDetailDetailMiscs;
|
||||
<h5 class="text-primary mb-3">Indeksy</h5>
|
||||
<SfGrid AllowFiltering="true"
|
||||
AllowPaging="true"
|
||||
AllowSorting="true"
|
||||
AllowSelection="true"
|
||||
TValue="ScheduleOrderDetailDto"
|
||||
DataSource="@_scheduleOrderDetails"
|
||||
EnableAdaptiveUI="true">
|
||||
<GridTemplates>
|
||||
<DetailTemplate>
|
||||
@{
|
||||
IList<ScheduleOrderDetailMiscDto>? scheduleOrderDetailMiscs = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailMiscs;
|
||||
IList<ScheduleOrderDetailDetailDto>? scheduleOrderDetailDetails = (@context as ScheduleOrderDetailDto)?.ScheduleOrderDetailDetails;
|
||||
|
||||
<SfListView Id="ScheduleOrderDetailDetailMiscs"
|
||||
DataSource="@scheduleOrderDetailDetailMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderDetailDetailMiscDto"
|
||||
Id="ScheduleOrderDetailDetailMiscListId"
|
||||
Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailDetailMiscDto">
|
||||
<Template>
|
||||
<span
|
||||
class="e-list-content"><b>@item.Label:</b> @item.Value
|
||||
</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
}
|
||||
</DetailTemplate>
|
||||
</GridTemplates>
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateFrom) HeaderText="Data Od"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateTo) HeaderText="Data Do"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.Qty) TextAlign="TextAlign.Right"
|
||||
HeaderText="Ilość Sztuk" Width="50"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyType) TextAlign="TextAlign.Right"
|
||||
HeaderText="Typ Qty" Width="50"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyDesc) HeaderText="Opis Typu"
|
||||
Width="100"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
</SfGrid>
|
||||
}
|
||||
</DetailTemplate>
|
||||
</GridTemplates>
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.OrderNumber) HeaderText="Numer Zamówienia"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.PurchaserName) HeaderText="Klient"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientName) HeaderText="Odbiorca"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientCode) HeaderText="Kod odbiorcy" Width="100"
|
||||
AllowFiltering="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja"
|
||||
Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja Klienta"
|
||||
Width="100"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
</SfGrid>
|
||||
<SfListView Id="ScheduleOrderDetailMiscs"
|
||||
DataSource="@scheduleOrderDetailMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template mb-4">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderDetailMiscDto" Id="ScheduleOrderDetailMiscListId" Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailMiscDto">
|
||||
<Template>
|
||||
<span class="e-list-content"><b>@item.Label:</b> @item.Value</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
|
||||
<h5 class="text-primary mb-3">Harmonogramy</h5>
|
||||
<SfGrid AllowFiltering="true"
|
||||
AllowPaging="true"
|
||||
AllowSorting="true"
|
||||
AllowSelection="true"
|
||||
TValue="ScheduleOrderDetailDetailDto"
|
||||
DataSource="@scheduleOrderDetailDetails"
|
||||
EnableAdaptiveUI="true"
|
||||
AdaptiveUIMode="AdaptiveMode.Both">
|
||||
<GridEvents TValue="ScheduleOrderDetailDetailDto" RowDataBound="OnRowDataBound"/>
|
||||
<GridTemplates Context="detailDetail">
|
||||
<DetailTemplate>
|
||||
@{
|
||||
IList<ScheduleOrderDetailDetailMiscDto>? scheduleOrderDetailDetailMiscs = (@detailDetail as ScheduleOrderDetailDetailDto)?.ScheduleOrderDetailDetailMiscs;
|
||||
|
||||
<SfListView Id="ScheduleOrderDetailDetailMiscs"
|
||||
DataSource="@scheduleOrderDetailDetailMiscs"
|
||||
ShowHeader="false"
|
||||
CssClass="e-list-template mb-4">
|
||||
<ListViewFieldSettings TValue="ScheduleOrderDetailDetailMiscDto" Id="ScheduleOrderDetailDetailMiscListId" Text="Text"></ListViewFieldSettings>
|
||||
<ListViewTemplates Context="item" TValue="ScheduleOrderDetailDetailMiscDto">
|
||||
<Template>
|
||||
<span class="e-list-content"><b>@item.Label:</b> @item.Value</span>
|
||||
</Template>
|
||||
</ListViewTemplates>
|
||||
</SfListView>
|
||||
}
|
||||
</DetailTemplate>
|
||||
</GridTemplates>
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateFrom) HeaderText="Data Od" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.DateTo) HeaderText="Data Do" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.Qty) TextAlign="TextAlign.Right" HeaderText="Ilość Sztuk" Width="50"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyType) TextAlign="TextAlign.Right" HeaderText="Typ Qty" Width="50"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDetailDto.QtyDesc) HeaderText="Opis Typu" Width="100"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
</SfGrid>
|
||||
}
|
||||
</DetailTemplate>
|
||||
</GridTemplates>
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.OrderNumber) HeaderText="Numer Zamówienia" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.PurchaserName) HeaderText="Klient" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientName) HeaderText="Odbiorca" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.RecipientCode) HeaderText="Kod odbiorcy" Width="100" AllowFiltering="true"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sh_productCode) HeaderText="Pozycja" Width="100"></GridColumn>
|
||||
<GridColumn Field=@nameof(ScheduleOrderDetailDto.Sc_productCode) HeaderText="Pozycja Klienta" Width="100"></GridColumn>
|
||||
</GridColumns>
|
||||
<GridFilterSettings Type="FilterType.Excel"/>
|
||||
<GridPageSettings PageSize="10"/>
|
||||
<GridSelectionSettings Mode="SelectionMode.Row" Type="SelectionType.Single"/>
|
||||
</SfGrid>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<small class="text-muted">FA Krosno Manager © @(DateTime.Now.Year)</small>
|
||||
</CardFooter>
|
||||
</SfCard>
|
||||
</div>
|
||||
|
||||
|
||||
@code {
|
||||
[Parameter] public int ScheduleOrderId { get; set; }
|
||||
|
||||
private IEnumerable<ScheduleOrderDetailDto>? _scheduleOrderDetails;
|
||||
|
||||
private ScheduleOrderDto? ScheduleOrderDto { get; set; }
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
|
||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||
{
|
||||
ScheduleOrderDto = await ScheduleOrderService.GetScheduleOrderAsync(ScheduleOrderId);
|
||||
|
||||
_scheduleOrderDetails = ScheduleOrderDto?.ScheduleOrderDetails;
|
||||
|
||||
if (ScheduleOrderDto is not null && _scheduleOrderDetails is not null)
|
||||
if (firstRender)
|
||||
{
|
||||
foreach (ScheduleOrderDetailDto scheduleOrderDetailDto in _scheduleOrderDetails)
|
||||
ClaimsPrincipal currentUser = CustomAuthenticationStateProvider.GetCurrentUser();
|
||||
|
||||
if (currentUser.Identity?.IsAuthenticated == false)
|
||||
{
|
||||
scheduleOrderDetailDto.OrderNumber = ScheduleOrderDto?.PONum;
|
||||
scheduleOrderDetailDto.RecipientCode = ScheduleOrderDto?.RecipientCode;
|
||||
scheduleOrderDetailDto.RecipientName = ScheduleOrderDto?.RecipientName;
|
||||
scheduleOrderDetailDto.PurchaserName = ScheduleOrderDto?.PurchaserCode;
|
||||
NavigationManager.NavigateTo("/Unauthorized");
|
||||
}
|
||||
else
|
||||
{
|
||||
ScheduleOrderDto = await ScheduleOrderService.GetScheduleOrderAsync(ScheduleOrderId);
|
||||
|
||||
_scheduleOrderDetails = ScheduleOrderDto?.ScheduleOrderDetails;
|
||||
|
||||
if (ScheduleOrderDto is not null && _scheduleOrderDetails is not null)
|
||||
{
|
||||
foreach (ScheduleOrderDetailDto scheduleOrderDetailDto in _scheduleOrderDetails)
|
||||
{
|
||||
scheduleOrderDetailDto.OrderNumber = ScheduleOrderDto?.PONum;
|
||||
scheduleOrderDetailDto.RecipientCode = ScheduleOrderDto?.RecipientCode;
|
||||
scheduleOrderDetailDto.RecipientName = ScheduleOrderDto?.RecipientName;
|
||||
scheduleOrderDetailDto.PurchaserName = ScheduleOrderDto?.PurchaserCode;
|
||||
}
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
private void OnRowDataBound(RowDataBoundEventArgs<ScheduleOrderDetailDetailDto> args)
|
||||
|
||||
Reference in New Issue
Block a user