diff --git a/src/Core/Utilities/Extensions.cs b/src/Core/Utilities/Extensions.cs index 5137c552..b289620e 100644 --- a/src/Core/Utilities/Extensions.cs +++ b/src/Core/Utilities/Extensions.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.DirectoryServices; using System.Globalization; using System.Linq; using System.Text; @@ -20,5 +21,17 @@ namespace Bit.Core.Utilities { return date.ToString("yyyyMMddHHmmss.f'Z'"); } + + public static DateTime? ParseDateTime(this ResultPropertyCollection collection, string dateKey) + { + DateTime date; + if(collection.Contains(dateKey) && collection[dateKey].Count > 0 && + DateTime.TryParse(collection[dateKey][0].ToString(), out date)) + { + return date; + } + + return null; + } } } diff --git a/src/Core/Utilities/Sync.cs b/src/Core/Utilities/Sync.cs index cea5f111..b2d703d1 100644 --- a/src/Core/Utilities/Sync.cs +++ b/src/Core/Utilities/Sync.cs @@ -266,8 +266,8 @@ namespace Bit.Core.Utilities } // Dates - user.CreationDate = ParseDate(item.Properties, SettingsService.Instance.Sync.CreationDateAttribute); - user.RevisionDate = ParseDate(item.Properties, SettingsService.Instance.Sync.RevisionDateAttribute); + user.CreationDate = item.Properties.ParseDateTime(SettingsService.Instance.Sync.CreationDateAttribute); + user.RevisionDate = item.Properties.ParseDateTime(SettingsService.Instance.Sync.RevisionDateAttribute); users.Add(user); } @@ -308,17 +308,5 @@ namespace Bit.Core.Utilities FlattenGroupsToUsers(groupsInThisGroup, usersInThisGroup, allGroups, allUsers); } } - - private static DateTime? ParseDate(ResultPropertyCollection collection, string dateKey) - { - DateTime date; - if(collection.Contains(dateKey) && collection[dateKey].Count > 0 && - DateTime.TryParse(collection[dateKey][0].ToString(), out date)) - { - return date; - } - - return null; - } } }