patbef-ServiceOutside/ServiceShared/Models/Database/Status.cs

100 lines
3.0 KiB
C#
Raw Permalink Normal View History

2024-01-29 16:27:34 +01:00
using static ServiceShared.Models.Database.Results;
namespace ServiceShared.Models.Database
{
public class Status
{
/// <summary>
/// SHA512 - Hash of Plz Geburtsdatum Sampleid (PK)
/// </summary>
public string pgs { get; set; }
/// <summary>
/// UDID - PK (Unique Device ID)
/// </summary>
public string udid { get; set; }
/// <summary>
/// Flag for push available
/// </summary>
public bool available { get; set; }
/// <summary>
/// Timestamp for available
/// </summary>
public string available_ts { get; set; }
/// <summary>
/// Flag for picked up (if mobile app has already picked up the results)
/// </summary>
public bool picked_up { get; set; }
/// <summary>
/// Timestamp for picked up
/// </summary>
public string picked_up_ts { get; set; }
/// <summary>
/// Flag for push notification
/// </summary>
public bool notified { get; set; }
/// <summary>
/// Timestamp for notified
/// </summary>
public string notified_ts { get; set; }
/// <summary>
/// Results status
/// </summary>
public string results_status { get; set; }
/// <summary>
/// Result message
/// </summary>
public string results_message { get; set; }
/// <summary>
///Incoming direction
/// </summary>
public string incoming_direction { get; set; }
/// <summary>
/// Created date of results object(this)
/// </summary>
public string created { get; set; }
/// <summary>
/// SHA512 Checksum of file content(base64)
/// </summary>
public string file_checksum { get; set; }
/// <summary>
/// Default constructor for Status
/// Importent for json serializer
/// </summary>
public Status()
{
}
/// <summary>
/// Constructor for Status
/// </summary>
/// <param name="results">Results object, that should be converted to the Status</param>
public Status(Results results)
{
this.pgs = results.PGS;
this.udid = results.UDID;
this.available = results.Available;
this.available_ts = (results.AvailableTS.HasValue ? results.AvailableTS.Value.ToString("yyyy-MM-dd HH:mm:ss") : null);
this.picked_up = results.PickedUp;
this.picked_up_ts = (results.PickedUpTS.HasValue ? results.PickedUpTS.Value.ToString("yyyy-MM-dd HH:mm:ss") : null);
this.notified = results.Notified;
this.notified_ts = (results.NotifiedTS.HasValue ? results.NotifiedTS.Value.ToString("yyyy-MM-dd HH:mm:ss") : null);
this.file_checksum = results.FileChecksum;
this.created = results.Created.ToString("yyyy-MM-dd HH:mm:ss");
this.results_status = results.Status.ToString();
}
}
}