public int GetYear() { var db = new BoardSquaresRepository(); var games = db.Context.Games.Where(r => r.Active).ToList(); return(games.Any() ? games.Max(r => r.Year) : DateTime.Now.Year); }
public void HandleRequest() { var db = new BoardSquaresRepository(); var messages = db.AttemptGetEmails(Convert.ToInt32(SelectedRound)); if (!messages.Any()) { ErrorMessage = "Emails already sent for selcted week"; IsValid = false; return; } foreach (var message in messages) { var mailClient = new SmtpClient { Host = "relay-hosting.secureserver.net" }; var mailMessage = new MailMessage { From = new MailAddress("*****@*****.**"), Subject = message.Subject, Body = message.Body, IsBodyHtml = true }; mailMessage.To.Add(new MailAddress(message.Email)); mailClient.Send(mailMessage); mailClient.Dispose(); } db.AttemptMarkEmailsSent(messages.FirstOrDefault().BatchID); SuccessMessage = messages.Count + " Messages Sent!"; }
public void GetTieBreakerScoringTotalsByRound(List <int> players, int teamId) { var db = new BoardSquaresRepository(); var instring = string.Join(", ", players); TieBreakerScoringSummaries = db.Context.Database.SqlQuery(typeof(PlayerScoringSummary), String.Format("select p.*,t.ID AS TieBreakerSort from FP_PlayerTotalsByRoundView p left join FP_UserTeamTieBreakerPlayers t on p.PlayerID = t.PlayerID WHERE p.PlayerID IN ({0}) AND t.UserTeamID = {1} ", instring, teamId)).ToListAsync().Result.Select(r => r as PlayerScoringSummary).OrderBy(r => r.TieBreakerSort).ToList(); }
private void Save() { BoardSquaresRepository db = new BoardSquaresRepository(); foreach (var player in GetCombinedPlayers()) { var userTeamPlayer = new UserTeamPlayer(); userTeamPlayer.PlayerID = player.PlayerID; userTeamPlayer.UserTeamID = Entity.UserTeamID; db.Context.UserTeamPlayers.Add(userTeamPlayer); } var tieBreaker1 = new UserTeamTieBreakerPlayers(); tieBreaker1.PlayerID = TieBreakerPlayer1.PlayerID; tieBreaker1.UserTeamID = Entity.UserTeamID; db.Context.TieBreakerPlayers.Add(tieBreaker1); var tieBreaker2 = new UserTeamTieBreakerPlayers(); tieBreaker2.PlayerID = TieBreakerPlayer2.PlayerID; tieBreaker2.UserTeamID = Entity.UserTeamID; db.Context.TieBreakerPlayers.Add(tieBreaker2); var ut = db.Context.UserTeams.Find(Entity.UserTeamID); ut.Complete = true; db.Context.SaveChanges(); }
public void GetPlayerScoringTotalsByRound(List <int> players) { var db = new BoardSquaresRepository(); var instring = string.Join(", ", players); PlayerScoringSummaries = db.Context.Database.SqlQuery(typeof(PlayerScoringSummary), String.Format("SELECT * FROM FP_PlayerTotalsByRoundView WHERE PlayerID IN ({0}) ", instring)).ToListAsync().Result.Select(r => r as PlayerScoringSummary).OrderByDescending(r => r.PlayerTotal).ToList(); }
public void GetUserTeams(int p) { BoardSquaresRepository db = new BoardSquaresRepository(); UserTeamList = db.GetTeamsByUser(p, true); IsUserTeamSectionVisible = true; IsUsersSectionVisible = false; }
private void DeleteUser(int p) { BoardSquaresRepository db = new BoardSquaresRepository(); User userToDelete = db.Context.Users.Find(p); db.Context.Users.Remove(userToDelete); db.Context.SaveChanges(); GetUsers(); }
public void UpdateBalanceDue(int p) { BoardSquaresRepository db = new BoardSquaresRepository(); UserTeam team = db.Context.UserTeams.Find(p); team.Balance = 0; db.Context.SaveChanges(); GetUserTeams(team.UserID); }
private void DeleteUserTeam(int p) { BoardSquaresRepository db = new BoardSquaresRepository(); UserTeam teamToDelete = db.Context.UserTeams.Find(p); db.Context.UserTeams.Remove(teamToDelete); db.Context.SaveChanges(); GetUserTeams(teamToDelete.UserID); }
private void Delete(int id) { var db = new BoardSquaresRepository(); var entity = db.Context.ScoringPoints.Find(id); db.Context.ScoringPoints.Remove(entity); db.Context.SaveChanges(); ViewPlayerScoring(Entity); }
public Dictionary <string, string> GetAvailablePlayers(string playerTeam, string playerPosition) { if (string.IsNullOrEmpty(playerTeam)) { return(new Dictionary <string, string>()); } BoardSquaresRepository db = new BoardSquaresRepository(); return(db.GetPlayerDictionaryByTeamAndPosition(playerTeam, playerPosition)); }
public ActionResult UpdateAccountInfo(UpdateAccountInfoViewModel viewmodel) { //var viewmodel = new RegisterViewModel(); if (viewmodel.Password != null && viewmodel.ConfirmPassword != null) { BoardSquaresRepository.AttemptPasswordChange(viewmodel.UserID, viewmodel.Password); } BoardSquaresRepository.AttemptUpdateWeeklyEmails(viewmodel.UserID, viewmodel.WeeklyUpdates); //var test = true; return(View(viewmodel)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var result = BoardSquaresRepository.AttemptRegister(model); switch (result) { case -9: ViewBag.ErrorMessage = "Error when creating user. Please try again later."; return(View(model)); case -8: ViewBag.ErrorMessage = "An account with specified Email already exists."; return(View(model)); case -7: ViewBag.ErrorMessage = "Desired User Name already exists. Please try a different one."; return(View(model)); case -6: ViewBag.ErrorMessage = "Error validating user."; return(View(model)); case -5: ViewBag.ErrorMessage = "Account Created, but Team Name already exists in game. Please Log in to create a team"; return(View(model)); case -4: ViewBag.ErrorMessage = "Game exists, but is currently full."; return(View(model)); case -3: ViewBag.ErrorMessage = "Game is Closed."; return(View(model)); case -2: ViewBag.ErrorMessage = "Game is Inactive."; return(View(model)); case -1: ViewBag.ErrorMessage = "Game does not exist."; return(View(model)); default: var user = BoardSquaresRepository.GetAllUsers().FirstOrDefault(u => u.UserName == model.UserName && u.Email == model.Email); BoardSquaresRepository.CreateNewTeam(user.UserID, model.TeamName, model.GameNumber); return(RedirectToAction("Games", "Home")); } } // If we got this far, something failed, redisplay form return(View(model)); }
public void GetUserTeams() { BoardSquaresRepository db = new BoardSquaresRepository(); UserTeams = db.GetTeamsByUser(User.UserID, false).OrderByDescending(r => r.Year).ThenByDescending(r => r.CreatedDate).ToList(); if (UserTeams.Any()) { foreach (var viewModelUserTeam in UserTeams) { viewModelUserTeam.Balance = Decimal.Round(viewModelUserTeam.Balance, 2); } } }
public void GetPlayerScoring() { var db = new BoardSquaresRepository(); ScoringEvents = db.Context.Database.SqlQuery(typeof(PlayerScoring), String.Format("SELECT * FROM FP_PlayerPointsByRoundView WHERE (PlayerID IN ({0}) OR {0} = 0)AND (RoundID = {1} OR {1} = 0) ", SelectedPlayer, SelectedRound)) .ToListAsync() .Result .Select(r => r as PlayerScoring) .OrderBy(r => r.RoundID) .ThenBy(r => r.ScoringEventID) .ToList(); PlayerSelectionVisible = false; }
private void AddPlayerScoring(int playerId) { var db = new BoardSquaresRepository(); foreach (var score in ScoringEventsList.Where(s => s.Value > -1)) { db.CreateNewScoringEvent(playerId, Convert.ToInt32(score.ScoringEventID), Round, score.Value); } GetScoringsForPlayerPosition(); ScoringPoints = GetScoringEventsForPlayer(playerId); IsScoringDetailVisible = true; IsPlayerSelectionAreaVisible = false; IsNewScoringEventAreaVisible = true; }
public void GetFilteredTeamDetails(int entity) { var db = new BoardSquaresRepository(); var temp = db.GetUserTeamPlayersByGame(entity); var tieBreaker = db.Context.TieBreakerPlayers.Where(r => r.UserTeamID == entity).Select(r => r.PlayerID).ToList(); var playerList = temp.Select(r => r.PlayerID).ToList(); GetPlayerScoringTotalsByRound(playerList); GetTieBreakerScoringTotalsByRound(tieBreaker); IsNewTeamAreaVisible = false; IsTeamDetailVisible = false; IsTeamListAreaVisible = false; IsPlayerDetailVisible = true; }
public void GetFilteredTeamDetails(int entity, string teamName) { var db = new BoardSquaresRepository(); var playerList = db.GetUserTeamPlayersByGame(entity).Select(r => r.PlayerID).ToList(); var tieBreaker = db.GetTieBreakerPlayers(entity);//db.Context.TieBreakerPlayers.Where(r => r.UserTeamID == entity).Select(r => r.PlayerID).ToList(); SelectedTeam = teamName; SelectedTeamID = entity; //var playerList = temp.Select(r => r.PlayerID).ToList(); var tiebreakerList = tieBreaker.Select(r => r.PlayerID).ToList(); //var regularPlayerList = playerList.Where(r => !tiebreakerList.Contains(r)).ToList(); GetPlayerScoringTotalsByRound(playerList); GetTieBreakerScoringTotalsByRound(tiebreakerList, SelectedTeamID); }
public void GetUsers() { BoardSquaresRepository db = new BoardSquaresRepository(); UserList = db.GetAllUsers(); var userTeamList = db.Context.UserTeams.Where(g => g.Balance > 0).ToList(); foreach (var user in UserList) { user.BalDue = 0; var teams = userTeamList.Where(g => g.UserID == user.UserID).Select(r => r.Balance).ToList(); if (teams.Any()) { user.BalDue = Decimal.Round(teams.Sum(r => r), 2); } } UserList = UserList.OrderByDescending(r => r.BalDue).ThenBy(r => r.UserName).ToList(); }
//[ValidateAntiForgeryToken] public async Task <ActionResult> Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } User applicationUser = new User(); var loginResult = BoardSquaresRepository.AttemptLogin(model.Email, model.Password); switch (loginResult) { case -1: ViewBag.ErrorMessage = "No Accounts found with specified Email"; return(View(model)); case 0: ViewBag.ErrorMessage = "Incorrect Password"; return(View(model)); default: applicationUser = BoardSquaresRepository.GetUserByID(loginResult); break; } var claims = new[] { new Claim(ClaimTypes.Email, applicationUser.Email), new Claim(ClaimTypes.NameIdentifier, applicationUser.Email), new Claim(ClaimTypes.Name, applicationUser.UserName) // can add more claims }; var identity = new ClaimsIdentity(claims, "ApplicationCookie"); var roleClaims = new Claim(ClaimTypes.Role, applicationUser.AdminRole ? "Admin" : "User"); identity.AddClaim(roleClaims); var context = Request.GetOwinContext(); var authManager = context.Authentication; authManager.SignIn(new AuthenticationProperties { IsPersistent = true, }, identity); return(RedirectToAction("Index", "Home")); }
public List <ScoringPoints> GetScoringEventsForPlayer(int playerId) { var db = new BoardSquaresRepository(); var list = db.Context.ScoringPoints.Where(s => s.PlayerID == playerId && s.RoundID == Round && s.Year == Year) .OrderByDescending(s => s.CreatedDate) .ToList(); var total = 0; foreach (var scoringPoint in list) { scoringPoint.RoundName = RoundsDictionary.First(r => r.Key == scoringPoint.RoundID.ToString()).Value; scoringPoint.ScoringEventName = Scorings.FirstOrDefault(k => k.Key == scoringPoint.ScoringEventID.ToString()).Value; total += scoringPoint.Points; } RoundTotal = total; return(list); }
public void GetAllGames(string gameNumber) { var db = new BoardSquaresRepository(); var teams = db.Context.Database.SqlQuery(typeof(TeamScoringByPlayer), String.Format("SELECT a.*, CASE WHEN t.ID IS NULL THEN -1 ELSE t.ID END as TiebreakerSort FROM FP_TeamScoringSummaryByPlayerView a join FP_GameNumbers g on g.GameNumber = a.GameNumber left join FP_UserTeamTieBreakerPlayers t on a.PlayerID = t.PlayerID AND a.UserTeamID = t.UserTeamID WHERE g.Active = 1 AND GETDATE() > g.CloseDate AND a.GameNumber = '{0}' ", gameNumber)).ToListAsync().Result.Select(r => r as TeamScoringByPlayer).GroupBy(r => r.UserTeamID); foreach (var team in teams) { TeamList.Add(new GameSummaryTeam { TeamName = team.First().UserTeamName, TeamTotal = team.Where(r => !r.TieBreakerPlayer).Sum(r => r.TotalPoints), //TieBreakerTotal = team.Where(r => r.TieBreakerPlayer).Sum(r => r.TotalPoints), TeamPlayers = team.Where(r => !r.TieBreakerPlayer).OrderByDescending(r => r.TotalPoints).ToList(), TieBreakerPlayers = team.Where(r => r.TieBreakerPlayer).OrderBy(r => r.TiebreakerSort).ToList(), TieBreaker1Score = team.Where(r => r.TieBreakerPlayer).OrderBy(r => r.TiebreakerSort).ToList().First().TotalPoints, TieBreaker2Score = team.Where(r => r.TieBreakerPlayer).OrderBy(r => r.TiebreakerSort).ToList().Last().TotalPoints, }); } TeamList = TeamList.OrderByDescending(r => r.TeamTotal).ThenByDescending(r => r.TieBreaker1Score).ThenByDescending(r => r.TieBreaker2Score).ToList(); SelectedGame = gameNumber; }
public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = BoardSquaresRepository.Context.Users.FirstOrDefault(r => r.Email == model.Email); if (user == null) { // Don't reveal that the user does not exist return(RedirectToAction("ResetPasswordConfirmation", "Account")); } var result = BoardSquaresRepository.AttemptPasswordReset(user.UserID, model.Code, model.Password); if (result == 1) { return(RedirectToAction("ResetPasswordConfirmation", "Account")); } return(View()); }
//[ValidateAntiForgeryToken] public async Task <ActionResult> ForgotPassword(ForgotPasswordViewModel model) { if (ModelState.IsValid) { var user = BoardSquaresRepository.Context.Users.FirstOrDefault(r => r.Email == model.Email); //await UserManager.FindByNameAsync(model.Email); if (user == null) //|| !(await UserManager.IsEmailConfirmedAsync(user.UserID.ToString()))) { // Don't reveal that the user does not exist or is not confirmed return(View("ForgotPasswordConfirmation")); } // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = Membership.GeneratePassword(25, 8);//await UserManager.GeneratePasswordResetTokenAsync(user.UserID.ToString()); BoardSquaresRepository.AssignPasswordResetCode(user.UserID, code); var callbackUrl = Url.Action("ResetPassword", "Account", new { userId = user.UserID, code = code }, protocol: Request.Url.Scheme); var subject = "Playoff Fantasy - Password Reset Request"; var message = "We have received a request to change your password. Please click the 'Reset Password' button below to continue.<br /><br />" + "<a href=\"" + callbackUrl + "\">Reset Password</a><br /><br />" + "If you do not wish to change your password at this time, please ignore this email." + "<br /><br />Thank you!<br />" + "<a href=\"https://boardsquares.com\">BoardSquares.com</a>"; var mailClient = new SmtpClient(); var mailMessage = new MailMessage { From = new MailAddress("*****@*****.**"), Subject = subject, Body = message, IsBodyHtml = true }; mailMessage.To.Add(new MailAddress(model.Email)); mailClient.Send(mailMessage); mailClient.Dispose(); return(RedirectToAction("ForgotPasswordConfirmation", "Account")); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> ResetPassword(ResetPasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = BoardSquaresRepository.Context.Users.FirstOrDefault(r => r.Email == model.Email); if (user == null) { // Don't reveal that the user does not exist return(RedirectToAction("ResetPasswordConfirmation", "Account")); } var result = BoardSquaresRepository.AttemptPasswordReset(user.UserID, model.Code, model.Password); if (result == 1) { return(RedirectToAction("ResetPasswordConfirmation", "Account")); } TempData["Error"] = $"Unable to reset your password. Please use the <a href=\"{Url.Action("ForgotPassword", "Account")}\">Forgot Password</a> page to request a new password reset email."; return(View()); }
public void GetTeamDetailsByGame() { var db = new BoardSquaresRepository(); foreach (var userGame in UserGames) { var temp = db.Context.Database.SqlQuery(typeof(TeamScoringSummary), String.Format("EXEC FP_GetRankings_Ties @GameNumber = '{0}'", userGame)) .ToListAsync() .Result .Select(r => r as TeamScoringSummary) .OrderBy(r => r.tempID) .ThenByDescending(r => r.TieBreakerPoints) .ToList(); temp.All(p => { p.Amount = Decimal.Round(p.Amount, 2); return(true); }); TeamSummariesList.Add(temp); } }
public ActionResult UpdateAccountInfo(UpdateAccountInfoViewModel viewmodel) { var didTryPasswordChange = false; var passwordChangeSuccess = false; if (viewmodel.Password != null && viewmodel.ConfirmPassword != null) { didTryPasswordChange = true; var result = BoardSquaresRepository.AttemptPasswordChange(viewmodel.UserID, viewmodel.Password); passwordChangeSuccess = result == 1; } BoardSquaresRepository.AttemptUpdateWeeklyEmails(viewmodel.UserID, viewmodel.WeeklyUpdates); if (didTryPasswordChange) { if (passwordChangeSuccess) { ViewBag.UpdateAccountInfoMessage = "Your password and settings have been successfully updated!"; ViewBag.UpdateAccountInfoIsSuccess = true; } else { ViewBag.UpdateAccountInfoMessage = "We were unable to change your password at this time."; ViewBag.UpdateAccountInfoIsSuccess = false; } } else { ViewBag.UpdateAccountInfoMessage = "Your settings have been successfully updated!"; ViewBag.UpdateAccountInfoIsSuccess = true; } return(View(viewmodel)); }
public void GetPlayers() { var db = new BoardSquaresRepository(); PlayersDictionary = db.GetPlayerDictionaryByTeamAndPosition(SelectedTeam, "All"); }
public void GetTeams() { var db = new BoardSquaresRepository(); TeamsDictionary = db.GetAllNFLTeams(); }
public void BuidDropdowns() { var db = new BoardSquaresRepository(); db.GetGamesByUser(User.UserID).ForEach(c => GamesDropDown.Add(c, c)); }