FruitBankHybridApp/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor

108 lines
4.1 KiB
Plaintext

@using FruitBank.Common.Dtos
@using FruitBankHybrid.Shared.Services.SignalRs
@inject FruitBankSignalRClient FruitBankSignalRClient
<MgGridBase Data="OrderDtos" IsMasterGrid="IsMasterGrid"
ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
AutoExpandAllGroupRows="false"
ColumnResizeMode="GridColumnResizeMode.NextColumn" VirtualScrollingEnabled="IsMasterGrid"
FilterMenuButtonDisplayMode="@(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always)">
<Columns>
<DxGridDataColumn FieldName="Id" SortIndex="0" SortOrder="GridColumnSortOrder.Descending" />
<DxGridDataColumn FieldName="CustomerId" />
<DxGridDataColumn FieldName="OrderTotal" />
<DxGridDataColumn FieldName="OrderStatus" />
<DxGridDataColumn FieldName="IsMeasured" />
<DxGridDataColumn FieldName="IsMeasurable" />
<DxGridDataColumn FieldName="RevisorId" />
<DxGridDataColumn FieldName="MeasurementOwnerId" />
<DxGridDataColumn FieldName="DateOfReceipt" />
<DxGridDataColumn FieldName="CreatedOnUtc" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="110"></DxGridCommandColumn>
</Columns>
<DetailRowTemplate>
@if (IsMasterGrid)
{
var orderDto = ((OrderDto)context.DataItem);
<DxTabs ActiveTabIndexChanged="(i) => OnActiveTabChanged(i)">
<DxTabPage Text="Rendelés tételek">
<GridDetailOrderItemDto OrderItemDtos="orderDto.OrderItemDtos" IsMasterGrid="false" />
</DxTabPage>
<DxTabPage Text="Mérések">
@{
var orderItemPalletDtos = orderDto?.OrderItemDtos.SelectMany(oi => oi.OrderItemPallets).ToList() ?? [];
<GridDetailOrderItemPallets OrderItemPallets="orderItemPalletDtos" IsMasterGrid="false"/>
}
</DxTabPage>
</DxTabs>
}
</DetailRowTemplate>
@* <ToolbarTemplate>
<DxToolbar ItemRenderStyleMode="ToolbarRenderStyleMode.Plain">
<Items>
<DxToolbarItem BeginGroup="true" Alignment="ToolbarItemAlignment.Left">
<Template Context="toolbar_item_context">
<div class="d-flex flex-row align-items-center">
<DxCheckBox @bind-Checked="AutoCollapseDetailRow">
Auto Collapse Detail Rows
</DxCheckBox>
</div>
</Template>
</DxToolbarItem>
</Items>
</DxToolbar>
</ToolbarTemplate> *@
<GroupSummary>
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="Quantity"
FooterColumnName="Quantity" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="NetWeight"
FooterColumnName="NetWeight" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="PriceInclTax"
FooterColumnName="PriceInclTax" />
</GroupSummary>
</MgGridBase>
@code {
[Parameter] public bool IsMasterGrid { get; set; } = false;
//[Parameter] public OrderDto? OrderDto { get; set; }
[Parameter] public List<OrderDto>? OrderDtos { get; set; }
private int _activeTabIndex;
protected override void OnInitialized()
{
// if (OrderDto != null)
// OrderItemDtos = OrderDto.OrderItemDtos;
}
protected async Task OnActiveTabChanged(int activeTabIndex)
{
_activeTabIndex = activeTabIndex;
return;
// switch (_activeTabIndex)
// {
// case 0:
// if(ProductDtos == null)
// ProductDtos = (await FruitBankSignalRClient.GetProductDtos() ?? []); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList();
// break;
// case 1:
// if(OrderDtos == null)
// OrderDtos = (await FruitBankSignalRClient.GetAllOrderDtos() ?? []).OrderByDescending(o => o.Id).ToList(); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList();
// break;
// case 2:
// if (OrderItemDtos == null)
// OrderItemDtos = (await FruitBankSignalRClient.GetAllOrderItemDtos() ?? []).OrderByDescending(o => o.Id).ToList(); //.Where(o => o.HasMeasuringAccess(LoggedInModel.CustomerDto?.Id, LoggedInModel.IsRevisor)).OrderBy(o => o.DateOfReceipt).ToList();
// break;
// }
}
}