public ActionResult EclecticPlayerRnds(int compID, int compPlayerID, int courseID) { PointsScore pScore = new PointsScore(); var eclecPlayerRnds = (from cs in db.CompScores join cp in db.CompPlayers on cs.CompPlayerID equals cp.CompPlayerID join ur in db.Users on cp.UserID equals ur.UserID join pr in db.Profiles on ur.UserID equals pr.UserID where cp.CompID == compID && cs.CompPlayerID == compPlayerID && cs.CourseID == courseID orderby cs.RndDate select new NetScoreView { RndDate = cs.RndDate, HCap = cs.PlayerHcap, TeeColour = cs.TeeColour, CompScoreID = cs.CompScoreID }).ToList(); // Loop through each Round to calculate and store Net score Par Score and Total Score foreach (var item in eclecPlayerRnds) { int compScoreID = item.CompScoreID; var compScores = from cs in db.CompScores where cs.CompScoreID == compScoreID select cs; foreach (var gScore in compScores) { item.Hole1 = pScore.NetScore(courseID, 1, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole1); item.Hole2 = pScore.NetScore(courseID, 2, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole2); item.Hole3 = pScore.NetScore(courseID, 3, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole3); item.Hole4 = pScore.NetScore(courseID, 4, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole4); item.Hole5 = pScore.NetScore(courseID, 5, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole5); item.Hole6 = pScore.NetScore(courseID, 6, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole6); item.Hole7 = pScore.NetScore(courseID, 7, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole7); item.Hole8 = pScore.NetScore(courseID, 8, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole8); item.Hole9 = pScore.NetScore(courseID, 9, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole9); item.Hole10 = pScore.NetScore(courseID, 10, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole10); item.Hole11 = pScore.NetScore(courseID, 11, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole11); item.Hole12 = pScore.NetScore(courseID, 12, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole12); item.Hole13 = pScore.NetScore(courseID, 13, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole13); item.Hole14 = pScore.NetScore(courseID, 14, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole14); item.Hole15 = pScore.NetScore(courseID, 15, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole15); item.Hole16 = pScore.NetScore(courseID, 16, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole16); item.Hole17 = pScore.NetScore(courseID, 17, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole17); item.Hole18 = pScore.NetScore(courseID, 18, Convert.ToInt32(item.HCap), item.TeeColour, gScore.Hole18); } item.TotalScore = item.Hole1 + item.Hole2 + item.Hole3 + item.Hole4 + item.Hole5 + item.Hole6 + item.Hole7 + item.Hole8 + item.Hole9 + item.Hole10 + item.Hole11 + item.Hole12 + item.Hole13 + item.Hole14 + item.Hole15 + item.Hole16 + item.Hole17 + item.Hole18; // Get Par Score int parScore = item.TotalScore - cInfo.GetCoursePar(courseID, "Yellow"); if (parScore == 0) { item.ParScore = "E"; } else if (parScore > 0) { item.ParScore = "+" + parScore.ToString(); } else { item.ParScore = parScore.ToString(); } } // CourseID & CompID ViewBag.CourseID = courseID; ViewBag.CompID = compID; // Course Name ViewBag.Course = cInfo.GetCourseName(courseID); // Player Name ViewBag.PlayerName = pStats.GetPlayerName(compPlayerID); // Photo ViewBag.Photo = pStats.GetPlayerPhoto(compPlayerID); // Current Handicap ViewBag.CurrentHcap = pStats.CurrentHcap(compPlayerID); // Get list of hole Pars for this course List <int> parList = new List <int>(); for (int i = 1; i < 19; i++) { parList.Add(cInfo.GetHolePar(i, courseID, "Yellow")); } ViewBag.ParList = parList; return(View(eclecPlayerRnds)); }