浏览代码

use DateTime.TryParse

Luke Pulverenti 9 年之前
父节点
当前提交
7291b8d3e4
共有 1 个文件被更改,包括 26 次插入2 次删除
  1. 26 2
      MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs

+ 26 - 2
MediaBrowser.Common.Implementations/Security/PluginSecurityManager.cs

@@ -178,11 +178,35 @@ namespace MediaBrowser.Common.Implementations.Security
                     Email = response.email,
                     PlanType = response.planType,
                     SupporterKey = response.supporterKey,
-                    ExpirationDate = string.IsNullOrWhiteSpace(response.expDate) ? (DateTime?)null : DateTime.Parse(response.expDate),
-                    RegistrationDate = DateTime.Parse(response.regDate),
                     IsActiveSupporter = IsMBSupporter
                 };
 
+                if (!string.IsNullOrWhiteSpace(response.expDate))
+                {
+                    DateTime parsedDate;
+                    if (DateTime.TryParse(response.expDate, out parsedDate))
+                    {
+                        info.ExpirationDate = parsedDate;
+                    }
+                    else
+                    {
+                        _logger.Error("Failed to parse expDate: {0}", response.expDate);
+                    }
+                }
+
+                if (!string.IsNullOrWhiteSpace(response.regDate))
+                {
+                    DateTime parsedDate;
+                    if (DateTime.TryParse(response.regDate, out parsedDate))
+                    {
+                        info.RegistrationDate = parsedDate;
+                    }
+                    else
+                    {
+                        _logger.Error("Failed to parse regDate: {0}", response.regDate);
+                    }
+                }
+
                 info.IsExpiredSupporter = info.ExpirationDate.HasValue && info.ExpirationDate < DateTime.UtcNow && !string.IsNullOrWhiteSpace(info.SupporterKey);
 
                 return info;