This commit is contained in:
Loretta 2026-01-06 15:13:47 +01:00
commit bba26c42da
9 changed files with 228 additions and 220 deletions

View File

@ -92,8 +92,7 @@ public class OrderItemDto : MgOrderItemDto<ProductDto>, IOrderItemDto
public double AverageWeightDifference => IsMeasurable ? double.Round(ProductDto!.AverageWeight - AverageWeight, 1) : 0;
[NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
public bool AverageWeightIsValid => !IsMeasurable ||
(ProductDto!.AverageWeight > 0 && ((AverageWeightDifference / ProductDto!.AverageWeight) * 100) < ProductDto!.AverageWeightTreshold);
public bool AverageWeightIsValid => !IsMeasurable || (ProductDto!.AverageWeight > 0 && Math.Abs((AverageWeightDifference / ProductDto!.AverageWeight) * 100) < ProductDto!.AverageWeightTreshold);
[NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
public bool IsAudited => OrderItemPallets.Count > 0 && OrderItemPallets.All(oip => oip.IsAudited);

View File

@ -11,7 +11,7 @@ public static class FruitBankConstClient
//public static string BaseUrl = "https://localhost:44372"; //FrutiBank nop
//public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop
#if RELEASE
// public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop
//public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop
#endif
//public static string BaseUrl = "http://localhost:59579"; //FrutiBank nop

View File

@ -17,79 +17,80 @@
@inject FruitBankSignalRClient FruitBankSignalRClient
<MgGridWithInfoPanel ShowInfoPanel="@IsMasterGrid">
<GridContent>
<GridShippingItemBase @ref="Grid" ParentDataItem="ParentDataItem" DataSource="ShippingItems" AutoSaveLayoutName="GridShippingItem"
SignalRClient="FruitBankSignalRClient" Logger="_logger"
CssClass="@GridCss" ValidationEnabled="false" CustomizeElement="Grid_CustomizeElement"
OnGridFocusedRowChanged="Grid_FocusedRowChanged">
<Columns>
<DxGridDataColumn FieldName="Id" Caption="oiId" Width="125" SortIndex="0" SortOrder="GridColumnSortOrder.Descending" ReadOnly="true" />
<DxGridDataColumn FieldName="ShippingDocumentId" Caption="ShippingDocument"
Visible="@(!ParentDataItemIsShippingDocument)" ReadOnly="@(ParentDataItemIsShippingDocument)">
<EditSettings>
<DxComboBoxSettings Data="ShippingDocuments"
ValueFieldName="Id"
TextFieldName="@nameof(ShippingDocument.PdfFileName)"
DropDownBodyCssClass="dd-body-class"
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
<Columns>
<DxListEditorColumn FieldName="@nameof(ShippingDocument.Id)" />
<DxListEditorColumn FieldName="@nameof(ShippingDocument.DocumentIdNumber)" />
<DxListEditorColumn FieldName="@nameof(ShippingDocument.PdfFileName)" />
<DxListEditorColumn FieldName="@("Partner.Name")" />
</Columns>
</DxComboBoxSettings>
</EditSettings>
</DxGridDataColumn>
<GridContent>
<GridShippingItemBase @ref="Grid" ParentDataItem="ParentDataItem" DataSource="ShippingItems" AutoSaveLayoutName="GridShippingItem"
SignalRClient="FruitBankSignalRClient" Logger="_logger"
CssClass="@GridCss" ValidationEnabled="false" CustomizeElement="Grid_CustomizeElement"
OnGridFocusedRowChanged="Grid_FocusedRowChanged">
<Columns>
<DxGridDataColumn FieldName="Id" Caption="oiId" Width="125" SortIndex="0" SortOrder="GridColumnSortOrder.Descending" ReadOnly="true" />
<DxGridDataColumn FieldName="ShippingDocumentId" Caption="ShippingDocument"
Visible="@(!ParentDataItemIsShippingDocument)" ReadOnly="@(ParentDataItemIsShippingDocument)">
<EditSettings>
<DxComboBoxSettings Data="ShippingDocuments"
ValueFieldName="Id"
TextFieldName="@nameof(ShippingDocument.PdfFileName)"
DropDownBodyCssClass="dd-body-class"
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
<Columns>
<DxListEditorColumn FieldName="@nameof(ShippingDocument.Id)" />
<DxListEditorColumn FieldName="@nameof(ShippingDocument.DocumentIdNumber)" />
<DxListEditorColumn FieldName="@nameof(ShippingDocument.PdfFileName)" />
<DxListEditorColumn FieldName="@("Partner.Name")" />
</Columns>
</DxComboBoxSettings>
</EditSettings>
</DxGridDataColumn>
<DxGridDataColumn FieldName="@("ShippingDocument.Partner.Name")" Caption="Patner" Width="125" ReadOnly="true" Visible="@(!ParentDataItemIsShippingDocument)" />
<DxGridDataColumn FieldName="@("ShippingDocument.Partner.Name")" Caption="Patner" Width="125" ReadOnly="true" Visible="@(!ParentDataItemIsShippingDocument)" />
<DxGridDataColumn FieldName="ProductId" Caption="Product">
<EditSettings>
<DxComboBoxSettings Data="ProductDtos"
ValueFieldName="Id"
TextFieldName="Name"
DropDownBodyCssClass="dd-body-class"
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
<Columns>
<DxListEditorColumn FieldName="@nameof(ProductDto.Id)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.Name)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.AvailableQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.StockQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.IncomingQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.NetWeight)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.IsMeasurable)" />
</Columns>
</DxComboBoxSettings>
</EditSettings>
</DxGridDataColumn>
<DxGridDataColumn FieldName="ProductId" Caption="Product">
<EditSettings>
<DxComboBoxSettings Data="ProductDtos"
ValueFieldName="Id"
TextFieldName="Name"
DropDownBodyCssClass="dd-body-class"
ListRenderMode="ListRenderMode.Entire"
SearchMode="ListSearchMode.AutoSearch"
SearchFilterCondition="ListSearchFilterCondition.Contains"
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto">
<Columns>
<DxListEditorColumn FieldName="@nameof(ProductDto.Id)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.Name)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.AvailableQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.StockQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.IncomingQuantity)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.NetWeight)" />
<DxListEditorColumn FieldName="@nameof(ProductDto.IsMeasurable)" />
</Columns>
</DxComboBoxSettings>
</EditSettings>
</DxGridDataColumn>
<DxGridDataColumn FieldName="NameOnDocument" MinWidth="120" Caption="Name(OnDoc)" />
<DxGridDataColumn FieldName="Name" MinWidth="120" Caption="Name" Visible="false" />
<DxGridDataColumn FieldName="PalletsOnDocument" Caption="Raklap(OnDoc)" />
<DxGridDataColumn FieldName="QuantityOnDocument" Caption="Mennyiség(OnDoc)" />
<DxGridDataColumn FieldName="NetWeightOnDocument" Caption="Net.súly(OnDoc)" />
<DxGridDataColumn FieldName="GrossWeightOnDocument" Caption="Br.súly(OnDoc)" />
<DxGridDataColumn FieldName="MeasuringCount" Caption="Mérések száma" />
<DxGridDataColumn FieldName="NameOnDocument" MinWidth="120" Caption="Name(OnDoc)" />
<DxGridDataColumn FieldName="Name" MinWidth="120" Caption="Name" Visible="false" />
<DxGridDataColumn FieldName="PalletsOnDocument" Caption="Raklap(OnDoc)" />
<DxGridDataColumn FieldName="QuantityOnDocument" Caption="Mennyiség(OnDoc)" />
<DxGridDataColumn FieldName="NetWeightOnDocument" Caption="Net.súly(OnDoc)" />
<DxGridDataColumn FieldName="GrossWeightOnDocument" Caption="Br.súly(OnDoc)" />
<DxGridDataColumn FieldName="MeasuringCount" Caption="Mérések száma" />
<DxGridDataColumn FieldName="MeasuredQuantity" Name="MeasuredQuantity" Caption="Mért mennyiség" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasuredNetWeight" Name="MeasuredNetWeight" Caption="Mért net.súly(kg)" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasuredGrossWeight" Name="MeasuredGrossWeight" Caption="Mért br.súly(kg)" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasuredQuantity" Name="MeasuredQuantity" Caption="Mért mennyiség" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasuredNetWeight" Name="MeasuredNetWeight" Caption="Mért net.súly(kg)" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasuredGrossWeight" Name="MeasuredGrossWeight" Caption="Mért br.súly(kg)" ReadOnly="true" />
<DxGridDataColumn FieldName="IsMeasurable" ReadOnly="true" />
<DxGridDataColumn FieldName="IsMeasured" ReadOnly="true" />
<DxGridDataColumn FieldName="IsMeasurable" ReadOnly="true" />
<DxGridDataColumn FieldName="IsMeasured" ReadOnly="true" />
<DxGridDataColumn FieldName="UnitPriceOnDocument" Caption="Bekerülési ár" />
<DxGridDataColumn FieldName="Created" ReadOnly="true" />
<DxGridDataColumn FieldName="Modified" ReadOnly="true" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
@* <DataColumnCellDisplayTemplate>
<DxGridDataColumn FieldName="Created" ReadOnly="true" Visible="false" />
<DxGridDataColumn FieldName="Modified" ReadOnly="true" Visible="false" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
@* <DataColumnCellDisplayTemplate>
@{
if (context.DataColumn.FieldName == nameof(ShippingItem.ShippingDocumentId))
{
@ -103,185 +104,185 @@
}
</DataColumnCellDisplayTemplate>
*@ <DetailRowTemplate>
@{
var shippingItemPallets = ((ShippingItem)context.DataItem).ShippingItemPallets;
<GridShippingItemPallets ShippingItemPallets="shippingItemPallets" IsMasterGrid="false"></GridShippingItemPallets>
}
</DetailRowTemplate>
<ToolbarTemplate>
@if (IsMasterGrid)
{
<MgGridToolbarTemplate Grid="Grid" @ref="toolbar" OnReloadDataClick="() => ReloadDataFromDb(true)" />
}
</ToolbarTemplate>
<GroupSummary>
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredQuantity"
FooterColumnName="Quantity" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredGrossWeight"
FooterColumnName="GrossWeight" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredNetWeight"
FooterColumnName="NetWeight" />
</GroupSummary>
</GridShippingItemBase>
</GridContent>
@{
var shippingItemPallets = ((ShippingItem)context.DataItem).ShippingItemPallets;
<GridShippingItemPallets ShippingItemPallets="shippingItemPallets" IsMasterGrid="false"></GridShippingItemPallets>
}
</DetailRowTemplate>
<ToolbarTemplate>
@if (IsMasterGrid)
{
<MgGridToolbarTemplate Grid="Grid" @ref="toolbar" OnReloadDataClick="() => ReloadDataFromDb(true)" />
}
</ToolbarTemplate>
<GroupSummary>
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredQuantity"
FooterColumnName="Quantity" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredGrossWeight"
FooterColumnName="GrossWeight" />
<DxGridSummaryItem SummaryType="GridSummaryItemType.Sum"
FieldName="MeasuredNetWeight"
FooterColumnName="NetWeight" />
</GroupSummary>
</GridShippingItemBase>
</GridContent>
</MgGridWithInfoPanel>
@code {
//[Inject] public required ObjectLock ObjectLock { get; set; }
[Inject] public required DatabaseClient Database { get; set; }
//[Inject] public required ObjectLock ObjectLock { get; set; }
[Inject] public required DatabaseClient Database { get; set; }
//[Parameter] public int GetAllMessageTag { get; set; }
[Parameter] public IId<int>? ParentDataItem { get; set; }
//[Parameter] public int GetAllMessageTag { get; set; }
[Parameter] public IId<int>? ParentDataItem { get; set; }
[Parameter] public IEnumerable<ProductDto>? ProductDtos { get; set; }
[Parameter] public AcObservableCollection<ShippingItem>? ShippingItems { get; set; }
[Parameter] public AcObservableCollection<ShippingDocument>? ShippingDocuments { get; set; }
[Parameter] public IEnumerable<ProductDto>? ProductDtos { get; set; }
[Parameter] public AcObservableCollection<ShippingItem>? ShippingItems { get; set; }
[Parameter] public AcObservableCollection<ShippingDocument>? ShippingDocuments { get; set; }
public bool IsMasterGrid => ParentDataItem == null;
public bool ParentDataItemIsShippingDocument => (ParentDataItem is ShippingDocument);
string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty;
public bool IsMasterGrid => ParentDataItem == null;
public bool ParentDataItemIsShippingDocument => (ParentDataItem is ShippingDocument);
string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty;
MgGridToolbarTemplate toolbar;
MgGridToolbarTemplate toolbar;
const string ExportFileName = "ExportResult";
string _localStorageKey = "GridShippingItem_";
const string ExportFileName = "ExportResult";
string _localStorageKey = "GridShippingItem_";
string GridSearchText = "";
bool EditItemsEnabled { get; set; } = true;
int FocusedRowVisibleIndex { get; set; }
string GridSearchText = "";
bool EditItemsEnabled { get; set; } = true;
int FocusedRowVisibleIndex { get; set; }
public GridShippingItemBase Grid { get; set; }
private LoggerClient<GridShippingItemTemplate> _logger;
public GridShippingItemBase Grid { get; set; }
private LoggerClient<GridShippingItemTemplate> _logger;
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<GridShippingItemTemplate>(LogWriters.ToArray());
protected override async Task OnInitializedAsync()
{
_logger = new LoggerClient<GridShippingItemTemplate>(LogWriters.ToArray());
await ReloadDataFromDb(false);
}
await ReloadDataFromDb(false);
}
public async Task ReloadDataFromDb(bool forceReload = false)
{
//using (await ObjectLock.GetSemaphore<ProductDto>().UseWaitAsync())
{
if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = await Database.ProductDtoTable.LoadDataAsync(!forceReload);
}
public async Task ReloadDataFromDb(bool forceReload = false)
{
//using (await ObjectLock.GetSemaphore<ProductDto>().UseWaitAsync())
{
if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = await Database.ProductDtoTable.LoadDataAsync(!forceReload);
}
if (!IsMasterGrid)
{
if (ShippingDocuments == null && ParentDataItem is ShippingDocument shippingDocumentParent) ShippingDocuments = [shippingDocumentParent];
return;
}
if (!IsMasterGrid)
{
if (ShippingDocuments == null && ParentDataItem is ShippingDocument shippingDocumentParent) ShippingDocuments = [shippingDocumentParent];
return;
}
using (await ObjectLock.GetSemaphore<ShippingDocument>().UseWaitAsync())
{
if (ShippingDocuments == null)
{
ShippingDocuments = new AcObservableCollection<ShippingDocument>(await FruitBankSignalRClient.GetShippingDocuments() ?? []);
}
else if (ShippingDocuments.Count == 0 || forceReload)
{
ShippingDocuments.Replace(await FruitBankSignalRClient.GetShippingDocuments() ?? []);
}
}
using (await ObjectLock.GetSemaphore<ShippingDocument>().UseWaitAsync())
{
if (ShippingDocuments == null)
{
ShippingDocuments = new AcObservableCollection<ShippingDocument>(await FruitBankSignalRClient.GetShippingDocuments() ?? []);
}
else if (ShippingDocuments.Count == 0 || forceReload)
{
ShippingDocuments.Replace(await FruitBankSignalRClient.GetShippingDocuments() ?? []);
}
}
if (Grid == null) return;
if (Grid == null) return;
using (await ObjectLock.GetSemaphore<ShippingItem>().UseWaitAsync())
if (forceReload) await Grid.ReloadDataSourceAsync();
using (await ObjectLock.GetSemaphore<ShippingItem>().UseWaitAsync())
if (forceReload) await Grid.ReloadDataSourceAsync();
if (forceReload) Grid.Reload();
}
if (forceReload) Grid.Reload();
}
static void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
{
if (e.ElementType != GridElementType.DataCell) return;
static void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
{
if (e.ElementType != GridElementType.DataCell) return;
if (e.Column.Name != nameof(ShippingItem.MeasuredNetWeight) &&
e.Column.Name != nameof(ShippingItem.MeasuredGrossWeight) &&
e.Column.Name != nameof(ShippingItem.MeasuredQuantity)) return;
if (e.Column.Name != nameof(ShippingItem.MeasuredNetWeight) &&
e.Column.Name != nameof(ShippingItem.MeasuredGrossWeight) &&
e.Column.Name != nameof(ShippingItem.MeasuredQuantity)) return;
var isMeasured = (bool)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.IsMeasured));
if (!isMeasured) return;
var isMeasured = (bool)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.IsMeasured));
if (!isMeasured) return;
switch (e.Column.Name)
{
case nameof(ShippingItem.MeasuredNetWeight) or nameof(ShippingItem.MeasuredGrossWeight):
{
var isMeasurable = (bool)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.IsMeasurable));
if (!isMeasurable) return;
switch (e.Column.Name)
{
case nameof(ShippingItem.MeasuredNetWeight) or nameof(ShippingItem.MeasuredGrossWeight):
{
var isMeasurable = (bool)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.IsMeasurable));
if (!isMeasurable) return;
var valueOnDocument = 0d;
var measuredValue = 0d;
var valueOnDocument = 0d;
var measuredValue = 0d;
if (e.Column.Name == nameof(ShippingItem.MeasuredGrossWeight))
{
valueOnDocument = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.GrossWeightOnDocument));
measuredValue = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredGrossWeight));
}
else
{
valueOnDocument = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.NetWeightOnDocument));
measuredValue = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredNetWeight));
}
if (e.Column.Name == nameof(ShippingItem.MeasuredGrossWeight))
{
valueOnDocument = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.GrossWeightOnDocument));
measuredValue = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredGrossWeight));
}
else
{
valueOnDocument = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.NetWeightOnDocument));
measuredValue = (double)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredNetWeight));
}
if (valueOnDocument > 0 && valueOnDocument > measuredValue) e.CssClass = "text-danger";
//else if (valueOnDocument <= measuredValue) e.CssClass = "text-success";
if (valueOnDocument > 0 && valueOnDocument > measuredValue) e.CssClass = "text-danger";
else if (valueOnDocument > 0 && valueOnDocument < measuredValue) e.CssClass = "text-success";
break;
}
case nameof(ShippingItem.MeasuredQuantity):
{
var quantityOnDocument = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.QuantityOnDocument));
var measuredQuantity = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredQuantity));
break;
}
case nameof(ShippingItem.MeasuredQuantity):
{
var quantityOnDocument = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.QuantityOnDocument));
var measuredQuantity = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredQuantity));
if (quantityOnDocument > 0 && quantityOnDocument > measuredQuantity) e.CssClass = "text-danger";
//else if (quantityOnDocument <= measuredQuantity) e.CssClass = "text-success";
break;
}
}
}
if (quantityOnDocument > 0 && quantityOnDocument > measuredQuantity) e.CssClass = "text-danger";
//else if (quantityOnDocument <= measuredQuantity) e.CssClass = "text-success";
break;
}
}
}
async Task Grid_FocusedRowChanged(GridFocusedRowChangedEventArgs args)
{
if ((args.Grid.IsEditing() || args.Grid.IsEditingNewRow()) && (args.DataItem as IId<int>).Id > 0)
await args.Grid.SaveChangesAsync();
async Task Grid_FocusedRowChanged(GridFocusedRowChangedEventArgs args)
{
if ((args.Grid.IsEditing() || args.Grid.IsEditingNewRow()) && (args.DataItem as IId<int>).Id > 0)
await args.Grid.SaveChangesAsync();
if (toolbar != null)
{
var shippingItem = (args.DataItem as ShippingItem)!;
toolbar.EnableDelete = shippingItem.MeasuringStatus == MeasuringStatus.NotStarted;
if (toolbar != null)
{
var shippingItem = (args.DataItem as ShippingItem)!;
toolbar.EnableDelete = shippingItem.MeasuringStatus == MeasuringStatus.NotStarted;
}
}
FocusedRowVisibleIndex = args.VisibleIndex;
EditItemsEnabled = true;
}
FocusedRowVisibleIndex = args.VisibleIndex;
EditItemsEnabled = true;
}
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{
}
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{
}
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
{
ShippingItem? resultShippingItem = null;
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 (!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);
// if (resultShippingItem != null)
// ShippingItems!.UpdateCollection(resultShippingItem, false);
EditItemsEnabled = true;
}
EditItemsEnabled = true;
}
}

View File

@ -37,7 +37,7 @@
</NavLink>
</div>
@if (LoggedInModel.IsDeveloper)
@if (LoggedInModel.IsAdministrator)
{
<div class="nav-item px-3">
<NavLink class="nav-link" href="StockTaking" title="Leltározás">

View File

@ -7,7 +7,7 @@
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
<RunAOTCompilation>true</RunAOTCompilation>
<RunAOTCompilation>false</RunAOTCompilation>
<WasmStripILAfterAOT>true</WasmStripILAfterAOT>
<OverrideHtmlAssetPlaceholders>true</OverrideHtmlAssetPlaceholders>
</PropertyGroup>

View File

@ -6,7 +6,7 @@
<ImplicitUsings>enable</ImplicitUsings>
<!--<PublishTrimmed>true</PublishTrimmed>-->
<RunAOTCompilation>true</RunAOTCompilation>
<RunAOTCompilation>false</RunAOTCompilation>
<WasmStripILAfterAOT>true</WasmStripILAfterAOT>
<OverrideHtmlAssetPlaceholders>true</OverrideHtmlAssetPlaceholders>
</PropertyGroup>

View File

@ -22,7 +22,7 @@
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
<ApplicationVersion>1</ApplicationVersion>
<RunAOTCompilation>true</RunAOTCompilation>
<RunAOTCompilation>false</RunAOTCompilation>
<WasmStripILAfterAOT>true</WasmStripILAfterAOT>
<OverrideHtmlAssetPlaceholders>true</OverrideHtmlAssetPlaceholders>
@ -42,6 +42,7 @@
<GenerateTestArtifacts>True</GenerateTestArtifacts>
<HoursBetweenUpdateChecks>24</HoursBetweenUpdateChecks>
<WindowsPackageType>MSIX</WindowsPackageType>
<AndroidSigningKeyStore>fruitbank.keystore</AndroidSigningKeyStore>
</PropertyGroup>
@ -62,12 +63,19 @@
<AndroidUseAapt2>True</AndroidUseAapt2>
<AndroidCreatePackagePerAbi>False</AndroidCreatePackagePerAbi>
<DebugSymbols>True</DebugSymbols>
<AndroidKeyStore>true</AndroidKeyStore>
<AndroidSigningKeyStore>fruitbank.keystore</AndroidSigningKeyStore>
<AndroidSigningKeyAlias>fruitbank</AndroidSigningKeyAlias>
<AndroidSigningKeyPass>Asdasd123456</AndroidSigningKeyPass>
<AndroidSigningStorePass>Asdasd123456</AndroidSigningStorePass>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net10.0-android|AnyCPU'">
<AndroidCreatePackagePerAbi>False</AndroidCreatePackagePerAbi>
<AndroidUseAapt2>True</AndroidUseAapt2>
<AndroidPackageFormat>apk</AndroidPackageFormat>
<EmbedAssembliesIntoApk>True</EmbedAssembliesIntoApk>
<AndroidKeyStore>True</AndroidKeyStore>
</PropertyGroup>
<ItemGroup>

View File

@ -6,7 +6,7 @@
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.0.0" />
<Identity Name="maui-package-name-placeholder" Publisher="CN=User Name" Version="0.0.1.0" />
<mp:PhoneIdentity PhoneProductId="10836226-17FE-45AD-8C96-8DB8D4D78222" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>

Binary file not shown.