示例#1
0
 public bool CreateLeagueTeams(Team _teams)
 {
     try
     {
         using (SPORT_LINK_DBDataContext db = new SPORT_LINK_DBDataContext())
         {
             var    query   = from team in db.SPORTs where team.Name.ToLower().Equals(_teams.Name.ToLower()) select team;
             SPORT  teams   = new SPORT();
             LEAGUE leagues = new LEAGUE();
             if (query.Count() != 0)
             {
                 teams = query.Single();
                 var leagueQuery = from league in db.LEAGUEs where league.Name.ToLower().Equals(_teams.LeagueName.ToLower()) select league;
                 if (leagueQuery.Count() != 0)
                 {
                     leagues = leagueQuery.Single();
                     var insertQuery = from team in db.SPORT_LEAGUEs
                                       where team.League_Id.Equals(leagues.League_Id) &&
                                       team.Sport_Id.Equals(teams.Sport_Id)
                                       select team;
                     if (insertQuery.Count() == 0) //Insert to DB
                     {
                         SPORT_LEAGUE toinsert = new SPORT_LEAGUE();
                         toinsert.League_Id   = leagues.League_Id;
                         toinsert.Sport_Id    = teams.Sport_Id;
                         toinsert.LeagueName  = leagues.Name;
                         toinsert.TeamName    = teams.Name;
                         toinsert.TeamAverage = 0;
                         db.SPORT_LEAGUEs.InsertOnSubmit(toinsert);
                         db.SubmitChanges();
                         return(true);
                     }
                     else
                     {
                         return(false);
                     }
                 }
                 else
                 {
                     return(false);
                 }
             }
             else
             {
                 return(false);
             }
         };
     }
     catch (Exception)
     {
         return(false);
     }
 }
示例#2
0
        //Helper Methods
        //Updating Team Average for each team
        //Sum of averages per match devided by Number of team appearance in a league
        public string calcAverage(Game gm)
        {
            string status          = "";
            int    T1_NumAppearnce = 0;
            int    T2_NumAppearnce = 0;

            using (SPORT_LINK_DBDataContext db = new SPORT_LINK_DBDataContext())
            {
                try
                {
                    //Get Team Names
                    var    Name    = (from sl in db.GAMEs where sl.Game_Id.Equals(gm.ID) select sl).First();
                    string TeamOne = Name.Team1;
                    string TeamTwo = Name.Team2;

                    //Get Total Number of team appearance
                    var T1_query = (from game in db.GAMEs where game.Team1.Equals(TeamOne) || game.Team2.Equals(TeamOne) select game).ToList();
                    T1_NumAppearnce = T1_query.Count();
                    var T2_query = (from game in db.GAMEs where game.Team1.Equals(TeamTwo) || game.Team2.Equals(TeamTwo) select game).ToList();
                    T2_NumAppearnce = T2_query.Count();

                    //SUm of games averages per team
                    decimal sum = 0;
                    foreach (GAME game in T1_query)
                    {
                        sum += Convert.ToDecimal(game.GAME_STATs.Where(p => p.Game_Id.Equals(game.Game_Id)).Sum(p => p.Team1_OveralAverage));
                    }
                    decimal T2_Sum = 0;
                    foreach (GAME game in T2_query)
                    {
                        T2_Sum += Convert.ToDecimal(game.GAME_STATs.Where(p => p.Game_Id.Equals(game.Game_Id)).Sum(p => p.Team1_OveralAverage));
                    }

                    //Now Compute The Average
                    decimal T1_Average = sum / T1_NumAppearnce;
                    decimal T2_Average = T2_Sum / T2_NumAppearnce;

                    //Insert Into DB
                    var Team_One = (from tm in db.SPORT_LEAGUEs where tm.TeamName.Equals(TeamOne) select tm).First();
                    if (Team_One != null)
                    {
                        SPORT_LEAGUE toinsert = Team_One;
                        toinsert.TeamAverage = T1_Average;
                        status = "success: updated t1";
                    }
                    else
                    {
                        status += "failed: cant update t1";
                    }
                    var Team_Two = (from tm in db.SPORT_LEAGUEs where tm.TeamName.Equals(TeamTwo) select tm).First();
                    if (Team_Two != null)
                    {
                        SPORT_LEAGUE toinsert = Team_Two;
                        toinsert.TeamAverage = T2_Average;
                        db.SubmitChanges();
                        status += "success: updated t2";
                    }
                    else
                    {
                        status += "failed: cant update t2";
                    }
                }
                catch (Exception)
                {
                    status += "failed: catched";
                }
            };
            return(status);
        }