using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace Nyanlabs.Umogen.Core.Models; public class LegalEntity : IEntity, INLSerializable { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public long Id { get; set; } public string Name { get; set; } = default!; public string? Nip { get; set; } = default!; public string? Headquarters { get; set; } public Person? Representative { get; set; } public long? PersonId { get; set; } public string GetName() { return Name; } public string? IdCode() { return Nip; } public string NLQuerySerialize() { return $"{Name}; with NIP {Nip ?? "unknown"}{(Headquarters != null ? $"; located in {Headquarters}" : "")}{(Representative != null ? $"; represented by {Representative.GetName()}" : "")}"; } public string SerializeToDocument() { return $"{Name}{(Representative != null ? $", reprezentowanÄ… przez {Representative.GetName()}" : "")}"; } }