/// <summary> /// Returns a string similar to "x days", "x minutes", "x hours", "x months" /// where x is the time till the host's license expires/needs reactivating. /// </summary> /// <param name="timeTillExpire"></param> /// <param name="capAtTenYears">Set to true will return Messages.UNLIMITED for timespans over 3653 days</param> /// <returns></returns> public static string GetLicenseTimeLeftString(TimeSpan timeTillExpire, bool capAtTenYears) { if (timeTillExpire.Ticks < 0) { return(""); } if (capAtTenYears && LicenseStatus.IsInfinite(timeTillExpire)) { return(Messages.UNLIMITED); } return(timeTillExpire.FuzzyTime()); }
/// <summary> /// The expiry date of a host's license /// </summary> /// <param name="referenceDate">Should be UTC!</param> public static string HostLicenseExpiryString(Host h, bool longFormat, DateTime referenceDate) { if (h.license_params != null && h.license_params.ContainsKey("expiry")) { TimeSpan timeDiff = h.LicenseExpiryUTC.Subtract(referenceDate); if (!LicenseStatus.IsInfinite(timeDiff)) { var expiryString = ""; Program.Invoke(Program.MainWindow, delegate { expiryString = DateTimeToString(h.LicenseExpiryUTC.ToLocalTime(), longFormat ? Messages.DATEFORMAT_DMY_LONG : Messages.DATEFORMAT_DMY, true); }); return(expiryString); } return(Messages.LICENSE_NEVER); } return(Messages.GENERAL_UNKNOWN); }