From e6306c5205b276c43233d9abca613bbb7751b12e Mon Sep 17 00:00:00 2001 From: Loretta Date: Wed, 12 Nov 2025 19:11:49 +0100 Subject: [PATCH 1/4] test fix --- FruitBankHybrid.Shared.Tests/OrderClientTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs index 6ee7a7c..300ad51 100644 --- a/FruitBankHybrid.Shared.Tests/OrderClientTests.cs +++ b/FruitBankHybrid.Shared.Tests/OrderClientTests.cs @@ -67,7 +67,7 @@ public sealed class OrderClientTests [TestMethod] public async Task GetPendingOrderDtosForMeasuring() { - var orderDtosForMeasuring = await _signalRClient.GetPendingOrderDtosForMeasuring(); + var orderDtosForMeasuring = await _signalRClient.GetPendingOrderDtosForMeasuring(9999); Assert.IsNotNull(orderDtosForMeasuring); //Assert.IsTrue(orderDtosForMeasuring.Any(x=>x.Id ==51)); From 8b9cf1ea8d3a39e0e4c3688b7b84055bd3e57e00 Mon Sep 17 00:00:00 2001 From: Loretta Date: Thu, 13 Nov 2025 19:58:45 +0100 Subject: [PATCH 2/4] StockQuantityHistoryExt, StockQuantityHistoryDto; improvements, fixes; --- .../Dtos/StockQuantityHistoryDto.cs | 42 ++++++++ .../Entities/StockQuantityHistoryExt.cs | 35 +++++++ FruitBank.Common/FruitBankConstClient.cs | 3 + .../IFruitBankDataControllerCommon.cs | 3 + .../Interfaces/IStockQuantityHistoryDto.cs | 21 ++++ FruitBank.Common/SignalRs/SignalRTags.cs | 3 + .../Components/GridDetailOrderDto.razor | 7 +- .../Components/GridProductDtoTemplate.razor | 16 +++- .../Components/GridShippingDocument.razor | 59 +++++------- .../Components/GridShippingItemTemplate.razor | 10 +- .../Components/Grids/FruitBankGrid.cs | 8 +- .../Products/GridStockQuantityHistoryDto.cs | 36 +++++++ .../GridStockQuantityHistoryDtoTemplate.razor | 95 +++++++++++++++++++ .../Grids/ShippingItems/GridShippingItem.cs | 4 +- .../Toolbars/FruitBankToolbarTemplate.razor | 15 ++- .../SignalRs/FruitBankSignalRClient.cs | 11 ++- 16 files changed, 317 insertions(+), 51 deletions(-) create mode 100644 FruitBank.Common/Dtos/StockQuantityHistoryDto.cs create mode 100644 FruitBank.Common/Entities/StockQuantityHistoryExt.cs create mode 100644 FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs create mode 100644 FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDto.cs create mode 100644 FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor diff --git a/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs new file mode 100644 index 0000000..90f039f --- /dev/null +++ b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs @@ -0,0 +1,42 @@ +using FruitBank.Common.Interfaces; +using LinqToDB.Mapping; +using Mango.Nop.Core.Dtos; +using Mango.Nop.Core.Entities; +using Mango.Nop.Core.Interfaces; +using Newtonsoft.Json; +using Nop.Core.Domain.Catalog; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FruitBank.Common.Dtos +{ + public class StockQuantityHistoryDto : MgStockQuantityHistoryDto, IStockQuantityHistoryDto + { + [NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] + public int? StockQuantityHistoryId + { + get => StockQuantityHistoryExt?.StockQuantityHistoryId; + set => StockQuantityHistoryExt!.StockQuantityHistoryId = value!.Value; + } + + [NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] + public double? NetWeightAdjustment + { + get => StockQuantityHistoryExt?.NetWeightAdjustment; + set => StockQuantityHistoryExt!.NetWeightAdjustment = value; + } + + [NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] + public double? NetWeight + { + get => StockQuantityHistoryExt?.NetWeight; + set => StockQuantityHistoryExt!.NetWeight = value; + } + + [Association(ThisKey = nameof(Id), OtherKey = nameof(StockQuantityHistoryExt.StockQuantityHistoryId), CanBeNull = true)] + public StockQuantityHistoryExt? StockQuantityHistoryExt { get; set; } + } +} diff --git a/FruitBank.Common/Entities/StockQuantityHistoryExt.cs b/FruitBank.Common/Entities/StockQuantityHistoryExt.cs new file mode 100644 index 0000000..c416e6c --- /dev/null +++ b/FruitBank.Common/Entities/StockQuantityHistoryExt.cs @@ -0,0 +1,35 @@ +using AyCode.Interfaces.Entities; +using AyCode.Interfaces.TimeStampInfo; +using FruitBank.Common; +using FruitBank.Common.Interfaces; +using LinqToDB; +using LinqToDB.Mapping; +using Nop.Core.Domain.Catalog; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Mango.Nop.Core.Entities +{ + public interface IStockQuantityHistoryExt : IEntityInt + { + public int StockQuantityHistoryId { get; set; } + public double? NetWeightAdjustment { get; set; } + public double? NetWeight { get; set; } + } + + [Table(Name = FruitBankConstClient.StockQuantityHistoryExtDbTableName)] + [System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.StockQuantityHistoryExtDbTableName)] + public class StockQuantityHistoryExt : MgEntityBase, IStockQuantityHistoryExt + { + public int StockQuantityHistoryId { get; set; } + + [Column(DataType = DataType.DecFloat, CanBeNull = true)] + public double? NetWeightAdjustment { get; set; } + + [Column(DataType = DataType.DecFloat, CanBeNull = true)] + public double? NetWeight { get; set; } + } +} diff --git a/FruitBank.Common/FruitBankConstClient.cs b/FruitBank.Common/FruitBankConstClient.cs index 25d7b36..ebf2096 100644 --- a/FruitBank.Common/FruitBankConstClient.cs +++ b/FruitBank.Common/FruitBankConstClient.cs @@ -35,6 +35,9 @@ public static class FruitBankConstClient public const string ShippingItemPalletDbTableName = "fbShippingItemPallet"; public const string ShippingDocumentDbTableName = "fbShippingDocument"; public const string ShippingDocumentToFilesDbTableName = "fbShippingDocumentToFiles"; + + public const string StockQuantityHistoryExtDbTableName = "fbStockQuantityHistoryExt"; + //public static Guid[] DevAdminIds = new Guid[2] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7") }; //public static Guid[] SysAdmins = new Guid[3] diff --git a/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs b/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs index aaf727f..7786f2b 100644 --- a/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs +++ b/FruitBank.Common/Interfaces/IFruitBankDataControllerCommon.cs @@ -56,6 +56,9 @@ public interface IFruitBankDataControllerCommon //public Task?> GetAllMeasuringProductDtos(); public Task GetProductDtoById(int productId); + public Task?> GetStockQuantityHistoryDtos(); + public Task?> GetStockQuantityHistoryDtosByProductId(int productId); + #endregion Product Task LoginMeasuringUser(MgLoginModelRequest loginModelRequest); diff --git a/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs b/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs new file mode 100644 index 0000000..0befd91 --- /dev/null +++ b/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs @@ -0,0 +1,21 @@ +using FruitBank.Common.Dtos; +using Mango.Nop.Core.Dtos; +using Mango.Nop.Core.Entities; +using Mango.Nop.Core.Interfaces; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FruitBank.Common.Interfaces +{ + public interface IStockQuantityHistoryDto : IMgTStockQuantityHistoryDto//, IStockQuantityHistoryExt + { + public int? StockQuantityHistoryId { get; set; } + public double? NetWeightAdjustment { get; set; } + public double? NetWeight { get; set; } + + public StockQuantityHistoryExt? StockQuantityHistoryExt { get; set; } + } +} diff --git a/FruitBank.Common/SignalRs/SignalRTags.cs b/FruitBank.Common/SignalRs/SignalRTags.cs index d926fdb..7d2680d 100644 --- a/FruitBank.Common/SignalRs/SignalRTags.cs +++ b/FruitBank.Common/SignalRs/SignalRTags.cs @@ -72,6 +72,9 @@ public class SignalRTags : AcSignalRTags public const int AddOrUpdateMeasuredOrderItemPallet = 137; public const int AddOrUpdateMeasuredOrderItemPallets = 138; + public const int GetStockQuantityHistoryDtos = 150; + public const int GetStockQuantityHistoryDtosByProductId = 151; + public const int AuthenticateUser = 195; public const int RefreshToken = 200; diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor index 858bbb6..ee22bad 100644 --- a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor +++ b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor @@ -47,7 +47,12 @@ } - + + @{ + // var orderItemPalletDtos = orderDto?.OrderItemDtos.SelectMany(oi => oi.OrderItemPallets).ToList() ?? []; + // + } + } diff --git a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor index df82299..639a476 100644 --- a/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridProductDtoTemplate.razor @@ -3,6 +3,7 @@ @using DevExpress.Internal.About @using FruitBank.Common.Dtos @using FruitBank.Common.Models +@using FruitBankHybrid.Shared.Components.Grids.Products @using FruitBankHybrid.Shared.Components.Toolbars @using FruitBankHybrid.Shared.Databases @using FruitBankHybrid.Shared.Services.SignalRs @@ -30,7 +31,7 @@ { var productId = ((ProductDto)context.DataItem).Id; - + @{ //GetOrderDtosFromDbAsync(productId).Forget(); @@ -44,7 +45,15 @@ //var orderItemDtos = _orderItemDtos?.Where(oi => oi.ProductId == productId).ToList() ?? []; } + + + @{ + //GetOrderItemDtosFromDbAsync(productId).Forget(); + //var orderItemDtos = _orderItemDtos?.Where(oi => oi.ProductId == productId).ToList() ?? []; + var contextIds = new[] { (object)((ProductDto)(context.DataItem)).Id }; + + } } @@ -52,7 +61,7 @@ @if (IsMasterGrid) { - + } @@ -70,6 +79,7 @@ private readonly Dictionary> _orderDtosByProductId = new(); private readonly Dictionary> _orderItemDtosByProductId = new(); + public GridProductDto Grid { get; set; } [Parameter] public bool IsMasterGrid { get; set; } = false; @@ -147,7 +157,7 @@ protected async Task OnActiveTabChanged(int activeTabIndex, int productId) { _activeTabIndex = activeTabIndex; - + switch (_activeTabIndex) { case 0: diff --git a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor index 367a64e..be2f607 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor @@ -2,6 +2,7 @@ @using FruitBank.Common.Dtos @using FruitBank.Common.Entities @using FruitBankHybrid.Shared.Components.FileUploads +@using FruitBankHybrid.Shared.Components.Toolbars @using FruitBankHybrid.Shared.Databases @using FruitBankHybrid.Shared.Services.SignalRs @using System.Text @@ -19,13 +20,13 @@ + ValueFieldName="Id" + TextFieldName="Name" + DropDownBodyCssClass="dd-body-class" + ListRenderMode="ListRenderMode.Entire" + SearchMode="ListSearchMode.AutoSearch" + SearchFilterCondition="ListSearchFilterCondition.Contains" + ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto"> @@ -44,11 +45,11 @@ SearchMode="ListSearchMode.AutoSearch" SearchFilterCondition="ListSearchFilterCondition.Contains" ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto"> - + - + - + @@ -58,11 +59,11 @@ - + - - + + @@ -87,31 +88,20 @@ @if (IsMasterGrid) { - - - - - - - - - - - - - - - + + @* *@ - + + } diff --git a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor index f35ce9d..9ec9062 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor @@ -18,8 +18,8 @@ ValidationEnabled="false" EditMode="GridEditMode.EditRow" EditModelSaving="Grid_EditModelSaving" FocusedRowChanged="Grid_FocusedRowChanged" *@ - @* - + @* *@ @code { @@ -130,13 +130,13 @@ FocusedRowChanged="Grid_FocusedRowChanged" *@ string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty; const string ExportFileName = "ExportResult"; - string _localStorageKey = "GridShippingDocument_"; + string _localStorageKey = "GridShippingItem_"; string GridSearchText = ""; bool EditItemsEnabled { get; set; } = true; int FocusedRowVisibleIndex { get; set; } - public GridShippingItemBase Grid { get; set; } + public GridShippingItem Grid { get; set; } private LoggerClient _logger; protected override async Task OnInitializedAsync() diff --git a/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs b/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs index cbb8b00..5724019 100644 --- a/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs +++ b/FruitBankHybrid.Shared/Components/Grids/FruitBankGrid.cs @@ -105,7 +105,7 @@ public class FruitBankListGridBase : MgGridBase : MgGridBase LoadLayoutFromLocalStorageAsync(string localStorageKey) diff --git a/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDto.cs b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDto.cs new file mode 100644 index 0000000..31ea073 --- /dev/null +++ b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDto.cs @@ -0,0 +1,36 @@ +using AyCode.Core.Interfaces; +using DevExpress.Blazor; +using FruitBank.Common.Dtos; +using FruitBank.Common.Entities; +using FruitBank.Common.SignalRs; +using FruitBankHybrid.Shared.Pages; +using Microsoft.AspNetCore.Components; + +namespace FruitBankHybrid.Shared.Components.Grids.ShippingItems; + +public class GridStockQuantityHistoryDto : FruitBankListGridBase, IGrid +{ + public GridStockQuantityHistoryDto() : base() + { + if (IsMasterGrid) GetAllMessageTag = SignalRTags.GetStockQuantityHistoryDtos; + else GetAllMessageTag = SignalRTags.GetStockQuantityHistoryDtosByProductId; + + //AddMessageTag = SignalRTags.AddShippingItem; + //UpdateMessageTag = SignalRTags.UpdateShippingItem; + //RemoveMessageTag = SignalRTags.; + } + + protected override Task SetParametersAsyncCore(ParameterView parameters) + { + if (!IsFirstInitializeParameters) + { + //ShowFilterRow = true; + //ShowGroupPanel = true; + //AllowSort = false; + + //etc... + } + + return base.SetParametersAsyncCore(parameters); + } +} \ No newline at end of file diff --git a/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor new file mode 100644 index 0000000..926fc21 --- /dev/null +++ b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor @@ -0,0 +1,95 @@ +@using AyCode.Core.Loggers; +@using AyCode.Core.Extensions +@using AyCode.Core.Helpers +@using AyCode.Utils.Extensions +@using FruitBank.Common.Dtos +@using FruitBank.Common.Entities +@using FruitBankHybrid.Shared.Components.Grids.ShippingItems +@using FruitBankHybrid.Shared.Components.Toolbars +@using FruitBankHybrid.Shared.Databases +@using FruitBankHybrid.Shared.Services.Loggers; +@using FruitBankHybrid.Shared.Services.SignalRs + +@inject IEnumerable LogWriters +@inject FruitBankSignalRClient FruitBankSignalRClient + + + + + + + + + + + + + + + + + + + + + @if (IsMasterGrid) + { + + } + + @* + + + + *@ + + +@code { + [Inject] public required DatabaseClient Database { get; set; } + + [Parameter] public object[]? ContextIds { get; set; } + [Parameter] public bool IsMasterGrid { get; set; } = false; + + [Parameter] public IEnumerable? ProductDtos { get; set; } + [Parameter] public List? StockQuantityHistoryDtos { get; set; } + + string GridCss => !IsMasterGrid ? "hide-toolbar" : string.Empty; + + const string ExportFileName = "ExportResult"; + + public GridStockQuantityHistoryDto Grid { get; set; } + private LoggerClient _logger; + + protected override async Task OnInitializedAsync() + { + _logger = new LoggerClient(LogWriters.ToArray()); + + await ReloadDataFromDb(false); + } + + public async Task ReloadDataFromDb(bool forceReload = false) + { + if (!IsMasterGrid) return; + + using (await ObjectLock.GetSemaphore().UseWaitAsync()) + { + if (ProductDtos == null || !ProductDtos.Any() || forceReload) ProductDtos = await Database.ProductDtoTable.LoadDataAsync(!forceReload); + } + + if (Grid == null || !forceReload) return; + + using (await ObjectLock.GetSemaphore().UseWaitAsync()) + if (forceReload) await Grid.ReloadDataSourceAsync(); + + if (forceReload) + Grid.Reload(); + } +} \ No newline at end of file diff --git a/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs b/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs index cf3a106..340f834 100644 --- a/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs +++ b/FruitBankHybrid.Shared/Components/Grids/ShippingItems/GridShippingItem.cs @@ -7,9 +7,9 @@ using Microsoft.AspNetCore.Components; namespace FruitBankHybrid.Shared.Components.Grids.ShippingItems; -public class GridShippingItemBase : FruitBankListGridBase, IGrid +public class GridShippingItem : FruitBankListGridBase, IGrid { - public GridShippingItemBase() : base() + public GridShippingItem () : base() { GetAllMessageTag = SignalRTags.GetShippingItems; AddMessageTag = SignalRTags.AddShippingItem; diff --git a/FruitBankHybrid.Shared/Components/Toolbars/FruitBankToolbarTemplate.razor b/FruitBankHybrid.Shared/Components/Toolbars/FruitBankToolbarTemplate.razor index f183083..9f9ab8c 100644 --- a/FruitBankHybrid.Shared/Components/Toolbars/FruitBankToolbarTemplate.razor +++ b/FruitBankHybrid.Shared/Components/Toolbars/FruitBankToolbarTemplate.razor @@ -38,10 +38,23 @@ aria-label="Search" /> *@ + + @* @if (DxToolbarItems != null) + { + foreach (var toolBarItem in DxToolbarItems) + { + @toolBarItem + } + //@DxToolbarItem + } *@ + + @ToolbarItemsExtended + @code { - [Parameter] public IGrid Grid{ get; set; } + [Parameter] public IGrid Grid { get; set; } + [Parameter] public RenderFragment? ToolbarItemsExtended { get; set; } [Parameter] public EventCallback OnReloadDataClick { get; set; } public ToolbarBase Toolbar { get; set; } diff --git a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs index d7e4954..e672593 100644 --- a/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs +++ b/FruitBankHybrid.Shared/Services/SignalRs/FruitBankSignalRClient.cs @@ -1,9 +1,9 @@ -using System.Collections.ObjectModel; -using AyCode.Core.Extensions; +using AyCode.Core.Extensions; using AyCode.Core.Helpers; using AyCode.Core.Loggers; using AyCode.Services.Server.SignalRs; using AyCode.Services.SignalRs; +using DevExpress.Utils.About; using FruitBank.Common; using FruitBank.Common.Dtos; using FruitBank.Common.Entities; @@ -16,6 +16,7 @@ using Mango.Nop.Core.Dtos; using Mango.Nop.Core.Models; using MessagePack.Resolvers; using Nop.Core.Domain.Customers; +using System.Collections.ObjectModel; using System.ServiceModel.Channels; namespace FruitBankHybrid.Shared.Services.SignalRs @@ -221,6 +222,12 @@ namespace FruitBankHybrid.Shared.Services.SignalRs public Task?> GetAllOrderItemPalletByProductId(int productId) => GetAllAsync>(SignalRTags.GetAllOrderItemPalletByProductId, [productId]); + + public Task?> GetStockQuantityHistoryDtos() + => GetAllAsync>(SignalRTags.GetStockQuantityHistoryDtos); + + public Task?> GetStockQuantityHistoryDtosByProductId(int productId) + => GetAllAsync>(SignalRTags.GetStockQuantityHistoryDtosByProductId, [productId]); #endregion Orders } } From 66764b3dd5377b809a4cbfa508c097ea160cbfc9 Mon Sep 17 00:00:00 2001 From: Loretta Date: Fri, 14 Nov 2025 17:56:39 +0100 Subject: [PATCH 3/4] fixes --- .../Components/GridShippingItemTemplate.razor | 2 +- FruitBankHybrid.Shared/Pages/MeasuringOut.razor | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor index 9ec9062..f95a4ec 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor @@ -32,7 +32,7 @@ FocusedRowChanged="Grid_FocusedRowChanged" *@ x.Note.StartsWith('*'))?.Note).IsNullOrWhiteSpace()) {
Megjegyzés: @(orderNote) From 9731e159441c1de3a023e77a6b006c2cf642cbc3 Mon Sep 17 00:00:00 2001 From: Loretta Date: Fri, 14 Nov 2025 18:44:49 +0100 Subject: [PATCH 4/4] IsIncosistent... --- FruitBank.Common/Dtos/StockQuantityHistoryDto.cs | 9 ++++++++- FruitBank.Common/Entities/StockQuantityHistoryExt.cs | 3 +++ FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs | 1 + .../Products/GridStockQuantityHistoryDtoTemplate.razor | 1 + FruitBankHybrid.sln | 5 +++++ SqlSchemaCompare_Dev_to_Prod.scmp | 4 ++-- 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs index 90f039f..751d6df 100644 --- a/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs +++ b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs @@ -34,7 +34,14 @@ namespace FruitBank.Common.Dtos { get => StockQuantityHistoryExt?.NetWeight; set => StockQuantityHistoryExt!.NetWeight = value; - } + } + + [NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] + public bool IsInconsistent + { + get => StockQuantityHistoryExt?.IsInconsistent ?? false; + set => StockQuantityHistoryExt!.IsInconsistent = value; + } [Association(ThisKey = nameof(Id), OtherKey = nameof(StockQuantityHistoryExt.StockQuantityHistoryId), CanBeNull = true)] public StockQuantityHistoryExt? StockQuantityHistoryExt { get; set; } diff --git a/FruitBank.Common/Entities/StockQuantityHistoryExt.cs b/FruitBank.Common/Entities/StockQuantityHistoryExt.cs index c416e6c..20ab928 100644 --- a/FruitBank.Common/Entities/StockQuantityHistoryExt.cs +++ b/FruitBank.Common/Entities/StockQuantityHistoryExt.cs @@ -18,6 +18,7 @@ namespace Mango.Nop.Core.Entities public int StockQuantityHistoryId { get; set; } public double? NetWeightAdjustment { get; set; } public double? NetWeight { get; set; } + public bool IsInconsistent { get; set; } } [Table(Name = FruitBankConstClient.StockQuantityHistoryExtDbTableName)] @@ -31,5 +32,7 @@ namespace Mango.Nop.Core.Entities [Column(DataType = DataType.DecFloat, CanBeNull = true)] public double? NetWeight { get; set; } + + public bool IsInconsistent { get; set; } } } diff --git a/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs b/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs index 0befd91..b583778 100644 --- a/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs +++ b/FruitBank.Common/Interfaces/IStockQuantityHistoryDto.cs @@ -15,6 +15,7 @@ namespace FruitBank.Common.Interfaces public int? StockQuantityHistoryId { get; set; } public double? NetWeightAdjustment { get; set; } public double? NetWeight { get; set; } + public bool IsInconsistent { get; set; } public StockQuantityHistoryExt? StockQuantityHistoryExt { get; set; } } diff --git a/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor index 926fc21..a59afca 100644 --- a/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor +++ b/FruitBankHybrid.Shared/Components/Grids/Products/GridStockQuantityHistoryDtoTemplate.razor @@ -28,6 +28,7 @@ + diff --git a/FruitBankHybrid.sln b/FruitBankHybrid.sln index 9880a46..c6f9f87 100644 --- a/FruitBankHybrid.sln +++ b/FruitBankHybrid.sln @@ -29,6 +29,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Blazor.Models.Server EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AyCode.Maui.Core", "..\..\..\Aycode\Source\AyCode.Blazor\AyCode.Maui.Core\AyCode.Maui.Core.csproj", "{F7C67754-A59C-C355-2A10-C614F0585627}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}" + ProjectSection(SolutionItems) = preProject + SqlSchemaCompare_Dev_to_Prod.scmp = SqlSchemaCompare_Dev_to_Prod.scmp + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU diff --git a/SqlSchemaCompare_Dev_to_Prod.scmp b/SqlSchemaCompare_Dev_to_Prod.scmp index 477f3a1..779a84c 100644 --- a/SqlSchemaCompare_Dev_to_Prod.scmp +++ b/SqlSchemaCompare_Dev_to_Prod.scmp @@ -3,12 +3,12 @@ 10 - Data Source=195.26.231.218;Initial Catalog=FruitBank_DEV;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Trust Server Certificate=True + Data Source=195.26.231.218;Initial Catalog=FruitBank_DEV;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=v6f_?xNfg9N1;Trust Server Certificate=True - Data Source=195.26.231.218;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Pooling=False;Trust Server Certificate=True + Data Source=195.26.231.218;Initial Catalog=FruitBank_PROD;Integrated Security=False;Persist Security Info=False;User ID=sa;Password=v6f_?xNfg9N1;Trust Server Certificate=True