93 lines
2.6 KiB
C#
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!;
|
|
|
|
}
|
|
}
|