示例#1
0
        private void CreateFederationSeason(Match match)
        {
            SportFederation spFed = new SportFederation();

            string country   = match.Country;
            string nameSport = match.NameSportString;
            var    searchSF  = from c in db.SportFederations
                               where c.NameSportString == nameSport &&
                               c.Country == country
                               select c;

            if (searchSF.Count() > 0)
            {
                FederationSeason fedSeason = new FederationSeason();
                spFed = searchSF.First();

                fedSeason.NameTournament    = LeagueName.Name(match.Country + match.NameSport.ToString() + match.Tournament.ToString());
                fedSeason.Season            = match.Season;
                fedSeason.SportFederation   = spFed;
                fedSeason.SportFederationId = spFed.SportFederationId;
                fedSeason.Tournament        = match.Tournament;
                fedSeason.Matches           = new List <Match>();

                db.FederationSeasons.Add(fedSeason);
                db.SaveChanges();
            }
        }
示例#2
0
        private TeamSeason CreateTeamSeason(Match match, string NameTeam)
        {
            TeamSeason teamSeason = new TeamSeason();
            string     nameTeam   = "";

            if (NameTeam == "home")
            {
                nameTeam = match.HomeTeam;
            }
            else
            {
                nameTeam = match.AwayTeam;
            }

            string nameSport = match.NameSport.ToString();
            string country   = match.Country;
            string name      = nameTeam;
            var    search    = from c in db.Teams
                               where
                               (c.Country == country || country == "UEFA") &&
                               c.NameSportString == nameSport &&
                               c.Name == name
                               select c;

            string season     = match.Season.ToString();
            string tournament = match.Tournament.ToString();
            var    searchFS   = from c in db.FederationSeasons
                                where
                                c.SportFederation.Country == country &&
                                c.SportFederation.NameSportString == nameSport &&
                                c.SeasonString == season &&
                                c.TournamentString == tournament
                                select c;

            if (search.Count() > 0 && searchFS.Count() > 0)
            {
                Team             team      = search.First();
                FederationSeason fedSeason = searchFS.First();

                teamSeason.NameTeam           = nameTeam;
                teamSeason.Season             = match.Season;
                teamSeason.FederationSeasonId = fedSeason.FederationSeasonId;
                teamSeason.FederationSeason   = fedSeason;
                teamSeason.Team   = team;
                teamSeason.TeamId = team.TeamId;

                db.TeamSeasons.Add(teamSeason);
                db.SaveChanges();
            }
            else
            {
                return(null);
            }

            return(teamSeason);
        }
示例#3
0
        public void AddFederationSeason(string data)
        {
            data = data.Replace("\n", "&");
            data = data.Replace("\r", "");
            List <string> dataList = data.Split('&').ToList();

            foreach (string item in dataList)
            {
                FederationSeason federationSeason = new FederationSeason();
                string[]         list             = item.Split(',');
                if (list.Count() < 5)
                {
                    continue;
                }
                string nameSport = list[0];
                string country   = list[1];
                string season    = Enum.Format(typeof(Season), Convert.ToInt32(list[4]), "G");

                var search = from c in db.FederationSeasons
                             where
                             c.SportFederation.NameSportString == nameSport &&
                             c.SportFederation.Country == country &&
                             c.SeasonString == season
                             select c;

                if (search.Count() == 0)
                {
                    federationSeason.Tournament     = list[2].ParseEnum <Tournament>();
                    federationSeason.NameTournament = list[3];
                    federationSeason.Season         = list[4].ParseEnum <Season>();

                    string          countryF   = list[1];
                    string          nameSportF = list[0];
                    SportFederation sportFed   = new SportFederation();
                    var             searchSF   = from c in db.SportFederations
                                                 where c.Country == countryF &&
                                                 c.NameSportString == nameSportF
                                                 select c;

                    if (searchSF.Count() > 0)
                    {
                        sportFed = searchSF.First();
                    }
                    else
                    {
                        continue;
                    }
                    federationSeason.SportFederationId = sportFed.SportFederationId;
                    federationSeason.SportFederation   = sportFed;

                    db.FederationSeasons.Add(federationSeason);
                    db.SaveChanges();
                }
            }
        }
示例#4
0
 public ActionResult DeleteConfirmed(int id)
 {
     try
     {
         FederationSeason federationSeason = db.FederationSeasons.Find(id);
         db.FederationSeasons.Remove(federationSeason);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     catch (Exception e)
     {
         ViewBag.Error = e.Message;
         return(View("Error"));
     }
 }
示例#5
0
 public ActionResult Edit([Bind(Include = "FederationSeasonId,TournamentString,NameTournament,SeasonString,SportFederationId")] FederationSeason federationSeason)
 {
     try
     {
         if (ModelState.IsValid)
         {
             db.Entry(federationSeason).State = EntityState.Modified;
             db.SaveChanges();
             return(RedirectToAction("Index"));
         }
         ViewBag.SportFederationId = new SelectList(db.SportFederations, "SportFederationId", "NameSportString", federationSeason.SportFederationId);
         return(View(federationSeason));
     }
     catch (Exception e)
     {
         ViewBag.Error = e.Message;
         return(View("Error"));
     }
 }
示例#6
0
 // GET: FederationSeasons/Details/5
 public ActionResult Details(int?id)
 {
     try
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         FederationSeason federationSeason = db.FederationSeasons.Find(id);
         if (federationSeason == null)
         {
             return(HttpNotFound());
         }
         return(View(federationSeason));
     }
     catch (Exception e)
     {
         ViewBag.Error = e.Message;
         return(View("Error"));
     }
 }
示例#7
0
 // GET: FederationSeasons/Edit/5
 public ActionResult Edit(int?id)
 {
     try
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         FederationSeason federationSeason = db.FederationSeasons.Find(id);
         if (federationSeason == null)
         {
             return(HttpNotFound());
         }
         ViewBag.SportFederationId = new SelectList(db.SportFederations, "SportFederationId", "NameSportString", federationSeason.SportFederationId);
         return(View(federationSeason));
     }
     catch (Exception e)
     {
         ViewBag.Error = e.Message;
         return(View("Error"));
     }
 }
示例#8
0
        public void AddTeamSeason(string data)
        {
            data = data.Replace("\n", "&");
            data = data.Replace("\r", "");
            List <string> dataList = data.Split('&').ToList();

            foreach (string item in dataList)
            {
                TeamSeason teamSeason = new TeamSeason();
                string[]   list       = item.Split(',');
                if (list.Count() < 15)
                {
                    continue;
                }

                string nameSport = list[0];
                string name      = list[4];
                var    search    = from c in db.Teams
                                   where
                                   c.NameSportString == nameSport &&
                                   c.Name == name
                                   select c;

                Team team = new Team();
                if (search.Count() < 1)
                {
                    continue;
                }
                else
                {
                    team = search.First();
                }

                string season     = Enum.Format(typeof(Season), Convert.ToInt32(list[3]), "G");
                string country    = list[1];
                string tournament = list[2];

                var searchFS = from c in db.FederationSeasons
                               where
                               c.SportFederation.Country == country &&
                               c.SportFederation.NameSportString == nameSport &&
                               c.SeasonString == season &&
                               c.TournamentString == tournament
                               select c;

                FederationSeason fedSeason = new FederationSeason();
                if (searchFS.Count() > 0)
                {
                    fedSeason = searchFS.First();
                }
                else
                {
                    continue;
                }

                teamSeason.Draw               = Convert.ToInt32(list[7]);
                teamSeason.FederationSeason   = fedSeason;
                teamSeason.FederationSeasonId = fedSeason.FederationSeasonId;
                teamSeason.GoalAgainst        = Convert.ToInt32(list[10]);
                teamSeason.Goals              = Convert.ToInt32(list[9]);
                teamSeason.HomeDraw           = Convert.ToInt32(list[14]);
                teamSeason.HomeGoalAgainst    = Convert.ToInt32(list[17]);
                teamSeason.HomeGoals          = Convert.ToInt32(list[16]);
                teamSeason.HomeLose           = Convert.ToInt32(list[15]);
                teamSeason.HomePlayed         = Convert.ToInt32(list[12]);
                teamSeason.HomePoint          = Convert.ToInt32(list[18]);
                teamSeason.HomeWin            = Convert.ToInt32(list[13]);
                teamSeason.Lose               = Convert.ToInt32(list[8]);
                teamSeason.NameTeam           = team.Name;
                teamSeason.Played             = Convert.ToInt32(list[5]);
                teamSeason.Point              = Convert.ToInt32(list[11]);
                teamSeason.Season             = season.ParseEnum <Season>();
                teamSeason.Team               = team;
                teamSeason.TeamId             = team.TeamId;
                teamSeason.Win = Convert.ToInt32(list[6]);

                db.TeamSeasons.Add(teamSeason);

                team.TeamSeasons.Add(teamSeason);
                db.Entry(team).State = EntityState.Modified;

                fedSeason.TeamSeasons.Add(teamSeason);
                db.Entry(fedSeason).State = EntityState.Modified;
            }
        }
示例#9
0
        public void AddMatch(string data)
        {
            data = data.Replace("\n", "&");
            data = data.Replace("\r", "");
            List <string> dataList = data.Split('&').ToList();

            foreach (string item in dataList)
            {
                using (var transaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        if (item == null || item == "")
                        {
                            return;
                        }

                        string[] itemList = item.Split('|');

                        Match    match = new Match();
                        string[] list  = itemList[0].Split(',');

                        string nameSportM = list[0];
                        string homeTeamM  = list[5];
                        string awayTeamM  = list[6];
                        string dateM      = list[4];
                        var    search     = from c in db.Matches
                                            where c.NameSportString == nameSportM &&
                                            c.HomeTeam == homeTeamM &&
                                            c.AwayTeam == awayTeamM &&
                                            c.Date == dateM
                                            select c;

                        if (search.Count() > 0)
                        {
                            continue;
                        }

                        match.NameSport = list[0].ParseEnum <NameSport>();
                        match.Country   = list[1];
                        string season = Enum.Format(typeof(Season), Convert.ToInt32(list[3]), "G");
                        match.Season     = season.ParseEnum <Season>();
                        match.Tournament = list[2].ParseEnum <Tournament>();
                        match.Date       = list[4];

                        match.HomeTeam     = list[5];
                        match.AwayTeam     = list[6];
                        match.HomeTeamGoal = Convert.ToInt32(list[7]);
                        match.AwayTeamGoal = Convert.ToInt32(list[8]);

                        if (list.Count() > 10)
                        {
                            match.Tour = list[10];
                        }

                        if (list[9] == "A")
                        {
                            match.HomeTeamResult = Result.Lose;
                            match.AwayTeamResult = Result.Win;
                        }
                        else if (list[9] == "D")
                        {
                            match.HomeTeamResult = Result.Draw;
                            match.AwayTeamResult = Result.Draw;
                        }
                        else if (list[9] == "H")
                        {
                            match.HomeTeamResult = Result.Win;
                            match.AwayTeamResult = Result.Lose;
                        }

                        if (itemList.Count() > 1)
                        {
                            if (itemList[1].Split(',').ToList()[0] != "")
                            {
                                match.ListHomePlayers = itemList[1].Split(',').ToList();
                            }
                        }
                        if (itemList.Count() > 2)
                        {
                            List <string> player = new List <string>();
                            player = itemList[2].Split(',').ToList();
                            if (player[0] != "")
                            {
                                match.ListAwayPlayers = new List <string>();
                                match.ListAwayPlayers.AddRange(player);
                            }
                        }
                        if (itemList.Count() == 5)
                        {
                            if (itemList[3].Split(',').ToList()[0] != "")
                            {
                                match.ListTimeLineHome = itemList[3].Split(',').ToList();
                            }
                            if (itemList[4].Split(',').ToList()[0] != "")
                            {
                                match.ListTimeLineAway = itemList[4].Split(',').ToList();
                            }
                        }

                        // Federation Season

                        FederationSeason fedSeason = new FederationSeason();

                        string countryFS   = match.Country;
                        string nameSportFS = match.NameSportString;
                        string seasonFS    = season;
                        var    searchFS    = from c in db.FederationSeasons
                                             where
                                             c.SportFederation.Country == countryFS &&
                                             c.SportFederation.NameSportString == nameSportFS &&
                                             c.SeasonString == seasonFS
                                             select c;

                        if (searchFS.Count() == 0)
                        {
                            CreateFederationSeason(match);
                        }

                        // Team Home

                        TeamSeason homeTeam = HomeTeam(ref match);

                        // Team Away

                        TeamSeason awayTeam = AwayTeam(ref match);

                        if (searchFS.Count() > 0)
                        {
                            fedSeason = searchFS.First();
                            fedSeason.Matches.Add(match);

                            db.Entry(fedSeason).State = EntityState.Modified;
                            db.SaveChanges();
                        }

                        // PlayerSeason

                        MatchAddPlayerSeason(match, homeTeam, match.ListHomePlayers, match.ListTimeLineHome);

                        MatchAddPlayerSeason(match, awayTeam, match.ListAwayPlayers, match.ListTimeLineAway);
                        transaction.Commit();
                    }
                    catch (Exception)
                    {
                        transaction.Rollback();
                        myException.Message = item;
                        throw;
                    }
                }
            }
            db.SaveChanges();
            db.Dispose();
            db = new DatabaseContext();
        }