public ActionResult CreateTeam(vmRegistration_CreateTeam model) { if (!Utilities.IsValidCart()) return RedirectToAction("Index", "home"); ViewBag.showTeamCode = "false"; if (ModelState.IsValid) { var reg = (Registration)SessionManager.CurrentCart.ActionItems[model.ItemId].ActionObject; if (model.RegistrationType.ToLower() == "team") { switch (model.TeamType.ToLower()) { case "existing": JoinExistingTeam(model, reg); break; case "new": CreateNewTeam(model, reg); break; } } else { reg.Team = null; reg.TeamId = null; } if (ModelState.IsValid) return RedirectToAction("RegistrationDetails", new { itemId = model.ItemId }); } model.EventOverview = _service.GetEventOverviewById(model.EventId); return View(model); }
public ActionResult CreateTeam(Guid itemId) { if (!Utilities.IsValidCart()) return RedirectToAction("Index", "home"); ViewBag.showTeamCode = "false"; var reg = (Registration)SessionManager.CurrentCart.ActionItems[itemId].ActionObject; var wave = _service.GetEventWaveById(reg.EventWaveId); var vm = new vmRegistration_CreateTeam { ItemId = itemId, EventId = wave.EventDate.EventId, EventOverview = _service.GetEventOverviewById(wave.EventDate.EventId) }; if (reg.TeamId.HasValue) { vm.RegistrationType = "team"; vm.TeamType = "existing"; vm.TeamCode = _service.GetTeamById(reg.TeamId.Value).Code; } else if (reg.Team != null) { vm.RegistrationType = "team"; vm.TeamType = "new"; vm.TeamName = reg.Team.Name; } else { vm.RegistrationType = "individual"; vm.TeamType = "new"; } return View(vm); }
private void JoinExistingTeam(vmRegistration_CreateTeam model, Registration reg) { if (string.IsNullOrEmpty(model.TeamCode)) { ModelState.AddModelError("TeamCode", "Team Code is Required."); ViewBag.showTeamCode = "true"; return; } var existingTeam = _service.GetTeamByCode(model.EventId, model.TeamCode); if (existingTeam != null) reg.TeamId = existingTeam.TeamId; else ModelState.AddModelError("TeamCode", "There is no team using this code for this event."); }
private void CreateNewTeam(vmRegistration_CreateTeam model, Registration reg) { if (string.IsNullOrEmpty(model.TeamName)) { ModelState.AddModelError("TeamName", "Team Name is Required"); return; } Match match = Regex.Match(model.TeamName, @"([a-zA-Z].*?){3}", RegexOptions.IgnoreCase); if (!match.Success) { ModelState.AddModelError("TeamName", "Team Name must contain at least 3 letters."); return; } Team newTeam = new Team {EventId = model.EventId, Name = model.TeamName, CreatorID = CurrentUser.UserId}; ServiceResult tempTeamResult = _service.GenerateTempTeam(newTeam); if (!tempTeamResult.Success) Utilities.AddModelStateErrors(ModelState, tempTeamResult.GetServiceErrors()); else reg.Team = newTeam; }