From e20cd008d978e41a93f8b0e042ce336f8d734ca4 Mon Sep 17 00:00:00 2001
From: Niko Ehrenfeuchter <nikolaus.ehrenfeuchter@unibas.ch>
Date: Sun, 11 Feb 2018 23:10:44 +0100
Subject: [PATCH] Add HumanSince() wrapper method.

---
 ATxCommon/Serializables/ServiceStatus.cs | 8 ++++----
 ATxCommon/TimeUtils.cs                   | 9 +++++++++
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/ATxCommon/Serializables/ServiceStatus.cs b/ATxCommon/Serializables/ServiceStatus.cs
index f99735e..4510c12 100644
--- a/ATxCommon/Serializables/ServiceStatus.cs
+++ b/ATxCommon/Serializables/ServiceStatus.cs
@@ -331,13 +331,13 @@ namespace ATxCommon.Serializables
                 $"TransferInProgress: {TransferInProgress}\n" +
                 $"CurrentTransferSize: {CurrentTransferSize}\n" +
                 $"LastStatusUpdate: {LastStatusUpdate:yyyy-MM-dd HH:mm:ss}" +
-                $" ({TimeUtils.SecondsToHuman(TimeUtils.SecondsSince(LastStatusUpdate))})\n" +
+                $" ({TimeUtils.HumanSince(LastStatusUpdate)})\n" +
                 $"LastStorageNotification: {LastStorageNotification:yyyy-MM-dd HH:mm:ss}" +
-                $" ({TimeUtils.SecondsToHuman(TimeUtils.SecondsSince(LastStorageNotification))})\n" +
+                $" ({TimeUtils.HumanSince(LastStorageNotification)})\n" +
                 $"LastAdminNotification: {LastAdminNotification:yyyy-MM-dd HH:mm:ss}" +
-                $" ({TimeUtils.SecondsToHuman(TimeUtils.SecondsSince(LastAdminNotification))})\n" +
+                $" ({TimeUtils.HumanSince(LastAdminNotification)})\n" +
                 $"LastGraceNotification: {LastGraceNotification:yyyy-MM-dd HH:mm:ss}" +
-                $" ({TimeUtils.SecondsToHuman(TimeUtils.SecondsSince(LastGraceNotification))})\n";
+                $" ({TimeUtils.HumanSince(LastGraceNotification)})\n";
         }
 
         #endregion validate and report
diff --git a/ATxCommon/TimeUtils.cs b/ATxCommon/TimeUtils.cs
index fae6dfd..1cc9d94 100644
--- a/ATxCommon/TimeUtils.cs
+++ b/ATxCommon/TimeUtils.cs
@@ -97,5 +97,14 @@ namespace ATxCommon
         public static string DaysToHuman(long delta) {
             return MinutesToHuman(delta * 60 * 24);
         }
+
+        /// <summary>
+        /// Wrapper to convert a date into a human readable string relative to now.
+        /// </summary>
+        /// <param name="refDate">The reference DateTime to check.</param>
+        /// <returns>A string describing the delta, e.g. "12 days" or "3 weeks".</returns>
+        public static string HumanSince(DateTime refDate) {
+            return SecondsToHuman(SecondsSince(refDate));
+        }
     }
 }
-- 
GitLab