@using AyCode.Core.Extensions
@using FruitBank.Common.Dtos
@using FruitBank.Common.Entities
@using FruitBankHybrid.Shared.Databases
@using FruitBankHybrid.Shared.Services.SignalRs
@inject FruitBankSignalRClient FruitBankSignalRClient
@*
Contact Phone: @OrderDto.Email
*@
@* *@
@{
var shippingItemPallets = ((ShippingItem)context.DataItem).ShippingItemPallets;
}
@if (IsMasterGrid)
{
@*
*@
}
@code {
[Inject] public required DatabaseClient Database { get; set; }
[Parameter] public bool IsMasterGrid { get; set; } = false;
[Parameter] public IEnumerable? ProductDtos { get; set; }
[Parameter] public List? ShippingItems { get; set; }
[Parameter] public IEnumerable? ShippingDocuments { get; set; }
string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty;
const string ExportFileName = "ExportResult";
string _localStorageKey = "GridShippingDocument_";
string GridSearchText = "";
bool EditItemsEnabled { get; set; } = true;
int FocusedRowVisibleIndex { get; set; }
IGrid Grid { get; set; }
protected override async Task OnInitializedAsync()
{
ProductDtos ??= await Database.ProductDtoTable.LoadDataAsync(true);
//ProductDtos ??= await FruitBankSignalRClient.GetProductDtos() ?? [];
ShippingItems ??= await FruitBankSignalRClient.GetShippingItems() ?? [];
ShippingDocuments ??= await FruitBankSignalRClient.GetShippingDocuments() ?? [];
}
async Task Grid_FocusedRowChanged(GridFocusedRowChangedEventArgs args)
{
if (Grid != null && Grid.IsEditing() && !Grid.IsEditingNewRow())
await Grid.SaveChangesAsync();
FocusedRowVisibleIndex = args.VisibleIndex;
EditItemsEnabled = true;
}
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{
}
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
{
ShippingItem? resultShippingItem = null;
if (!e.IsNew)
{
resultShippingItem = await FruitBankSignalRClient.UpdateShippingItem((ShippingItem)e.EditModel);
}
else
{
resultShippingItem = await FruitBankSignalRClient.AddShippingItem((ShippingItem)e.EditModel);
EditItemsEnabled = true;
}
if (resultShippingItem != null)
ShippingItems!.UpdateCollection(resultShippingItem, false);
EditItemsEnabled = true;
}
async Task NewItem_Click()
{
EditItemsEnabled = false;
await Grid.StartEditNewRowAsync();
}
async Task EditItem_Click()
{
EditItemsEnabled = false;
await Grid.StartEditRowAsync(FocusedRowVisibleIndex);
}
void DeleteItem_Click()
{
EditItemsEnabled = false;
Grid.ShowRowDeleteConfirmation(FocusedRowVisibleIndex);
}
void ColumnChooserItem_Click(ToolbarItemClickEventArgs e)
{
Grid.ShowColumnChooser();
}
async Task ExportXlsxItem_Click()
{
await Grid.ExportToXlsxAsync(ExportFileName);
}
async Task ExportXlsItem_Click()
{
await Grid.ExportToXlsAsync(ExportFileName);
}
async Task ExportCsvItem_Click()
{
await Grid.ExportToCsvAsync(ExportFileName);
}
async Task ExportPdfItem_Click()
{
await Grid.ExportToPdfAsync(ExportFileName);
}
}