56 lines
2.0 KiB
C#
56 lines
2.0 KiB
C#
using FruitBank.Common.Dtos;
|
|
using FruitBank.Common.Enums;
|
|
using FruitBank.Common.Interfaces;
|
|
using LinqToDB.Mapping;
|
|
using Newtonsoft.Json;
|
|
using Nop.Core.Domain.Orders;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Column = LinqToDB.Mapping.ColumnAttribute;
|
|
using Table = LinqToDB.Mapping.TableAttribute;
|
|
|
|
namespace FruitBank.Common.Entities;
|
|
|
|
[Table(Name = FruitBankConstClient.OrderItemPalletDbTableName)]
|
|
[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.OrderItemPalletDbTableName)]
|
|
public class OrderItemPallet : MeasuringItemPalletBase, IOrderItemPallet
|
|
{
|
|
public int OrderItemId
|
|
{
|
|
get => ForeignItemId;
|
|
set => ForeignItemId = value;
|
|
}
|
|
|
|
public int RevisorId { get; set; }
|
|
public bool IsAudited => RevisorId > 0;
|
|
|
|
//[JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
|
[Association(ThisKey = nameof(OrderItemId), OtherKey = nameof(OrderItemDto.Id), CanBeNull = true)]
|
|
public OrderItemDto? OrderItemDto { get; set; }
|
|
|
|
[NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
|
public override MeasuringStatus MeasuringStatus => IsAudited ? MeasuringStatus.Audited : base.MeasuringStatus;
|
|
public override double CalculateNetWeight() => base.CalculateNetWeight();
|
|
|
|
public override bool IsValidSafeMeasuringValues()
|
|
{
|
|
return OrderItemId > 0 && base.IsValidSafeMeasuringValues();
|
|
}
|
|
|
|
[NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
|
public double AverageWeight => double.Round(NetWeight / TrayQuantity, 1);
|
|
|
|
/// <summary>
|
|
/// "Szigorúbb" mint az IsValidSafeMeasuringValues()
|
|
/// </summary>
|
|
/// <param name="isMeasurable"></param>
|
|
/// <returns></returns>
|
|
public override bool IsValidMeasuringValues(bool isMeasurable)
|
|
{
|
|
return OrderItemId > 0 && base.IsValidMeasuringValues(isMeasurable);
|
|
}
|
|
|
|
public override void SetParentPropToNull()
|
|
{
|
|
OrderItemDto = null;
|
|
}
|
|
} |