Files
mapo-mono/MP.MONO.Data/DbModels/ScheduledMaintModel.cs
T

93 lines
2.6 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using static MP.MONO.Core.Enums;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace MP.MONO.Data.DbModels
{
/// <summary>
/// Tabella TASK schedulati (ovvero generati da schema MaintTask ma non ancora completati)
/// </summary>
[Table("ScheduledMaintTask")]
public class ScheduledMaintModel
{
/// <summary>
/// UID
/// </summary>
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SMTaskId { get; set; }
/// <summary>
/// Task di origine
/// </summary>
public int PMTaskId { get; set; } = 0;
/// <summary>
/// Valore per trigger di expiry
/// </summary>
public double ExpiryVal { get; set; } = 1;
/// <summary>
/// Contatore associato al task
/// </summary>
public string CCode { get; set; } = "";
/// <summary>
/// DataOra di creazione del task da realizzare
/// </summary>
public DateTime DtCreation { get; set; } = DateTime.Now;
/// <summary>
/// DataOra di esecuzione del task
/// </summary>
public DateTime DtExecution { get; set; } = DateTime.MinValue;
/// <summary>
/// Codice utente che esegue il task
/// </summary>
public string UserCode { get; set; } = "";
#if false
/// <summary>
/// Task completato (se data esecuzione passata + cod user != null)
/// </summary>
public bool Completed
{
get => (DtExecution <= DateTime.Now && !string.IsNullOrEmpty(UserCode));
}
#endif
/// <summary>
/// DataOra stimata di expiry (dato valore expity + contatore attuale, ipotesi SEMPRE ATTIVO il conter 24/24...)
/// </summary>
public double RemainingHours
{
get
{
double answ = this.ExpiryVal;
if (PMTaskeNav.CounterNav != null)
{
answ = this.ExpiryVal - CounterNav.ActualValHour;
}
return answ;
}
}
/// <summary>
/// Navigazione oggetto Machine
/// </summary>
[ForeignKey("PMTaskId")]
public virtual PrevMaintTaskModel PMTaskeNav { get; set; } = null!;
/// <summary>
/// Navigazione oggetto Counter
/// </summary>
[ForeignKey("CCode")]
public virtual CounterModel CounterNav { get; set; } = null!;
}
}