public ActionResult Edit(PlayersEditModel playersEditModel, int?id) { using (tennisContext db = new tennisContext()) { if (id == null) { return(BadRequest()); } if (Request.Method == "POST") { if (ModelState.IsValid) { Player player = db.Player.Find(id); db.Entry(player).CurrentValues.SetValues(playersEditModel.Player); db.Entry(player).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Details", new { id })); } } playersEditModel.Player = db.Player.Find(id.Value); if (playersEditModel.Player == null) { return(NotFound()); } int Year = DateTime.Now.Year; List <int?> Years = new List <int?>() { null }; for (int i = 40; i > 0; i--) { Years.Add(Year); Year--; } playersEditModel.Years = new SelectList(Years); if (playersEditModel.Player.Dob.HasValue) { playersEditModel.Dob = playersEditModel.Player.Dob.Value.ToString("yyyy-MM-dd"); playersEditModel.Age = AgeFormatter.FormatAge(DateTime.Parse(playersEditModel.Dob)); } } return(View(playersEditModel)); }
public ActionResult Index(CountriesIndexModel countriesIndexModel) { using (tennisContext db = new tennisContext()) { if (countriesIndexModel.CountryToDelete != null) { Country country = db.Country.Find(countriesIndexModel.CountryToDelete); if (country != null && country.Player.Count == 0) { db.Country.Remove(country); db.SaveChanges(); } } countriesIndexModel.Countries = db.Country .Select(country => country) .Include("Player") .OrderBy(c => c.Name).ToList(); } return(View(countriesIndexModel)); }
public static void ResetRank(int year, string gender, tennisContext db) { int newRank = 0; int ordinalRank = 0; int lastPoints = int.MaxValue; List <Ranking> UpdatedRankings = db.Ranking .Select(ranking => ranking) .Where(r => r.Year.Value == year && r.Player.Gender == gender) .OrderByDescending(r => r.Points) .ToList(); foreach (Ranking Ranking in UpdatedRankings) { ordinalRank++; if (Ranking.Points < lastPoints) { newRank = ordinalRank; } lastPoints = Ranking.Points.Value; Ranking.Rank = newRank; db.Entry(Ranking).State = EntityState.Modified; } }
public RolesController(tennisContext context) { _context = context; }
public MembersController(tennisContext context) { _context = context; }
public HomeController(tennisContext context) { _context = context; }
public SchedulesController(tennisContext context) { _context = context; }
public ActionResult Index(LoadRankingsModel loadRankingsModel) { using (tennisContext db = new tennisContext()) { if (Request.Method == "POST") { if (loadRankingsModel.RankingsToUpdate == "ATP") { using (WebClient wc = new WebClient()) { string Gender = "M"; var sJson = wc.DownloadString("https://vbarbaresi.opendatasoft.com/explore/dataset/atp-rankings/download/?format=json&timezone=Europe/London"); JArray json = JsonConvert.DeserializeObject <JArray>(sJson); JEnumerable <JToken> records = json.Children(); JToken Timestamp = records.First().SelectToken("record_timestamp"); int year = Timestamp.ToObject <DateTime>().Year; int count = 0; db.Ranking.RemoveRange(db.Ranking.Select(r => r).Where(r => r.Player.Gender == Gender && r.Year == year)); foreach (var record in records) { JToken Fields = record.SelectToken("fields"); string PlayerName = Fields.Value <string>("player_name"); string CountryName = Fields.Value <string>("player_country"); int Points = Fields.Value <int>("player_points"); if (CountryName == "United Kingdom") { CountryName = "Great Britain"; } else if (CountryName.Equals("usa", StringComparison.InvariantCultureIgnoreCase) || CountryName == "United States") { CountryName = "USA"; } else if (CountryName == "Bosnia") { CountryName = "Bosnia And Herzegovina"; } else if (CountryName == "Slovak Republic") { CountryName = "Slovakia"; } else if (CountryName == "Chinese Taipei") { CountryName = "Taiwan"; } PlayerName = PlayerName.Trim(); PlayerName = Regex.Replace(PlayerName, " +", " "); Ranking Ranking = new Ranking(); Ranking.Points = Points; Ranking.Year = year; if (db.Player.Select(p => p).Where(p => p.Name == PlayerName && p.Country.Name == CountryName).SingleOrDefault() == null) { Player Player = new Player(); Player.Name = PlayerName; Player.Gender = Gender; if (db.Country.Select(c => c).Where(c => c.Name == CountryName).SingleOrDefault() == null) { Country Country = new Country(); Country.Name = CountryName; db.Country.Add(Country); db.SaveChanges(); } Player.CountryId = db.Country.Select(c => c).Where(c => c.Name == CountryName).Single().Id; db.Player.Add(Player); db.SaveChanges(); } Ranking.PlayerId = db.Player.Select(p => p).Where(p => p.Name == PlayerName && p.Country.Name == CountryName).Single().Id; db.Ranking.Add(Ranking); db.SaveChanges(); count++; } RankingsUpdate.ResetRank(year, Gender, db); db.SaveChanges(); loadRankingsModel.Message = "Loaded " + count + " rankings."; } } if (loadRankingsModel.RankingsToUpdate == "WTA") { using (WebClient wc = new WebClient()) { string Gender = "F"; var sJson = wc.DownloadString("https://data.opendatasoft.com/explore/dataset/wta-rankings@vbarbaresi/download/?format=json&timezone=Europe/London"); JArray json = JsonConvert.DeserializeObject <JArray>(sJson); JEnumerable <JToken> records = json.Children(); JToken Timestamp = records.First().SelectToken("record_timestamp"); int year = Timestamp.ToObject <DateTime>().Year; int count = 0; db.Ranking.RemoveRange(db.Ranking.Select(r => r).Where(r => r.Player.Gender == Gender && r.Year == year)); foreach (var record in records) { JToken Fields = record.SelectToken("fields"); string PlayerName = Fields.Value <string>("player_name"); string CountryName = Fields.Value <string>("player_country"); int Points = Fields.Value <int>("player_points"); if (CountryName == "United Kingdom") { CountryName = "Great Britain"; } else if (CountryName.Equals("usa", StringComparison.InvariantCultureIgnoreCase) || CountryName == "United States") { CountryName = "USA"; } else if (CountryName == "Bosnia") { CountryName = "Bosnia And Herzegovina"; } else if (CountryName == "Slovak Republic") { CountryName = "Slovakia"; } else if (CountryName == "Chinese Taipei") { CountryName = "Taiwan"; } PlayerName = PlayerName.Trim(); PlayerName = Regex.Replace(PlayerName, " +", " "); Ranking Ranking = new Ranking(); Ranking.Points = Points; Ranking.Year = year; if (db.Player.Select(p => p).Where(p => p.Name == PlayerName && p.Country.Name == CountryName).SingleOrDefault() == null) { Player Player = new Player(); Player.Name = PlayerName; Player.Gender = Gender; if (db.Country.Select(c => c).Where(c => c.Name == CountryName).SingleOrDefault() == null) { Country Country = new Country(); Country.Name = CountryName; db.Country.Add(Country); db.SaveChanges(); } Player.CountryId = db.Country.Select(c => c).Where(c => c.Name == CountryName).Single().Id; db.Player.Add(Player); db.SaveChanges(); } Ranking.PlayerId = db.Player.Select(p => p).Where(p => p.Name == PlayerName && p.Country.Name == CountryName).Single().Id; db.Ranking.Add(Ranking); db.SaveChanges(); count++; } RankingsUpdate.ResetRank(year, Gender, db); db.SaveChanges(); loadRankingsModel.Message = "Loaded " + count + " rankings."; } } } } return(View(loadRankingsModel)); }
public EventsController(tennisContext context) { _context = context; }
public ActionResult Details(PlayersDetailsModel playersDetailsModel, int?id) { using (tennisContext db = new tennisContext()) { if (id == null) { return(BadRequest()); } playersDetailsModel.Player = db.Player.Include("Country").Include("Ranking").First(p => p.Id == id); // .Find(id); if (playersDetailsModel.Player == null) { return(NotFound()); } if (playersDetailsModel.DeletePlayer) { if (playersDetailsModel.Player.Ranking.Count == 0 && playersDetailsModel.Player != null) { db.Player.Remove(playersDetailsModel.Player); db.SaveChanges(); return(RedirectToAction("Index")); } } if (playersDetailsModel.Player.Gender == "M") { playersDetailsModel.Gender = "Male"; } else if (playersDetailsModel.Player.Gender == "F") { playersDetailsModel.Gender = "Female"; } if (playersDetailsModel.Player.Handed != null) { if (playersDetailsModel.Player.Handed == "L") { playersDetailsModel.Handed = "Left"; } else if (playersDetailsModel.Player.Handed == "R") { playersDetailsModel.Handed = "Right"; } } if (playersDetailsModel.Player.HeightFeet != null && playersDetailsModel.Player.HeightInches != null) { playersDetailsModel.Height = playersDetailsModel.Player.HeightFeet.ToString() + "\'" + playersDetailsModel.Player.HeightInches.ToString() + "\""; } if (playersDetailsModel.Player.Dob != null) { playersDetailsModel.Age = AgeFormatter.FormatAge(playersDetailsModel.Player.Dob.Value); playersDetailsModel.Dob = playersDetailsModel.Player.Dob.Value.ToLongDateString().TrimStart('0'); } } return(View(playersDetailsModel)); }
public CoachesController(tennisContext context) { _context = context; }