Beispiel #1
0
        public IActionResult ModifyTeam()
        {
            var model = new ModifyTeamViewModel
            {
                TeamId      = "",
                SecretToken = ""
            };

            PopulateModifyTeamViewBag(model, false);
            return(View(model));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }