/// <summary> /// Get a specific Player with his User ID /// </summary> /// <param name="uid">Users unique Identifier</param> /// <returns>Playerobject</returns> public FluffTailRanking.BusinessLayer.BusinessObjects.Player GetPlayerById(int uid) { FluffTailRanking.BusinessLayer.BusinessObjects.Player player = new FluffTailRanking.BusinessLayer.BusinessObjects.Player(); using (KickerEntities context = new KickerEntities()) { var query = from pl in context.Player where pl.id == uid select new { firstname = pl.forename, lastname = pl.lastname, nickname = pl.nickname, eloid = pl.eloid, email = pl.email, grav = pl.gravatarhash, id = pl.id, w = pl.wins, l = pl.losts }; foreach (var matches in query) { player.Forename = matches.firstname; player.Lastname = matches.lastname; player.Nickname = matches.nickname; player.EloRatingNumber = matches.eloid; player.Email = matches.email; player.ID = matches.id; player.Wins = matches.w; player.Losts = matches.l; } return(player); } }
/// <summary> /// Get a specific Team with its Team ID /// </summary> /// <param name="tid">ID of Team</param> /// <returns>A team with the ID</returns> public FluffTailRanking.BusinessLayer.BusinessObjects.Team GetTeamById(int tid) { FluffTailRanking.BusinessLayer.BusinessObjects.Team team = new FluffTailRanking.BusinessLayer.BusinessObjects.Team(); using (KickerEntities context = new KickerEntities()) { var query = from tm in context.Team where tm.id == tid select new { tn = tm.teamname, w = tm.wins, eloid = tm.eloid, p1id = tm.playerone, p2id = tm.playertwo, id = tm.id }; foreach (var matches in query) { FluffTailRanking.BusinessLayer.BusinessObjects.Player p1 = GetPlayerById(matches.p1id), p2 = GetPlayerById(matches.p2id); team.Players.Add(p1); team.Players.Add(p2); team.ID = matches.id; team.TeamName = matches.tn; team.EloRatingNumber = matches.eloid; team.Name = matches.tn; team.Wins = (int)(p1.Wins + p2.Wins); } return(team); } }
/// <summary> /// Save a Player to the Database /// </summary> /// <param name="player">Playerobject to Save</param> /// <returns>1 if successfull, otherwise 0</returns> public int SavePlayer(FluffTailRanking.BusinessLayer.BusinessObjects.Player player) { player = player == null ? new FluffTailRanking.BusinessLayer.BusinessObjects.Player() : player; try { using (KickerEntities context = new KickerEntities()) { FluffTailRanking.BusinessLayer.Persistence.Player current = new FluffTailRanking.BusinessLayer.Persistence.Player() { id = player.ID, lastname = player.Lastname, forename = player.Forename, eloid = player.ELOID, email = player.Email, gravatarhash = player.GetHashCode().ToString() }; context.Player.Add(current); context.SaveChanges(); } return(1); } catch (Exception ex) { return(0); } }
public int AddPlayer(FluffTailRanking.BusinessLayer.BusinessObjects.Player newplayer) { try { return(persistentManager.SavePlayer(newplayer)); } catch (Exception ex) { return(0); } }
/// <summary> /// Get All Players from the Database /// </summary> /// <returns>List with Playerobjects</returns> public List <FluffTailRanking.BusinessLayer.BusinessObjects.Player> GetAllPlayers() { List <FluffTailRanking.BusinessLayer.BusinessObjects.Player> players = new List <FluffTailRanking.BusinessLayer.BusinessObjects.Player>(); using (KickerEntities contex = new KickerEntities()) { var query = from player in contex.Player select new { id = player.id }; foreach (var matches in query) { FluffTailRanking.BusinessLayer.BusinessObjects.Player player = GetPlayerById(matches.id); players.Add(player); } return(players); } }
public int GetPlayerWins(Player p) { return persistentManager.GetWinsOfPlayer(p); }
/// <summary> /// Get all teams by player ID /// </summary> /// <param name="p">Player Object</param> /// <returns>List of Teams</returns> public IEnumerable <FluffTailRanking.BusinessLayer.BusinessObjects.Team> GetTeamsByPlayer(FluffTailRanking.BusinessLayer.BusinessObjects.Player p) { IEnumerable <FluffTailRanking.BusinessLayer.BusinessObjects.Game> allGames = GetAllGames(); List <FluffTailRanking.BusinessLayer.BusinessObjects.Team> pTeams = new List <FluffTailRanking.BusinessLayer.BusinessObjects.Team>(); foreach (var game in allGames) { if (IsPlayerInTeam(game.Team1, p)) { pTeams.Add(game.Team1); } else if (IsPlayerInTeam(game.Team2, p)) { pTeams.Add(game.Team2); } } return(pTeams); }
/// <summary> /// Checks if a player is in a team /// </summary> /// <param name="team">(Team) Team to proof</param> /// <param name="player">(Player) Player to proof</param> /// <returns>(Bool) True or False</returns> public bool IsPlayerInTeam(FluffTailRanking.BusinessLayer.BusinessObjects.Team team, FluffTailRanking.BusinessLayer.BusinessObjects.Player player) { if (team.Players[0].ID == player.ID || team.Players[1].ID == player.ID) { return(true); } return(false); }
/// <summary> /// Get wins of a player /// </summary> /// <param name="p">Player object</param> /// <returns>Integer counting wins</returns> public int GetWinsOfPlayer(FluffTailRanking.BusinessLayer.BusinessObjects.Player p) { return(GetTeamsByPlayer(p).Count()); }
public int SavePlayer(Player player) { throw new NotImplementedException(); }
public int GetWinsOfPlayer(Player player) { throw new NotImplementedException(); }
/// <summary> /// Get a specific Player with his User ID /// </summary> /// <param name="uid">Users unique Identifier</param> /// <returns>Playerobject</returns> public FluffTailRanking.BusinessLayer.BusinessObjects.Player GetPlayerById(int uid) { FluffTailRanking.BusinessLayer.BusinessObjects.Player player = new FluffTailRanking.BusinessLayer.BusinessObjects.Player(); using (KickerEntities context = new KickerEntities()) { var query = from pl in context.Player where pl.id == uid select new { firstname = pl.forename, lastname = pl.lastname, nickname = pl.nickname, eloid = pl.eloid, email = pl.email, grav = pl.gravatarhash, id = pl.id, w = pl.wins, l = pl.losts }; foreach (var matches in query) { player.Forename = matches.firstname; player.Lastname = matches.lastname; player.Nickname = matches.nickname; player.EloRatingNumber = matches.eloid; player.Email = matches.email; player.ID = matches.id; player.Wins = matches.w; player.Losts = matches.l; } return player; } }