using AyCode.Core.Serializers.Toons; using AyCode.Entities; using FruitBank.Common.Interfaces; using LinqToDB.Mapping; using Mango.Nop.Core.Entities; using Newtonsoft.Json; using System.ComponentModel.DataAnnotations.Schema; using AyCode.Core.Interfaces; namespace FruitBank.Common.Entities; public abstract class PartnerBase : MgEntityBase, IPartnerBase { public string Name { get; set; } public string TaxId { get; set; } public string CertificationNumber { get; set; } public string CountryCode { get; set; } [ToonDescription(Purpose = "ISO 4217 currency code the company trades and settles in with this partner (e.g. EUR, HUF). For supplier partners it is the source currency for converting shipping-item values to example: HUF in NAV EKÁER reporting.")] public string Currency { get; set; } public string PostalCode { get; set; } public string Country { get; set; } public string State { get; set; } public string County { get; set; } public string City { get; set; } public string Street { get; set; } [NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] [ToonDescription(Purpose = "The PostalCode + City + Street joined into a single-line postal address (non-empty parts).")] public string? FullAddress => this.ComposeFullAddress(); [SkipValuesOnUpdate] public DateTime Created { get; set; } public DateTime Modified { get; set; } }