improvements
This commit is contained in:
parent
51aef27828
commit
d93cb107b6
|
|
@ -41,12 +41,20 @@ public class OrderDto : MgOrderDto<OrderItemDto, ProductDto>, IOrderDto
|
|||
}
|
||||
|
||||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||
public DateTime DateOfReceipt
|
||||
public string TimeOfReceiptText => $"{DateOfReceiptOrCreated:H:mm} - {Customer.Company}";
|
||||
|
||||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||
public DateTime DateOfReceiptOrCreated => DateOfReceipt ?? CreatedOnUtc;
|
||||
|
||||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||
public DateTime? DateOfReceipt
|
||||
{
|
||||
get
|
||||
{
|
||||
//return CommonHelper.To<DateTime?>(GenericAttributes.SingleOrDefault(x => x.Key == nameof(IOrderDto.DateOfReceipt))?.Value);
|
||||
|
||||
var dateOfReceipt = GenericAttributes.SingleOrDefault(x => x.Key == nameof(IOrderDto.DateOfReceipt))?.Value ?? string.Empty;
|
||||
return dateOfReceipt.IsNullOrWhiteSpace() ? CreatedOnUtc : CommonHelper.To<DateTime>(dateOfReceipt);
|
||||
return dateOfReceipt.IsNullOrWhiteSpace() ? null : CommonHelper.To<DateTime>(dateOfReceipt);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,9 +68,14 @@ public class OrderItemDto : MgOrderItemDto<ProductDto>, IOrderItemDto
|
|||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||
public double GrossWeight
|
||||
{
|
||||
get => CommonHelper.To<double>(GenericAttributes.SingleOrDefault(x => x.Key == nameof(IMeasuringGrossWeight.GrossWeight))?.Value ?? "0");
|
||||
get
|
||||
{
|
||||
return double.Round(OrderItemPallets.Sum(x => x.NetWeight), 1);
|
||||
//CommonHelper.To<double>(GenericAttributes.SingleOrDefault(x => x.Key == nameof(IMeasuringGrossWeight.GrossWeight))?.Value ?? "0");
|
||||
}
|
||||
set
|
||||
{
|
||||
throw new Exception($"OrderItemDto.GrossWeight not set");
|
||||
//Direkt legyen exception! - J.
|
||||
var ga = GenericAttributes?.SingleOrDefault(x => x.Key == nameof(IMeasuringGrossWeight.GrossWeight))!;
|
||||
ga.Value = value.ToString(CultureInfo.InvariantCulture);
|
||||
|
|
|
|||
|
|
@ -6,5 +6,8 @@ namespace FruitBank.Common.Interfaces;
|
|||
|
||||
public interface IOrderDto : IMgOrderDto<OrderItemDto, ProductDto>, IMeasured, IMeasurable
|
||||
{
|
||||
DateTime DateOfReceipt { get; }
|
||||
DateTime? DateOfReceipt { get; }
|
||||
DateTime DateOfReceiptOrCreated { get; }
|
||||
|
||||
string TimeOfReceiptText { get; }
|
||||
}
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
@using AyCode.Core.Loggers
|
||||
@using FruitBank.Common.Entities
|
||||
@using FruitBank.Common.Helpers
|
||||
@using FruitBank.Common.Interfaces
|
||||
@using FruitBank.Common.Models
|
||||
@using FruitBank.Common.SignalRs
|
||||
|
|
@ -55,8 +56,8 @@
|
|||
[Parameter] public int? AddOrUpdateSignalRTag { get; set; } = null;
|
||||
|
||||
//[Parameter] public EventCallback OnPalletItemSaveClick { get; set; }
|
||||
[Parameter] public Func<TPalletItem?, Task>? OnPalletItemSaveClick { get; set; }
|
||||
[Parameter] public Func<TPalletItem?, Task>? OnPalletItemValueChanged { get; set; }
|
||||
[Parameter] public Func<TPalletItem?, Task>? OnPalletItemSaved { get; set; }
|
||||
[Parameter] public Func<TPalletItem, Task>? OnPalletItemValueChanged { get; set; }
|
||||
|
||||
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
|
||||
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
|
||||
|
|
@ -81,12 +82,12 @@
|
|||
if (AddOrUpdateSignalRTag == null) throw new Exception($"PalletItemComponent->PalletItemSaveClick(); AddOrUpdateSignalRTag == null");
|
||||
|
||||
PalletItem.ModifierId = LoggedInModel.CustomerDto?.Id;
|
||||
var responseShippingItemPallet = await FruitBankSignalRClient.PostDataAsync<TPalletItem>(AddOrUpdateSignalRTag!.Value, PalletItem);
|
||||
var responseShippingItemPallet = await FruitBankSignalRClient.PostDataAsync(AddOrUpdateSignalRTag!.Value, PalletItem);
|
||||
|
||||
if (responseShippingItemPallet != null)
|
||||
PalletItem.Id = responseShippingItemPallet.Id; //Az UpdateCollection miatt kell, hogy megtalálja mit kell kicserélni! - J.
|
||||
if (responseShippingItemPallet != null) PalletItem.Id = responseShippingItemPallet.Id; //Az UpdateCollection miatt kell, hogy megtalálja mit kell kicserélni! - J.
|
||||
//else _logger.Error($"Sikertelen volt a raklap adatainak mentése!");
|
||||
|
||||
if (OnPalletItemSaveClick != null) await OnPalletItemSaveClick.Invoke(responseShippingItemPallet);
|
||||
if (OnPalletItemSaved != null) await OnPalletItemSaved.Invoke(responseShippingItemPallet);
|
||||
}
|
||||
|
||||
protected async Task OnItemUpdating(string fieldName, object newValue, TPalletItem palletItem)
|
||||
|
|
@ -96,25 +97,25 @@
|
|||
|
||||
switch (fieldName)
|
||||
{
|
||||
case nameof(OrderItemPallet.PalletWeight):
|
||||
case nameof(IMeasuringItemPalletBase.PalletWeight):
|
||||
palletItem.PalletWeight = (double)newValue;
|
||||
break;
|
||||
|
||||
case nameof(OrderItemPallet.TareWeight):
|
||||
case nameof(IMeasuringItemPalletBase.TareWeight):
|
||||
palletItem.TareWeight = (double)newValue;
|
||||
break;
|
||||
|
||||
case nameof(OrderItemPallet.TrayQuantity):
|
||||
case nameof(IMeasuringItemPalletBase.TrayQuantity):
|
||||
palletItem.TrayQuantity = (int)newValue;
|
||||
break;
|
||||
|
||||
case nameof(OrderItemPallet.GrossWeight):
|
||||
case nameof(IMeasuringItemPalletBase.GrossWeight):
|
||||
palletItem.GrossWeight = (double)newValue;
|
||||
break;
|
||||
}
|
||||
|
||||
palletItem.IsMeasured = false;
|
||||
//MeasuringValuesHelper.SetShippingItemTotalMeasuringValues(SelectedShippingItem);
|
||||
//MeasuringValuesHelper.SetShippingItemTotalMeasuringValues(palletItem);
|
||||
//BtnSaveEnabled = SelectedShippingItem.IsValidMeasuringValues() && shippingItemPallet.IsValidMeasuringValues(SelectedShippingItem.IsMeasurable);
|
||||
|
||||
_btnSaveEnabled = palletItem.IsValidMeasuringValues(IsMeasurable) && !palletItem.IsMeasured;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
@using DevExpress.Blazor
|
||||
@using DevExpress.Blazor.Internal
|
||||
@using FruitBank.Common.Entities
|
||||
@using FruitBank.Common.SignalRs
|
||||
@using FruitBankHybrid.Shared.Components
|
||||
@using FruitBankHybrid.Shared.Services
|
||||
@using Mango.Nop.Core.Dtos
|
||||
|
||||
|
|
@ -98,159 +100,54 @@
|
|||
</div>
|
||||
|
||||
<div style="margin-top: 50px;">
|
||||
@if (SelectedShippingItem != null)
|
||||
@if (SelectedShippingItem != null && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)
|
||||
{
|
||||
<h3 style="margin-bottom: 30px;" class="@(SelectedShippingItem.IsMeasured && SelectedShippingItem.ShippingItemPallets!.All(x => x.IsMeasuredAndValid(SelectedShippingItem.IsMeasurable)) ? "text-success" : "")">
|
||||
@SelectedShippingItem.Name
|
||||
</h3>
|
||||
|
||||
<EditForm Model="@SelectedShippingItem" Context="FrmContext"
|
||||
OnValidSubmit="@HandleValidSubmit"
|
||||
OnInvalidSubmit="@HandleInvalidSubmit">
|
||||
@* <DataAnnotationsValidator /> *@
|
||||
<DxFormLayout Data="@SelectedShippingItem" CaptionPosition="CaptionPosition.Vertical" CssClass="w-100" ItemUpdating="@((pair) => OnItemUpdating(pair.Key, pair.Value))">
|
||||
@* <DxFormLayoutItem CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")" Field="@nameof(ShippingItem.Name)" Caption="Item Name:" Enabled="false" ColSpanMd="8" />
|
||||
<DxFormLayoutItem Visible="false" CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")" Field="@nameof(ShippingItem.GrossWeightOnDocument)" Caption="GrossWeightOnDocument:" Enabled="false" ColSpanMd="3" />
|
||||
<DxFormLayoutItem Visible="false" CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")" Field="@nameof(ShippingItem.NetWeightOnDocument)" Caption="NetWeightOnDocument:" Enabled="false" ColSpanMd="3" />
|
||||
<DxFormLayout Data="@SelectedShippingItem" CaptionPosition="CaptionPosition.Vertical" CssClass="w-100">
|
||||
<DxFormLayoutItem Context="dfsdf" ColSpanMd="12">
|
||||
@for (var index = 0; index < SelectedShippingItem.ShippingItemPallets!.Count; index++)
|
||||
{
|
||||
var localI = index + 1;
|
||||
var currentShippingItemPallet = SelectedShippingItem.ShippingItemPallets![index];
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")"
|
||||
Field="@nameof(ShippingItem.PalletsOnDocument)"
|
||||
Enabled="@(SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="Pallets:" ColSpanMd="2" BeginRow="false">
|
||||
</DxFormLayoutItem>
|
||||
<PalletItemComponent IsMeasurable="@SelectedShippingItem.IsMeasurable"
|
||||
MeasuringIndex="@localI"
|
||||
PalletItem="@currentShippingItemPallet"
|
||||
ProductId="@SelectedShippingItem.ProductId!.Value"
|
||||
AddOrUpdateSignalRTag="SignalRTags.AddOrUpdateMeasuredShippingItemPallet"
|
||||
OnPalletItemSaved="pallet => OnShippingItemPalletSaved(pallet)"
|
||||
OnPalletItemValueChanged="pallet => OnShippingItemPalletValueChanged(pallet, SelectedShippingItem)">
|
||||
</PalletItemComponent>
|
||||
}
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem Visible="true" CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")"
|
||||
Field="@nameof(ShippingItem.IsMeasured)"
|
||||
Enabled="false" Caption="Sikeres mérés:" ColSpanMd="2">
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="3" BeginRow="true" />
|
||||
<DxFormLayoutItem Context="vfdfgfd" ColSpanMd="12" BeginRow="true">
|
||||
<DxFormLayout CssClass="w-100">
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"><strong>TOTAL:</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"/>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"/>
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"/>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredQuantity) db</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredGrossWeight) kg</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredNetWeight) kg</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"/>
|
||||
</DxFormLayout>
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")"
|
||||
Field="@nameof(ShippingItem.MeasuredQuantity)"
|
||||
Enabled="@(SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="MeasuredQuantity:" ColSpanMd="3" BeginRow="false">
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")"
|
||||
Field="@nameof(ShippingItem.MeasuredNetWeight)"
|
||||
Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="MeasuredNetWeight:" ColSpanMd="3">
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(SelectedShippingItem.IsMeasured ? "text-success" : "")"
|
||||
Field="@nameof(ShippingItem.MeasuredGrossWeight)"
|
||||
Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="MeasuredGrossWeight:" ColSpanMd="3">
|
||||
</DxFormLayoutItem> *@
|
||||
|
||||
<DxFormLayoutItem Context="dfsdf" ColSpanMd="12">
|
||||
@for (var index = 0; index < SelectedShippingItem.ShippingItemPallets!.Count; index++)
|
||||
{
|
||||
var localI = index + 1;
|
||||
var currentShippingItemPallet = SelectedShippingItem.ShippingItemPallets![index];
|
||||
|
||||
<DxFormLayout Data="@currentShippingItemPallet" CaptionPosition="CaptionPosition.Vertical" CssClass="w-100 measuring-form-layout"
|
||||
ItemUpdating="@((pair) => OnItemUpdating2(pair.Key, pair.Value, currentShippingItemPallet))">
|
||||
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="true">
|
||||
<text>@(localI).mérés</text>
|
||||
</DxFormLayoutItem>
|
||||
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(GetShippingPalletsCssClassNames(nameof(ShippingItemPallet.PalletWeight), currentShippingItemPallet))"
|
||||
Field="@nameof(ShippingItemPallet.PalletWeight)"
|
||||
Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="Rakl.súly(kg)" ColSpanMd="2"/>
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(GetShippingPalletsCssClassNames(nameof(ShippingItemPallet.TareWeight), currentShippingItemPallet))"
|
||||
Field="@nameof(ShippingItemPallet.TareWeight)"
|
||||
Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="Tára(kg)" ColSpanMd="2"/>
|
||||
|
||||
<DxFormLayoutItem ColSpanMd="1" />
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(GetShippingPalletsCssClassNames(nameof(ShippingItemPallet.TrayQuantity), currentShippingItemPallet))"
|
||||
Field="@nameof(ShippingItemPallet.TrayQuantity)"
|
||||
Enabled="@(SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="Rekesz/csomag" ColSpanMd="2"/>
|
||||
|
||||
<DxFormLayoutItem CaptionCssClass="@(GetShippingPalletsCssClassNames(nameof(ShippingItemPallet.GrossWeight), currentShippingItemPallet))"
|
||||
Field="@nameof(ShippingItemPallet.GrossWeight)"
|
||||
Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
|
||||
Caption="Br.súly(kg)" ColSpanMd="2">
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem Caption="Net.súly(kg)" ColSpanMd="1" CaptionCssClass="@(GetShippingPalletsCssClassNames(nameof(ShippingItemPallet.NetWeight), currentShippingItemPallet))">
|
||||
<text>@(currentShippingItemPallet.NetWeight) kg.</text>
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem ColSpanMd="1">
|
||||
<DxButton Text="@(currentShippingItemPallet.Id == 0 ? "Mentés" : "Módosítás")" Click="() => OnShippingItemPalletSaveClick(currentShippingItemPallet)" CssClass="w-100"/>
|
||||
</DxFormLayoutItem>
|
||||
|
||||
</DxFormLayout>
|
||||
}
|
||||
</DxFormLayoutItem>
|
||||
|
||||
<DxFormLayoutItem Context="vfdfgfd" ColSpanMd="12" BeginRow="true">
|
||||
<DxFormLayout CssClass="w-100">
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"><strong>TOTAL:</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false" />
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false" />
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false" />
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredQuantity) db</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="2" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredGrossWeight) kg</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false"><strong>@(SelectedShippingItem.MeasuredNetWeight) kg</strong></DxFormLayoutItem>
|
||||
<DxFormLayoutItem ColSpanMd="1" BeginRow="false" />
|
||||
</DxFormLayout>
|
||||
</DxFormLayoutItem>
|
||||
@* <DxFormLayoutItem ColSpanMd="12" BeginRow="true">
|
||||
<ValidationSummary/>
|
||||
</DxFormLayoutItem> *@
|
||||
|
||||
@if (!_errorText.IsNullOrWhiteSpace())
|
||||
{
|
||||
<DxFormLayoutItem ColSpanMd="12" BeginRow="true">
|
||||
<ValidationSummary />
|
||||
<text>HIBA! @_errorText</text>
|
||||
</DxFormLayoutItem>
|
||||
|
||||
@* @if (SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)
|
||||
{
|
||||
<DxFormLayoutItem ColSpanMd="12" BeginRow="true">
|
||||
<DxButton Text="@(SelectedShippingItem.IsMeasured ? "Befejezett mérés módosítása" : "Mérés befejezése")"
|
||||
Enabled="@BtnSaveEnabled"
|
||||
SubmitFormOnClick="true" CssClass="w-100" />
|
||||
</DxFormLayoutItem>
|
||||
}
|
||||
else
|
||||
{
|
||||
_errorText = "Nem végezhető el a mérés, nincs megadva a ProductId! Jelezze a vezetőségnek...";
|
||||
}
|
||||
*@
|
||||
@if (!_errorText.IsNullOrWhiteSpace())
|
||||
{
|
||||
<DxFormLayoutItem ColSpanMd="12" BeginRow="true">
|
||||
<text>HIBA! @_errorText</text>
|
||||
</DxFormLayoutItem>
|
||||
//_errorText = string.Empty;
|
||||
}
|
||||
</DxFormLayout>
|
||||
</EditForm>
|
||||
//_errorText = string.Empty;
|
||||
}
|
||||
</DxFormLayout>
|
||||
}
|
||||
</div>
|
||||
|
||||
@*
|
||||
<div class="row w-100" style="margin-top: 100px;">
|
||||
<div class="col-md-12">
|
||||
<input @bind="_userName" placeholder="Your name" />
|
||||
<input @bind="_message" placeholder="Partner ID..." />
|
||||
<button @onclick="GetPartner">Get partner</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row w-100">
|
||||
<div class="col-md-12">
|
||||
<ul>
|
||||
@foreach (var m in _messages)
|
||||
{
|
||||
<li><b>@m.User:</b> @m.Text</li>
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
*@
|
||||
|
|
@ -132,121 +132,42 @@ namespace FruitBankHybrid.Shared.Pages
|
|||
StateHasChanged();
|
||||
}
|
||||
|
||||
private async Task UpdateShippingItem(ShippingItem? shippingItem)
|
||||
private Task OnShippingItemPalletValueChanged(ShippingItemPallet shippingItemPallet, ShippingItem shippingItem)
|
||||
{
|
||||
if (shippingItem != null && shippingItem.IsValidMeasuringValues())
|
||||
{
|
||||
BtnSaveEnabled = false;
|
||||
shippingItem.ShippingItemPallets = shippingItem.ShippingItemPallets!.Where(x => x.IsValidMeasuringValues(shippingItem.IsMeasurable)).ToList();
|
||||
MeasuringValuesHelper.SetShippingItemTotalMeasuringValues(shippingItem);
|
||||
BtnSaveEnabled = shippingItem.IsValidMeasuringValues() && shippingItemPallet.IsValidMeasuringValues(shippingItem.IsMeasurable);
|
||||
|
||||
var updatedShippingItem = await FruitBankSignalRClient.UpdateMeasuredShippingItem(shippingItem);
|
||||
//var updatedShippingItem = await FruitBankSignalRClient.AddOrUpdateMeasuredShippingItemPallets(shippingItem.ShippingItemPallets!.Where(x => x.IsValidMeasuringValues(shippingItem.IsMeasurable)).ToList());
|
||||
if (updatedShippingItem == null)
|
||||
{
|
||||
LogErrorAndDisplayText($"Sikertelen volt a shippingItem mentése! {shippingItem}");
|
||||
return;
|
||||
}
|
||||
|
||||
RefreshSelectedShippingItemMeasuredValuesFromDb(updatedShippingItem);
|
||||
}
|
||||
StateHasChanged();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private async Task OnShippingItemPalletSaveClick(ShippingItemPallet shippingItemPallet)
|
||||
private Task OnShippingItemPalletSaved(ShippingItemPallet? responseShippingItemPallet)
|
||||
{
|
||||
ShippingItemPallet? responseShippingItemPallet;
|
||||
|
||||
shippingItemPallet.ModifierId = LoggedInModel.CustomerDto?.Id;
|
||||
|
||||
if (shippingItemPallet.Id <= 0) responseShippingItemPallet = await FruitBankSignalRClient.AddShippingItemPallet(shippingItemPallet);
|
||||
else responseShippingItemPallet = await FruitBankSignalRClient.UpdateShippingItemPallet(shippingItemPallet);
|
||||
|
||||
if (responseShippingItemPallet != null)
|
||||
{
|
||||
shippingItemPallet.Id = responseShippingItemPallet.Id; //Az UpdateCollection miatt kell, hogy megtalálja mit kell kicserélni! - J.
|
||||
|
||||
SelectedShippingItem!.ShippingItemPallets!.UpdateCollection(responseShippingItemPallet, false);
|
||||
MeasuringValuesHelper.SetShippingItemTotalMeasuringValues(SelectedShippingItem);
|
||||
}
|
||||
else LogErrorAndDisplayText($"Sikertelen volt a raklap adatainak mentése! {shippingItemPallet}");
|
||||
else DisplayErrorText($"Sikertelen volt a raklap adatainak mentése!");
|
||||
|
||||
StateHasChanged();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private bool IsShippingitemPalletMeasuredAndValid(ShippingItemPallet shippingItemPallet)
|
||||
=> MeasuringService.IsCustomItemPalletMeasuredAndValid(shippingItemPallet, SelectedShippingItem!.IsMeasurable);
|
||||
|
||||
private async Task HandleValidSubmit()
|
||||
{
|
||||
await UpdateShippingItem(SelectedShippingItem);
|
||||
}
|
||||
|
||||
private void HandleInvalidSubmit()
|
||||
{
|
||||
//FormValidationState = @"Form data is invalid";
|
||||
}
|
||||
|
||||
protected void OnItemUpdating(string fieldName, object newValue)
|
||||
{
|
||||
return;
|
||||
|
||||
BtnSaveEnabled = false;
|
||||
if (SelectedShippingItem == null) return;
|
||||
|
||||
switch (fieldName)
|
||||
{
|
||||
case nameof(ShippingItem.MeasuredQuantity):
|
||||
SelectedShippingItem.MeasuredQuantity = (int)newValue <= 0 ? 0 : (int)newValue;
|
||||
break;
|
||||
case nameof(ShippingItem.MeasuredNetWeight):
|
||||
SelectedShippingItem.MeasuredNetWeight = !SelectedShippingItem.IsMeasurable || (double)newValue <= 0 ? 0 : (double)newValue;
|
||||
break;
|
||||
case nameof(ShippingItem.MeasuredGrossWeight):
|
||||
SelectedShippingItem.MeasuredGrossWeight = !SelectedShippingItem.IsMeasurable || (double)newValue <= 0 ? 0 : (double)newValue;
|
||||
break;
|
||||
}
|
||||
|
||||
BtnSaveEnabled = SelectedShippingItem.IsValidMeasuringValues();
|
||||
}
|
||||
|
||||
protected void OnItemUpdating2(string fieldName, object newValue, ShippingItemPallet shippingItemPallet)
|
||||
{
|
||||
BtnSaveEnabled = false;
|
||||
if (SelectedShippingItem == null) return;
|
||||
|
||||
switch (fieldName)
|
||||
{
|
||||
case nameof(ShippingItemPallet.PalletWeight):
|
||||
shippingItemPallet.PalletWeight = (double)newValue;
|
||||
break;
|
||||
|
||||
case nameof(ShippingItemPallet.TareWeight):
|
||||
shippingItemPallet.TareWeight = (double)newValue;
|
||||
break;
|
||||
|
||||
case nameof(ShippingItemPallet.TrayQuantity):
|
||||
shippingItemPallet.TrayQuantity = (int)newValue;
|
||||
break;
|
||||
|
||||
case nameof(ShippingItemPallet.GrossWeight):
|
||||
shippingItemPallet.GrossWeight = (double)newValue;
|
||||
break;
|
||||
}
|
||||
|
||||
MeasuringValuesHelper.SetShippingItemTotalMeasuringValues(SelectedShippingItem);
|
||||
BtnSaveEnabled = SelectedShippingItem.IsValidMeasuringValues() && shippingItemPallet.IsValidMeasuringValues(SelectedShippingItem.IsMeasurable);
|
||||
|
||||
|
||||
|
||||
//BtnSaveEnabled = SelectedShippingItem.IsValidMeasuringValues() &&
|
||||
// shippingItemPallet.IsValidSafeMeasuringValues() &&
|
||||
// SelectedShippingItem.ShippingItemPallets!.Any(sip => sip.IsValidMeasuringValues(SelectedShippingItem.IsMeasurable));
|
||||
}
|
||||
private void LogErrorAndDisplayText(string errorText, Exception? ex = null)
|
||||
{
|
||||
_errorText = errorText;
|
||||
_logger.Error($"{errorText}", ex);
|
||||
DisplayErrorText(errorText);
|
||||
}
|
||||
|
||||
private void DisplayErrorText(string errorText)
|
||||
{
|
||||
_errorText = errorText;
|
||||
//Nem végezhető el a mérés, nincs megadva a ProductId! Jelezze a vezetőségnek...
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@
|
|||
<div style="margin-top: 50px;">
|
||||
<DxFormLayout CaptionPosition="CaptionPosition.Vertical" CssClass="w-100">
|
||||
<DxFormLayoutItem Caption="Átvétel dátuma" ColSpanMd="2"
|
||||
CaptionCssClass="@(SelectedOrder != null && _measuringDates.Where(x => MeasuringService.DaysEqual(x.DateTime, SelectedOrder.DateOfReceipt)).All(x => x.IsMeasured) ? "text-success" : "")">
|
||||
CaptionCssClass="@(SelectedOrder != null && _measuringDates.Where(x => MeasuringService.DaysEqual(x.DateTime, SelectedOrder.DateOfReceiptOrCreated)).All(x => x.IsMeasured) ? "text-success" : "")">
|
||||
<DxDateEdit CssClass="cw-320"
|
||||
DisplayFormat="m"
|
||||
Format="m"
|
||||
Context="ctxOrderDate"
|
||||
Date="@(SelectedOrder?.DateOfReceipt.Date ?? DateTime.Now.Date)"
|
||||
Date="@(SelectedOrder?.DateOfReceiptOrCreated.Date ?? DateTime.Now.Date)"
|
||||
CustomDisabledDate="@OnCustomDisabledMeasuringDate"
|
||||
DateChanged="@((DateTime newValue) => OnMeasuringDateChanged(newValue))"
|
||||
InputId="deDisabledDates">
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
@bind-Value="@SelectedOrder"
|
||||
Text="Válasszon időpontot..."
|
||||
ValueFieldName="@nameof(OrderDto.Id)"
|
||||
TextFieldName="@nameof(OrderDto.DateOfReceipt)"
|
||||
TextFieldName="@nameof(OrderDto.TimeOfReceiptText)"
|
||||
CssClass="cw-480"
|
||||
Context="ctxOrder"
|
||||
DropDownBodyCssClass="dd-body-class"
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
if (isValidAndMeasured) cssClass = "text-success";
|
||||
else if (isValid) cssClass = string.Empty;
|
||||
|
||||
<h5 class="@cssClass">@($"{selectedOrderItemDto.ProductName} - {trayQuantity}/{selectedOrderItemDto.Quantity} rekesz, {(selectedOrderItemDto.IsMeasurable ? selectedOrderItemDto.NetWeight + "kg." : "nem mérendő!")}")</h5>
|
||||
<h5 class="@cssClass">@($"{selectedOrderItemDto.ProductName} - {trayQuantity}/{selectedOrderItemDto.Quantity} rekesz, {(selectedOrderItemDto.IsMeasurable ? "net súly: " + selectedOrderItemDto.NetWeight + "kg." : "nem mérendő!")}")</h5>
|
||||
}
|
||||
}
|
||||
</ItemHeaderTextTemplate>
|
||||
|
|
@ -116,8 +116,8 @@
|
|||
PalletItem="@currentOrderItemPallet"
|
||||
ProductId="@selectedOrderItemDto.ProductId"
|
||||
AddOrUpdateSignalRTag="SignalRTags.AddOrUpdateMeasuredOrderItemPallet"
|
||||
OnPalletItemSaveClick="pallet => OnShippingItemPalletSaveClick(pallet, selectedOrderItemDto)"
|
||||
OnPalletItemValueChanged="pallet => OnPalletItemValueChanged(pallet, selectedOrderItemDto)">
|
||||
OnPalletItemSaved="pallet => OnOrderItemPalletSaved(pallet, selectedOrderItemDto)"
|
||||
OnPalletItemValueChanged="pallet => OnOrderItemPalletValueChanged(pallet, selectedOrderItemDto)">
|
||||
</PalletItemComponent>
|
||||
}
|
||||
</DxFormLayoutItem>
|
||||
|
|
|
|||
|
|
@ -49,9 +49,9 @@ namespace FruitBankHybrid.Shared.Pages
|
|||
{
|
||||
var orders = await FruitBankSignalRClient.GetPendingOrderDtos() ?? [];
|
||||
|
||||
_measuringDates = orders.Select(order => new MeasuringDateSelectorModel(order.Id, order.DateOfReceipt, order.IsMeasured)).ToList();
|
||||
_measuringDates = orders.Select(order => new MeasuringDateSelectorModel(order.Id, order.DateOfReceiptOrCreated, order.IsMeasured)).ToList();
|
||||
|
||||
SelectedDayOrders = orders.Where(order => MeasuringService.DaysEqual(order.DateOfReceipt, dateTime)).ToList();
|
||||
SelectedDayOrders = orders.Where(order => MeasuringService.DaysEqual(order.DateOfReceiptOrCreated, dateTime)).ToList();
|
||||
SelectedOrder = SelectedDayOrders.FirstOrDefault();
|
||||
|
||||
foreach (var orderItem in SelectedDayOrders.SelectMany(order => order.OrderItemDtos.Where(orderItem => orderItem.OrderItemPallets.Count == 0)))
|
||||
|
|
@ -115,13 +115,13 @@ namespace FruitBankHybrid.Shared.Pages
|
|||
//BtnSaveEnabled = SelectedShippingItem.IsValidMeasuringValues() && shippingItemPallet.IsValidMeasuringValues(SelectedShippingItem.IsMeasurable);
|
||||
}
|
||||
|
||||
private Task OnPalletItemValueChanged(OrderItemPallet? orderItemPallet, OrderItemDto selectedOrderItemDto)
|
||||
private Task OnOrderItemPalletValueChanged(OrderItemPallet orderItemPallet, OrderItemDto selectedOrderItemDto)
|
||||
{
|
||||
StateHasChanged();
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private Task OnShippingItemPalletSaveClick(OrderItemPallet? orderItemPallet, OrderItemDto selectedOrderItemDto)
|
||||
private Task OnOrderItemPalletSaved(OrderItemPallet? orderItemPallet, OrderItemDto selectedOrderItemDto)
|
||||
{
|
||||
if (orderItemPallet != null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public class MeasuringService
|
|||
=> (date1.Year == date2.Year && date1.DayOfYear == date2.DayOfYear);
|
||||
|
||||
public static void OnCustomDisabledDate(CalendarCustomDisabledDateEventArgs args, List<MeasuringDateSelectorModel> measuringDates)
|
||||
=> args.IsDisabled = !measuringDates.Exists(shippingDateModel => DaysEqual(shippingDateModel.DateTime, args.Date));
|
||||
=> args.IsDisabled = measuringDates == null || !measuringDates.Exists(shippingDateModel => DaysEqual(shippingDateModel.DateTime, args.Date));
|
||||
|
||||
public static string GetShippingDateCssClassNames(DateTime date, List<MeasuringDateSelectorModel> measuringDates)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue