diff --git a/Controllers/AdminController.cs b/Controllers/AdminController.cs index b4bdefe..3a8fa5b 100644 --- a/Controllers/AdminController.cs +++ b/Controllers/AdminController.cs @@ -22,15 +22,46 @@ namespace CarCareTracker.Controllers { var viewModel = new AdminViewModel { - Users = _loginLogic.GetAllUsers(), + Users = _loginLogic.GetAllUsers().OrderBy(x=>x.Id).ToList(), Tokens = _loginLogic.GetAllTokens() }; return View(viewModel); } + public IActionResult GetTokenPartialView() + { + var viewModel = _loginLogic.GetAllTokens(); + return PartialView("_Tokens", viewModel); + } + public IActionResult GetUserPartialView() + { + var viewModel = _loginLogic.GetAllUsers().OrderBy(x => x.Id).ToList(); + return PartialView("_Users", viewModel); + } public IActionResult GenerateNewToken(string emailAddress, bool autoNotify) { - var result = _loginLogic.GenerateUserToken(emailAddress, autoNotify); - return Json(result); + if (emailAddress.Contains(",")) + { + string[] emailAddresses = emailAddress.Split(','); + foreach(string emailAdd in emailAddresses) + { + var trimmedEmail = emailAdd.Trim(); + if (!string.IsNullOrWhiteSpace(trimmedEmail)) + { + var result = _loginLogic.GenerateUserToken(emailAdd.Trim(), autoNotify); + if (!result.Success) + { + //if fail, return prematurely + return Json(result); + } + } + } + var successResponse = new OperationResponse { Success = true, Message = "Token Generated!" }; + return Json(successResponse); + } else + { + var result = _loginLogic.GenerateUserToken(emailAddress, autoNotify); + return Json(result); + } } [HttpPost] public IActionResult DeleteToken(int tokenId) diff --git a/Views/Admin/Index.cshtml b/Views/Admin/Index.cshtml index 52ec26f..bfedd33 100644 --- a/Views/Admin/Index.cshtml +++ b/Views/Admin/Index.cshtml @@ -35,7 +35,7 @@ - - - - } + + @await Html.PartialAsync("_Tokens", Model.Tokens)
- @translator.Translate(userLanguage, "Users") +
+
+ @translator.Translate(userLanguage, "Users") +
+

@@ -79,45 +74,45 @@ - - @foreach (UserData userData in Model.Users) - { - - - - - - - } + + @await Html.PartialAsync("_Users", Model.Users)
@translator.Translate(userLanguage, "Delete")
@userData.UserName@userData.EmailAddress