diff --git a/Web/ViewModels/Account/LoginViewModel.cs b/Web/ViewModels/Account/LoginViewModel.cs
index ecf53e3..2ac450c 100644
--- a/Web/ViewModels/Account/LoginViewModel.cs
+++ b/Web/ViewModels/Account/LoginViewModel.cs
@@ -6,6 +6,7 @@ namespace MileageTraker.Web.ViewModels.Account
public class LoginViewModel
{
[Required]
+ [RegularExpression("[^@]*", ErrorMessage = "Enter just your username, not your email")]
public string Username { get; set; }
[Required]
diff --git a/Web/Views/User/Details.cshtml b/Web/Views/User/Details.cshtml
index 5b1fc2d..8a37597 100644
--- a/Web/Views/User/Details.cshtml
+++ b/Web/Views/User/Details.cshtml
@@ -1,5 +1,4 @@
-@using MileageTraker.Web.Utility
-@model MileageTraker.Web.Models.User
+@model MileageTraker.Web.Models.User
@{
ViewBag.Title = "User Details";
@@ -49,15 +48,8 @@
@Html.DisplayNameFor(m => m.LastActivityDate)
- @if (!Model.LastActivityDate.IsSqlMinValue())
- {
- @Html.Encode(Model.LastActivityDate)
- (@Html.Encode((DateTime.Now - Model.LastActivityDate).ToVerboseStringHistoric()))
- }
- else
- {
- No Activity
- }
+ @Html.Partial("_DateTimeHistoric",
+ new Tuple(Model.LastActivityDate, "No Activity"))
@@ -66,15 +58,8 @@
@Html.DisplayNameFor(m => m.LastLoginDate)
- @if (!Model.LastLoginDate.IsSqlMinValue())
- {
- @Html.Encode(Model.LastLoginDate)
- (@Html.Encode((DateTime.Now - Model.LastLoginDate).ToVerboseStringHistoric()))
- }
- else
- {
- Never Logged In
- }
+ @Html.Partial("_DateTimeHistoric",
+ new Tuple(Model.LastLoginDate, "Never Logged In"))
@@ -83,15 +68,8 @@
@Html.DisplayNameFor(m => m.LastPasswordChangedDate)
- @if (!Model.LastPasswordChangedDate.IsSqlMinValue())
- {
- @Html.Encode(Model.LastPasswordChangedDate)
- (@Html.Encode((DateTime.Now - Model.LastPasswordChangedDate).ToVerboseStringHistoric()))
- }
- else
- {
- Never Changed
- }
+ @Html.Partial("_DateTimeHistoric",
+ new Tuple(Model.LastPasswordChangedDate, "Never Changed"))
@@ -101,15 +79,8 @@
Lockout Password Date
- @if (!Model.LastLockoutDate.IsSqlMinValue())
- {
- @Html.Encode(Model.LastLockoutDate)
- (@Html.Encode((DateTime.Now - Model.LastLockoutDate).ToVerboseStringHistoric()))
- }
- else
- {
- Never Locked (?)
- }
+ @Html.Partial("_DateTimeHistoric",
+ new Tuple(Model.LastLockoutDate, "Never Locked (?)"))
}
diff --git a/Web/Views/User/Index.cshtml b/Web/Views/User/Index.cshtml
index b3d8420..33dd369 100644
--- a/Web/Views/User/Index.cshtml
+++ b/Web/Views/User/Index.cshtml
@@ -57,7 +57,7 @@
),
grid.Column("LastActivityDate", "Last Activity",
@
- @Html.Partial("_LastActivity", (DateTime)item.LastActivityDate)
+ @Html.Partial("_DateTimeHistoric", new Tuple((DateTime)item.LastActivityDate, "No Activity"))
),
grid.Column(format:
@
diff --git a/Web/Views/User/_DateTimeHistoric.cshtml b/Web/Views/User/_DateTimeHistoric.cshtml
new file mode 100644
index 0000000..b4ba8ba
--- /dev/null
+++ b/Web/Views/User/_DateTimeHistoric.cshtml
@@ -0,0 +1,12 @@
+@using MileageTraker.Web.Utility
+@model Tuple
+
+@if (!Model.Item1.IsSqlMinValue())
+{
+ @Html.Encode((DateTime.Now - Model.Item1).ToVerboseStringHistoric())
+ (@Html.Encode(Model.Item1))
+}
+else
+{
+ @Model.Item2
+}
\ No newline at end of file
diff --git a/Web/Views/User/_LastActivity.cshtml b/Web/Views/User/_LastActivity.cshtml
deleted file mode 100644
index 1024a69..0000000
--- a/Web/Views/User/_LastActivity.cshtml
+++ /dev/null
@@ -1,12 +0,0 @@
-@using MileageTraker.Web.Utility
-@model DateTime
-
-@if (!Model.IsSqlMinValue())
-{
- @Html.Encode(Model)
- (@Html.Encode((DateTime.Now - Model).ToVerboseStringHistoric()))
-}
-else
-{
- No Activity
-}
\ No newline at end of file
diff --git a/Web/Web.config b/Web/Web.config
index 108ebf5..329d71d 100644
--- a/Web/Web.config
+++ b/Web/Web.config
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/Web/Web.csproj b/Web/Web.csproj
index 111c092..d0ace1d 100644
--- a/Web/Web.csproj
+++ b/Web/Web.csproj
@@ -300,9 +300,9 @@
-
+