public IActionResult ModifyTeam() { var model = new ModifyTeamViewModel { TeamId = "", SecretToken = "" }; PopulateModifyTeamViewBag(model, false); return(View(model)); }
public void PopulateModifyTeamViewBag(ModifyTeamViewModel request, bool validTeam) { ViewBag.ValidTeam = validTeam; var list = new List <string>(); if (request.TeamMembers != null) { foreach (var tm in request.TeamMembers) { list.Add(tm.EmailId); } } ViewBag.CurrentIds = JsonConvert.SerializeObject(list); }
public IActionResult ChangeTeamMembers(ModifyTeamViewModel request) { var userList = request.TeamMembers.Select(tm => tm.EmailId.ToLowerInvariant()).ToList(); for (var i = 0; i < userList.Count; i++) { if (!_service.EmailIdIsUnique(userList[i], request.TeamId.ToLowerInvariant())) { ModelState.AddModelError($"TeamMembers[{i}].EmailId", "User Already Registered"); } } if (ModelState.IsValid) { // Change the teamMembers bool successFul = _service.UpdateTeamMembers(request.TeamId.ToLowerInvariant(), userList); var model = new ModifyTeamViewModel { TeamId = "", SecretToken = "" }; ModelState.Clear(); PopulateModifyTeamViewBag(model, false); if (successFul) { model.Message = new ModalMessage { Type = "success", Message = "Team Change SucessFul" }; return(View("ModifyTeam", model)); } else { model.Message = new ModalMessage { Type = "error", Message = "Change Failed" }; return(View("ModifyTeam", model)); } } PopulateModifyTeamViewBag(request, true); return(View("ModifyTeam", request)); }
public IActionResult ModifyTeam(ModifyTeamViewModel request) { if (!string.IsNullOrWhiteSpace(request.TeamId)) { request.TeamId = request.TeamId.ToLowerInvariant(); } if (!string.IsNullOrWhiteSpace(request.SecretToken)) { request.SecretToken = request.SecretToken.ToLowerInvariant(); } if (!_service.DoesTeamExist(request.TeamId)) { ModelState.AddModelError("TeamId", "Team Doesn't Exist"); } else if (!_service.IsSecretTokenCorrect(request.TeamId, request.SecretToken)) { ModelState.AddModelError("SecretToken", "Incorrect Token"); } if (ModelState.IsValid) { var teamMembers = new List <TeamMember>(); _service.GetTeamMembers(request.TeamId).ForEach(tm => teamMembers.Add(new TeamMember { EmailId = tm })); request.TeamMembers = teamMembers; PopulateModifyTeamViewBag(request, true); return(View(request)); } PopulateModifyTeamViewBag(request, false); return(View(request)); }