umogen-ng/src/Nyanlabs.Umogen.Core/Models/LegalEntity.cs

36 lines
1 KiB
C#

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()}" : "")}";
}
}