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));
        }
Exemple #3
0
        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);
            }
        }
Exemple #6
0