public async Task <IActionResult> Edit(int id, [Bind("Id,TeamName,Score")] RegisterTeam registerTeam) { if (id != registerTeam.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(registerTeam); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RegisterTeamExists(registerTeam.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(registerTeam)); }
public async Task <IActionResult> Create([Bind("Id,TeamName,Score")] RegisterTeam registerTeam) { if (ModelState.IsValid) { _context.Add(registerTeam); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(registerTeam)); }
private bool ValidateTeam(RegisterTeam newTeam, string userName) { if (String.IsNullOrEmpty(newTeam.Name)) { return(false); } DataModels.User postingUser = this.context.User.Include(x => x.Site).Where(x => x.EmailAddress == userName).FirstOrDefault(); DataModels.Team[] siteTeams = this.context.Team.Include(x => x.Site).Where(x => x.Site == postingUser.Site).ToArray(); foreach (var team in siteTeams) { if (team.Name == newTeam.Name) { return(false); } } return(true); }
public string RegisterOrUpdate(RegisterTeam validRegisterTeam) { try { string msg = null; var alreadyRegisteredTeam = _teamBaseRepo.GetSingle(team => team.TeamId == validRegisterTeam.TeamId, team => team.Users); if (alreadyRegisteredTeam == null) { // Register New Team var newTeam = new Team { TeamId = validRegisterTeam.TeamId, Location = validRegisterTeam.Location, RegisteredAt = validRegisterTeam.RequestTime, LastUpdatedAt = validRegisterTeam.RequestTime, SecretToken = Guid.NewGuid().ToString("N"), }; var Users = new List <User>(); foreach (var user in validRegisterTeam.TeamMembers) { Users.Add(new User { UserId = user, AddedAt = validRegisterTeam.RequestTime }); } newTeam.Users = Users; _teamBaseRepo.Add(newTeam); _teamBaseRepo.Commit(); msg = "Registration Success"; } else { // Update Already Registered Team // Delete all current users foreach (var user in alreadyRegisteredTeam.Users) { _userBaseRepo.Delete(user); } // Add all new users foreach (var user in validRegisterTeam.TeamMembers) { _userBaseRepo.Add(new User { UserId = user, AddedAt = validRegisterTeam.RequestTime, TeamId = alreadyRegisteredTeam.TeamId }); } alreadyRegisteredTeam.LastUpdatedAt = validRegisterTeam.RequestTime; _teamBaseRepo.Commit(); msg = "Team Updated"; } return(msg); } catch (Exception ex) { _logger.LogError($"Registration Failed | {validRegisterTeam.TeamId} | {validRegisterTeam.Location}"); _logger.LogError($"{ex}"); return(null); } }
public string RegisterOrUpdate(RegisterTeam validRegisterTeam) { try { string msg = null; var alreadyRegisteredTeam = _teamBaseRepo.GetSingle(team => team.TeamId == validRegisterTeam.TeamId, team => team.Users); if (alreadyRegisteredTeam == null) { var locationId = _context.Locations.Where(loc => loc.DisplayName == validRegisterTeam.Location).SingleOrDefault(); if (locationId == null) { throw new Exception("Invalid location provided in request form"); } var newToken = Guid.NewGuid().ToString("N"); // Register New Team var newTeam = new Team { TeamId = validRegisterTeam.TeamId, Location = locationId.LocationId, RegisteredAt = validRegisterTeam.RequestTime, LastUpdatedAt = validRegisterTeam.RequestTime, SecretToken = newToken, }; var Users = new List <User>(); foreach (var user in validRegisterTeam.TeamMembers) { Users.Add(new User { UserId = user, AddedAt = validRegisterTeam.RequestTime }); } newTeam.Users = Users; _teamBaseRepo.Add(newTeam); _teamBaseRepo.Commit(); msg = "Registration Success"; if (SendRegistrationEmail(newTeam.TeamId, newToken, newTeam.Users)) { _logger.LogWarning($"Registration Email Sent for {newTeam.TeamId}"); } else { _logger.LogError($"Email send failure for team {newTeam.TeamId}"); } } else { // Update Already Registered Team // Delete all current users foreach (var user in alreadyRegisteredTeam.Users) { _userBaseRepo.Delete(user); } // Add all new users foreach (var user in validRegisterTeam.TeamMembers) { _userBaseRepo.Add(new User { UserId = user, AddedAt = validRegisterTeam.RequestTime, TeamId = alreadyRegisteredTeam.TeamId }); } alreadyRegisteredTeam.LastUpdatedAt = validRegisterTeam.RequestTime; _teamBaseRepo.Commit(); msg = "Team Updated"; } return(msg); } catch (Exception ex) { _logger.LogError($"Registration Failed | {validRegisterTeam.TeamId} | {validRegisterTeam.Location}"); _logger.LogError($"{ex}"); return(null); } }