Files
TaskHybrid/salesbook.Shared/Core/Entity/VtbCliePersRif.cs
2025-08-06 12:31:52 +02:00

69 lines
1.9 KiB
C#

using SQLite;
using System.Text.Json.Serialization;
namespace salesbook.Shared.Core.Entity;
[Table("vtb_clie_pers_rif")]
public class VtbCliePersRif
{
[PrimaryKey, Column("composite_key")]
public string CompositeKey { get; set; }
private int? _idPersRif;
[Column("id_pers_rif"), JsonPropertyName("idPersRif"), Indexed(Name = "VtbCliePersRifPK", Order = 1, Unique = true)]
public int? IdPersRif
{
get => _idPersRif;
set
{
_idPersRif = value;
if (_idPersRif != null && _codAnag != null)
UpdateCompositeKey();
}
}
private string? _codAnag;
[Column("cod_anag"), JsonPropertyName("codAnag"), Indexed(Name = "VtbCliePersRifPK", Order = 2, Unique = true)]
public string? CodAnag
{
get => _codAnag;
set
{
_codAnag = value;
if (_idPersRif != null && _codAnag != null)
UpdateCompositeKey();
}
}
[Column("persona_rif"), JsonPropertyName("personaRif")]
public string PersonaRif { get; set; }
[Column("mansione"), JsonPropertyName("mansione")]
public string? Mansione { get; set; }
[Column("telefono"), JsonPropertyName("telefono")]
public string? Telefono { get; set; }
[Column("fax"), JsonPropertyName("fax")]
public string Fax { get; set; }
[Column("e_mail"), JsonPropertyName("eMail")]
public string? EMail { get; set; }
[Column("num_cellulare"), JsonPropertyName("numCellulare")]
public string? NumCellulare { get; set; }
[Column("tipo_indirizzo"), JsonPropertyName("tipoIndirizzo")]
public string TipoIndirizzo { get; set; }
[Column("cod_vdes"), JsonPropertyName("codVdes")]
public string CodVdes { get; set; }
[Column("data_ult_agg"), JsonPropertyName("dataUltAgg")]
public DateTime? DataUltAgg { get; set; } = DateTime.Now;
private void UpdateCompositeKey() =>
CompositeKey = $"{IdPersRif}::{CodAnag}";
}