Files
Antifraude.Net/Antifraude.Net/GestionaDenuncias.Shared/Models/FicherosDenuncias.cs
2026-05-06 13:48:23 +02:00

79 lines
2.4 KiB
C#

// Models/FicherosDenuncias.cs
using System;
namespace GestionaDenuncias.Shared.Models
{
public class FicherosDenuncias
{
// Id del fichero
public int Id_Fichero { get; set; }
// Id del tipo de fichero
public int Id_Tipo { get; set; }
// Descripción del fichero (puede ser nula)
public string? Descripcion { get; set; }
// Fecha de creación del fichero original
public DateTime Fecha { get; set; }
// Observaciones
public string Observaciones { get; set; } = string.Empty;
// Id de la denuncia al que está asociado (FK)
public int Id_Denuncia { get; set; }
// NombreCarpeta_NombreFichero
public string NombreFichero { get; set; } = string.Empty;
// Fichero completo en formato byte array (BLOB)
public byte[] Fichero { get; set; } = [];
// ? Nuevo: marca si ya se subió a Gestión
public bool Subido { get; set; }
// ? Nuevo: fecha en que se subió por última vez
public DateTime? FechaSubida { get; set; }
// Hash SHA-256 del contenido, para evitar re-subir adjuntos repetidos.
public string ContentSha256 { get; set; } = string.Empty;
public bool EsReport
{
get
{
var fileName = System.IO.Path.GetFileNameWithoutExtension(NombreFichero);
var extension = System.IO.Path.GetExtension(NombreFichero);
return fileName.StartsWith("report", StringComparison.OrdinalIgnoreCase) &&
(extension.Equals(".txt", StringComparison.OrdinalIgnoreCase) ||
extension.Equals(".pdf", StringComparison.OrdinalIgnoreCase));
}
}
public FicherosDenuncias() { }
public FicherosDenuncias(
int id_Fichero,
int id_Tipo,
string? descripcion,
DateTime fecha,
string observaciones,
int id_Denuncia,
string nombreFichero,
byte[] fichero
)
{
Id_Fichero = id_Fichero;
Id_Tipo = id_Tipo;
Descripcion = descripcion;
Fecha = fecha;
Observaciones = observaciones;
Id_Denuncia = id_Denuncia;
NombreFichero = nombreFichero;
Fichero = fichero;
Subido = false;
FechaSubida = null;
}
}
}