patbef-iOS/Befund/Core/Models/Database/Status.swift

118 lines
3.3 KiB
Swift

//
// Status.swift
// Befund
//
// Created by Irakli Abetschkhrischwili on 27.05.22.
// Copyright © 2022 MVZ Dr. Stein und Kollegen. All rights reserved.
import Foundation
extension Core.Models.Database
{
/**
* Database status of results object
*/
public struct Status: Decodable
{
public var pgs: String? = nil
public var pat_hash: String? = nil
public var available: Bool = false
public var available_ts: String? = nil
public var picked_up: Bool = false
public var picked_up_ts: String? = nil
public var notified: Bool = false
public var notified_ts: String? = nil
public var results_status: String? = Core.Models.Database.Results.ResultsStatus.NONE.rawValue
public var created: String? = nil
/**
* Returns formated available date
*/
public func GetAvailableTS() -> Date?
{
var result: Date? = nil
let dateFormatter = DateFormatter()
if(self.available_ts != nil)
{
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
result = dateFormatter.date(from: available_ts!)
}
return result
}
/**
* Returns formated picked up date
*/
public func GetPickedUpTS() -> Date?
{
var result: Date? = nil
let dateFormatter = DateFormatter()
if(self.picked_up_ts != nil)
{
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
result = dateFormatter.date(from: self.picked_up_ts!)
}
return result
}
/**
* Returns formated notified date
*/
public func GetNotifiedTS() -> Date?
{
var result: Date? = nil
let dateFormatter = DateFormatter()
if(self.notified_ts != nil)
{
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
result = dateFormatter.date(from: self.notified_ts!)
}
return result
}
/**
* Returns formated created date
*/
public func GetCreated() -> Date?
{
var result: Date? = nil
let dateFormatter = DateFormatter()
if(self.created != nil)
{
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
result = dateFormatter.date(from: self.created!)
}
return result
}
/**
* Converts status object to the results
*/
public func ToResults() -> Core.Models.Database.Results
{
var result = Core.Models.Database.Results()
result.pgs = self.pgs
result.pat_hash = self.pat_hash
result.available = self.available
result.available_ts = self.available_ts
result.picked_up = self.picked_up
result.picked_up_ts = self.picked_up_ts
result.status = self.results_status
result.created = self.created
return result
}
}
}