Merge remote-tracking branch 'origin/ConnectPro_v1.1' into ConnectPro_v1.2

# Conflicts:
#	CHANGELOG.md
#	ICD.Common.Utils/Properties/AssemblyInfo.cs
This commit is contained in:
Chris Cameron
2020-04-30 15:16:23 -04:00
5 changed files with 35 additions and 10 deletions

View File

@@ -91,6 +91,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Better VC-4 support for IcdConsole - Better VC-4 support for IcdConsole
- JSON refactoring for simpler deserialization - JSON refactoring for simpler deserialization
## [8.9.0] - 2020-04-30
### Changed
- ProgramUtils and ProcessorUtils return dates instead of strings for date properties
## [8.8.1] - 2020-02-18 ## [8.8.1] - 2020-02-18
### Changed ### Changed
- IcdTimer - fixed issue that prevented OnElapsed event from firing when Length is less than (or close to) Heartbeat Interval - IcdTimer - fixed issue that prevented OnElapsed event from firing when Length is less than (or close to) Heartbeat Interval

View File

@@ -1,4 +1,5 @@
using ICD.Common.Utils.Services; using System.Globalization;
using ICD.Common.Utils.Services;
using ICD.Common.Utils.Services.Logging; using ICD.Common.Utils.Services.Logging;
#if SIMPLSHARP #if SIMPLSHARP
using System; using System;
@@ -99,7 +100,7 @@ namespace ICD.Common.Utils
/// Gets the date that the firmware was updated. /// Gets the date that the firmware was updated.
/// </summary> /// </summary>
[PublicAPI] [PublicAPI]
public static string ModelVersionDate public static DateTime ModelVersionDate
{ {
get get
{ {
@@ -107,12 +108,12 @@ namespace ICD.Common.Utils
Match match = regex.Match(VersionResult); Match match = regex.Match(VersionResult);
if (match.Success) if (match.Success)
return match.Groups["date"].Value; return DateTime.ParseExact(match.Groups["date"].Value, "MMM dd yyyy", CultureInfo.InvariantCulture).ToUniversalTime();
ServiceProvider.TryGetService<ILoggerService>() ServiceProvider.TryGetService<ILoggerService>()
.AddEntry(eSeverity.Warning, "Unable to get model version date from \"{0}\"", VersionResult); .AddEntry(eSeverity.Warning, "Unable to get model version date from \"{0}\"", VersionResult);
return string.Empty; return DateTime.MinValue;
} }
} }

View File

@@ -31,12 +31,12 @@ namespace ICD.Common.Utils
/// Gets the date that the firmware was updated. /// Gets the date that the firmware was updated.
/// </summary> /// </summary>
[PublicAPI] [PublicAPI]
public static string ModelVersionDate public static DateTime ModelVersionDate
{ {
get get
{ {
// TODO // TODO
return null; return DateTime.MinValue;
} }
} }

View File

@@ -1,4 +1,5 @@
using ICD.Common.Utils.Services; using ICD.Common.Utils.IO;
using ICD.Common.Utils.Services;
using ICD.Common.Utils.Services.Logging; using ICD.Common.Utils.Services.Logging;
#if SIMPLSHARP #if SIMPLSHARP
using Crestron.SimplSharp; using Crestron.SimplSharp;
@@ -40,7 +41,16 @@ namespace ICD.Common.Utils
/// Gets the compile date of the program. /// Gets the compile date of the program.
/// </summary> /// </summary>
[PublicAPI] [PublicAPI]
public static string CompiledDate { get { return ProgComments.GetDefault(COMPILED_ON_KEY, null); } } public static DateTime CompiledDate
{
get
{
string dateString;
return ProgComments.TryGetValue(COMPILED_ON_KEY, out dateString)
? DateTime.Parse(dateString).ToUniversalTime()
: DateTime.MinValue;
}
}
/// <summary> /// <summary>
/// Gets the compiler revision version. /// Gets the compiler revision version.
@@ -86,6 +96,16 @@ namespace ICD.Common.Utils
} }
} }
/// <summary>
/// Returns the date and time the program was installed.
/// </summary>
/// <returns></returns>
[PublicAPI]
public static DateTime ProgramInstallDate
{
get { return IcdFile.GetCreationTime(PathUtils.Join(PathUtils.ProgramPath, ProgramFile)).ToUniversalTime(); }
}
/// <summary> /// <summary>
/// Parses the prog comments and pulls program information. /// Parses the prog comments and pulls program information.
/// </summary> /// </summary>

View File

@@ -18,11 +18,11 @@ namespace ICD.Common.Utils
/// Gets the compile date of the program. /// Gets the compile date of the program.
/// </summary> /// </summary>
[PublicAPI] [PublicAPI]
public static string CompiledDate public static DateTime CompiledDate
{ {
get get
{ {
return IcdFile.GetLastWriteTime(Assembly.GetEntryAssembly().Location).ToString(); return IcdFile.GetLastWriteTime(Assembly.GetEntryAssembly().Location);
} }
} }