private static void ValidatePlayer(BaseballPlayer existing, BaseballPlayer data, BaseballPlayer results) { Assert.Equal((existing ?? data).BhqId, results.BhqId); Assert.Equal((existing ?? data).FirstName, results.FirstName); Assert.Equal((existing ?? data).LastName, results.LastName); Assert.Equal((data ?? existing).Age, results.Age); Assert.Equal((existing ?? data).Type, results.Type); Assert.Equal((existing ?? data).Positions, results.Positions); Assert.Equal((data ?? existing).Team, results.Team); Assert.Equal((existing ?? data).Status, results.Status); Assert.Equal((existing ?? new BaseballPlayer()).League1, results.League1); Assert.Equal((existing ?? new BaseballPlayer()).DraftRank, results.DraftRank); Assert.Equal((data ?? new BaseballPlayer()).MayberryMethod, results.MayberryMethod); Assert.Equal(GetBattingStats((data ?? new BaseballPlayer()).BattingStats, StatsType.YTD).AtBats, GetBattingStats(results.BattingStats, StatsType.YTD).AtBats); Assert.Equal(GetPitchingStats((data ?? new BaseballPlayer()).PitchingStats, StatsType.YTD).InningsPitched, GetPitchingStats(results.PitchingStats, StatsType.YTD).InningsPitched); Assert.Equal(GetBattingStats((data ?? new BaseballPlayer()).BattingStats, StatsType.PROJ).AtBats, GetBattingStats(results.BattingStats, StatsType.PROJ).AtBats); Assert.Equal(GetPitchingStats((data ?? new BaseballPlayer()).PitchingStats, StatsType.PROJ).InningsPitched, GetPitchingStats(results.PitchingStats, StatsType.PROJ).InningsPitched); Assert.Equal(GetBattingStats((data ?? new BaseballPlayer()).BattingStats, StatsType.YTD).AtBats + GetBattingStats((data ?? new BaseballPlayer()).BattingStats, StatsType.PROJ).AtBats, GetBattingStats(results.BattingStats, StatsType.CMBD).AtBats); Assert.Equal(GetPitchingStats((data ?? new BaseballPlayer()).PitchingStats, StatsType.YTD).InningsPitched + GetPitchingStats((data ?? new BaseballPlayer()).PitchingStats, StatsType.PROJ).InningsPitched, GetPitchingStats(results.PitchingStats, StatsType.CMBD).InningsPitched); }
private static BaseballPlayer MergePlayer(BaseballPlayer existing, BaseballPlayer bhqData) => existing == null ? bhqData : new BaseballPlayer { Id = existing.Id, BhqId = existing.BhqId, FirstName = existing.FirstName, LastName = existing.LastName, Age = MergePlayerValue(existing, bhqData, p => p.Age), Type = existing.Type, Positions = existing.Positions, Team = MergePlayerValue(existing, bhqData, p => p.Team), Status = existing.Status, League1 = existing.League1, League2 = existing.League2, DraftRank = existing.DraftRank, AverageDraftPick = existing.AverageDraftPick, HighestPick = existing.HighestPick, DraftedPercentage = existing.DraftedPercentage, Reliability = bhqData.Reliability, MayberryMethod = bhqData.MayberryMethod, BattingStats = bhqData.BattingStats, PitchingStats = bhqData.PitchingStats };
public ActionResult Edit(BaseballPlayer baseballPlayer) { if (ModelState.IsValid) { db.Update(baseballPlayer); return(RedirectToAction("Details", new { id = baseballPlayer.ID })); } return(View(baseballPlayer)); }
public void Update(BaseballPlayer baseballPlayer) { var existing = Get(baseballPlayer.ID); if (existing != null) { existing.PlayerName = baseballPlayer.PlayerName; existing.Position = baseballPlayer.Position; } }
private static BaseballPlayer CleanPlayer(BaseballPlayer player) { player.CombinedBattingStats = player.CombinedBattingStats == null ? new BattingStats() : player.CombinedBattingStats; player.CombinedPitchingStats = player.CombinedPitchingStats == null ? new PitchingStats() : player.CombinedPitchingStats; player.ProjectedBattingStats = player.ProjectedBattingStats == null ? new BattingStats() : player.ProjectedBattingStats; player.ProjectedPitchingStats = player.ProjectedPitchingStats == null ? new PitchingStats() : player.ProjectedPitchingStats; player.YearToDateBattingStats = player.YearToDateBattingStats == null ? new BattingStats() : player.YearToDateBattingStats; player.YearToDatePitchingStats = player.YearToDatePitchingStats == null ? new PitchingStats() : player.YearToDatePitchingStats; return(player); }
public void Update(BaseballPlayer baseballPlayer) { //var r = Get(baseballPlayer.ID); //r.PlayerName = ""; //db.SaveChanges(); // This should already live in the database // Tell you so you can keep track of it. // This will handle multiple users // OptimisicConcurrency var entry = db.Entry(baseballPlayer); entry.State = EntityState.Modified; db.SaveChanges(); }
private IAthlete GetAthlete(SportType sportType) { //Interfaces define contracts that a subscribing class must implement //However, the fact that you can store a classes object in an interface //references adds tremendous flexibility to your code switch (sportType) { case SportType.Football: IAthlete footballPlayer = new FootballPlayer(); return(footballPlayer); case SportType.Basketball: IAthlete basketBallPlayer = new BasketBallPlayer(); return(basketBallPlayer); default: IAthlete baseballPlayer = new BaseballPlayer(); return(baseballPlayer); } }
[Fact] public void DefaultsSetTest() { var obj = new BaseballPlayer(); Assert.Equal(Guid.Empty, obj.Id); Assert.Equal(0, obj.BhqId); Assert.Null(obj.FirstName); Assert.Null(obj.LastName); Assert.Equal(0, obj.Age); Assert.Equal(PlayerType.U, obj.Type); Assert.Null(obj.Positions); Assert.Null(obj.Team); Assert.Equal(PlayerStatus.XX, obj.Status); Assert.Equal(LeagueStatus.A, obj.League1); Assert.Equal(LeagueStatus.A, obj.League2); Assert.Equal(9999, obj.DraftRank); Assert.Equal(9999, obj.AverageDraftPick); Assert.Equal(9999, obj.HighestPick); Assert.Equal(0, obj.DraftedPercentage); Assert.Equal(0, obj.Reliability); Assert.Equal(0, obj.MayberryMethod); Assert.Empty(obj.BattingStats); Assert.Empty(obj.PitchingStats); }
private static T MergePlayerValue <T>(BaseballPlayer existing, BaseballPlayer bhqData, Func <BaseballPlayer, T> getter) => bhqData.BhqId > 0 ? getter(bhqData) : getter(existing);
private static ProjectionKey BuildKey(BaseballPlayer player) => new ProjectionKey(player.BhqId, player.Type);
static void Main(string[] args) { const int MIN_PLAYERS_ON_TEAM = 1; //only you can prevent magic numbers const int MAX_PLAYERS_ON_TEAM = 20; /* make sure that the user entered a reasonable number of players and keep asking them if they didn't*/ Console.WriteLine("Hi, coach! "); int numPlayers = getIntInput("How many players are on your team?", MIN_PLAYERS_ON_TEAM, MAX_PLAYERS_ON_TEAM); BaseballPlayer[] players = new BaseballPlayer[numPlayers]; for (int i = 0; i < numPlayers; i++) { BaseballPlayer bp = new BaseballPlayer(); Console.WriteLine("What is the players name?"); bp.Name = Console.ReadLine(); int atBat = getIntInput("How many times has the player been at bat?", 1, 24); bp.AtBats = atBat; /* * Console.WriteLine("How many times has the player been at bat?"); * string strAtBat = Console.ReadLine(); * double atBat = double.Parse(strAtBat); */ int timesHit = getIntInput("How many times has the player hit?", 0, atBat); bp.NumHits = timesHit; /* * Console.WriteLine("How many times has the player hit?"); * string strTimesHit = Console.ReadLine(); * int timesHit = int.Parse(strTimesHit); */ players[i] = bp; } //print the name and batting average of each player Console.WriteLine("Player name\tBatting average"); /* prefer the foreach loop because we don't care about the index i and we aren't chagning it * for (int i =0; i<numPlayers; i++) * { * Console.WriteLine(players[i].Name + " " + players[i].BattingAverageString); * } */ foreach (BaseballPlayer b in players) { Console.WriteLine(b.Name + "\t" + b.BattingAverageString); } //print the player name and batting average of the player with the highest batting average BaseballPlayer playerWithHighestBattingAverage = players[0]; for (int i = 1; i < numPlayers; i++) //start at one because we're assuming first element is the highest to start { if (players[i].BattingAverage > playerWithHighestBattingAverage.BattingAverage) { playerWithHighestBattingAverage = players[i]; } } Console.WriteLine(playerWithHighestBattingAverage.Name + " had the best batting average of " + playerWithHighestBattingAverage.BattingAverageString); /* * Console.WriteLine("Fun with strings at the end"); * string languages = "C#;Java;javascript"; * string[] arrayLanguages = languages.Split("java"); * * string sentence = "we will be done in time to each lunch at a reasonable time."; * string[] words = sentence.Split(' '); * Console.WriteLine("the third word is " + words[2]); */ }
static void Main(string[] args) { var point = new Coordinate(); point.Latitude = (decimal) - 82.34561; point.Longitude = (decimal) - 27.9674; point.Label = "Somewhere you want to be"; point.Color = "Red"; Console.WriteLine(point); var workPants = new Pants("Haggar", "Blue", 32, 31); workPants.Worn("Frank"); Console.WriteLine(workPants); var cat = new Pet("King", "Maine Coon"); cat.Adopt("Frank"); Console.WriteLine(cat); var newCar = new Car("Volkswagen", "Jetta GLI", 2017, true, 90, 29000, 210); newCar.Driver("Frank"); newCar.IncreaseSpeed(10); newCar.DecreaseValue(9000); newCar.IncreaseHP(15); Console.WriteLine(newCar); var newCar2 = new Car("Nissan", "Skyline", 1999, true, 110, 150000, 376); newCar2.Driver("Carla"); newCar2.IncreaseSpeed(20); newCar2.IncreaseValue(20000); newCar2.DecreaseHP(20); Console.WriteLine(newCar2); var airplane1 = new Airplane("Boeing", "SuperMax 8"); // Passing arguments to this instance of a class. airplane1.GroundedPlane(true, "Delta Airlines"); // Passing arguments to this method used in the airplane1 class instance. Console.WriteLine(airplane1); var airplane2 = new Airplane("Airbus", "A321"); airplane2.GroundedPlane(false, "Air France"); Console.WriteLine(airplane2); var myPack = new BackPack("Frank", "Red", 12); for (var i = 0; i < 3; i++) { myPack.AddItem(); } var campingPack = new BackPack("Mark", "Blue", 36); for (var i = 0; i < 13; i++) { campingPack.AddItem(); } var purse = new BackPack("Carla", "Green", 6); for (var i = 0; i < 10; i++) { purse.AddItem(); } Console.WriteLine(myPack); Console.WriteLine(campingPack); Console.WriteLine(purse); var pegasus1 = new Pegasus(45, 50); pegasus1.IncreaseSpeed(20); pegasus1.FlapWings(50); Console.WriteLine(pegasus1); var bird1 = new Bird(20); bird1.FlapWings(10); Console.WriteLine(bird1); var horse1 = new Horse(30, 30); horse1.IncreaseSpeed(40); horse1.FlapWings(50); Console.WriteLine(horse1); /* var animal1 = new Animal { * Name = "Wilbur", * FavoriteFood = "Slop", * Greeting = "Oink" * }; * animal1.Speak(); * animal1.Eat(); * Console.WriteLine("Hello");*/ var animal2 = new Mule { Name = "StubbornDale" }; animal2.Speak(); animal2.Eat(); // var lancelot = new Knight(); var legolas = new Archer(); var merlin = new Wizard(); var army = new List <Warrior>(); army.Add(lancelot); army.Add(legolas); army.Add(merlin); army.ForEach(fighter => fighter.Attack()); // var lancelot2 = new Knight2(); var legolas2 = new Archer2(); var merlin2 = new Wizard2(); var golem2 = new Giant2(); var gimmly2 = new Cleric2(); var army2 = new List <Warrior2>(); army2.Add(lancelot2); army2.Add(legolas2); army2.Add(merlin2); army2.Add(golem2); army2.Add(gimmly2); army2.ForEach(fighter => fighter.Attack()); // var mickeyMantel = new BaseballPlayer(); var michaelJordan = new BasketballPlayer(); var danMarino = new FootballPlayer(); var joeMontana = new FootballPlayer(); var league = new List <ScoringAthlete>(); league.Add(mickeyMantel); league.Add(michaelJordan); league.Add(danMarino); league.Add(joeMontana); league.ForEach(player => player.Score()); // Console.ReadLine(); }
public void Add(BaseballPlayer baseballPlayer) { db.BaseballPlayers.Add(baseballPlayer); db.SaveChanges(); }
public void Add(BaseballPlayer baseballPlayer) { baseballPlayers.Add(baseballPlayer); baseballPlayer.ID = baseballPlayers.Max(r => r.ID) + 1; }