Example #1
0
 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));
 }
Example #2
0
 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;
 }
Example #5
0
 public MembersController(tennisContext context)
 {
     _context = context;
 }
Example #6
0
 public HomeController(tennisContext context)
 {
     _context = context;
 }
Example #7
0
 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;
 }
Example #10
0
        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;
 }