100 lines
3.0 KiB
C#
100 lines
3.0 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|