38 lines
1.6 KiB
C#
38 lines
1.6 KiB
C#
using AyCode.Core.Interfaces;
|
|
using AyCode.Core.Serializers.Attributes;
|
|
using AyCode.Interfaces.TimeStampInfo;
|
|
using LinqToDB.Mapping;
|
|
using Mango.Nop.Core.Entities;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace FruitBank.Common.Entities;
|
|
|
|
[AcBinarySerializable(false, true, false, true, false, false)]
|
|
//[ToonDescription("Business partner with address and tax information", Purpose = "Represents an external legal entity, specifically a Supplier who provides goods or a business partner involved in the procurement chain")]
|
|
[LinqToDB.Mapping.Table(Name = FruitBankConstClient.PartnerDepotDbTableName)]
|
|
[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.PartnerDepotDbTableName)]
|
|
public sealed class PartnerDepot : MgEntityBase, ITimeStampInfo, ICompanyInfoBase
|
|
{
|
|
public int PartnerId { get; set; }
|
|
|
|
public string Name { get; set;}
|
|
|
|
[NotColumn, NotMapped, Newtonsoft.Json.JsonIgnore, JsonIgnore]
|
|
public string? TaxId => Partner?.TaxId;
|
|
|
|
public string CountryCode { get; set; }
|
|
public string PostalCode { get; set;}
|
|
public string City { get; set;}
|
|
public string Street { get; set;}
|
|
|
|
[NotColumn, NotMapped, Newtonsoft.Json.JsonIgnore, JsonIgnore]
|
|
public string FullAddress => this.ComposeFullAddress() ?? string.Empty;
|
|
|
|
[Association(ThisKey = nameof(PartnerId), OtherKey = nameof(Partner.Id), CanBeNull = true)]
|
|
public Partner? Partner { get; set; }
|
|
|
|
[SkipValuesOnUpdate]
|
|
public DateTime Created { get; set; }
|
|
public DateTime Modified { get; set; }
|
|
} |