Exemple #1
0
        protected void RadGridLiveScore_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            aqufitEntities entities = new aqufitEntities();
            Competition    comp     = null;
            long           compKey  = 0;

            if (Request["c"] != null)
            {
                compKey = Convert.ToInt64(Request["c"]);
                comp    = entities.Competitions.FirstOrDefault(c => c.Id == compKey);
            }
            if (compKey <= 0)
            {
                comp = entities.Competitions.FirstOrDefault();
            }
            long compCategoryKey = Convert.ToInt64(hiddenAjaxCompCategoryKey.Value);

            CompetitionTeamPool[] poolArray = entities.CompetitionTeamPools.Where(t => t.Competition.Id == compKey).OrderBy(t => t.Id).ToArray();
            if (poolArray.Length <= 0 && compCategoryKey == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM)
            {
                compCategoryKey = (int)Affine.Utils.WorkoutUtil.CompetitionCategory.IND_MALE;
            }
            if (compCategoryKey == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM)
            {
                long poolInd             = Convert.ToInt64(hiddenTeamPoolKey.Value);
                CompetitionTeamPool pool = poolArray[poolInd];
                IQueryable <CompetitionRegistration2TeamPool> teamArray = entities.CompetitionRegistration2TeamPool.Include("CompetitionRegistration.CompetitionAthletes.CompetitionWODResults").Include("CompetitionRegistration.CompetitionAthletes").Where(r2t => r2t.CompetitionTeamPool.Id == pool.Id && r2t.CompetitionRegistration != null).OrderBy(r2t => r2t.OverallRank);

                AthleteScore[] aScoreArray = teamArray.Select(a =>
                                                              new AthleteScore()
                {
                    FlexId         = (a.CompetitionRegistration.UserSetting != null ? a.CompetitionRegistration.UserSetting.UserName : ""),
                    AffiliateName  = a.CompetitionRegistration.CompetitionAthletes.FirstOrDefault().AffiliateName,
                    AthleteName    = a.CompetitionRegistration.TeamName,
                    UserSettingKey = a.CompetitionRegistration.GroupAffiliate.Id,
                    Height         = 0,
                    Age            = 0,
                    Id             = a.Id,
                    ImgUrl         = " ",
                    OverallRank    = a.OverallRank,
                    OverallScore   = a.OverallScore,
                    Sex            = " ",
                    Weight         = 0
                }).ToArray();
                int    i  = 0;
                string aa = "";
                foreach (CompetitionRegistration2TeamPool ct in teamArray)
                {
                    string scoringStr = string.Empty;
                    // Note: At this point this is a f*****g mess...
                    long aid = ct.CompetitionRegistration.CompetitionAthletes.FirstOrDefault().Id;
                    aa += " a:" + aid + ", ";
                    CompetitionWODResult[] resArray = entities.CompetitionWODResults.Where(r => r.CompetitionWOD.CompetitionTeamPool.Id == pool.Id && r.CompetitionAthlete.Id == aid).OrderBy(w => w.CompetitionWOD.Order).ToArray();
                    aa += " s:" + resArray.Length + ", ";
                    aa += " p:" + pool.Id + ", ";
                    //foreach (CompetitionWODResult wr in ct.CompetitionRegistration.CompetitionAthletes.FirstOrDefault().CompetitionWODResults.Where( c => c.CompetitionWOD != null && c.CompetitionWOD.CompetitionTeamPool.Id == poolKey ).OrderBy(w => w.Order))
                    foreach (CompetitionWODResult wr in resArray)
                    {
                        scoringStr += "<span>(" + wr.Rank + ")</span>";
                    }
                    aScoreArray[i++].WodRankScore = scoringStr;
                }
                // RadAjaxManager1.ResponseScripts.Add("alert('aa: "+aa+"');");
                RadGridLiveScore.DataSource = aScoreArray;

                poolInd++;
                if (poolInd >= poolArray.Length)
                {   // this will go back to disply the men...
                    RadAjaxManager1.ResponseScripts.Add(" $('#compCategoryName').html('-- Team Pool: " + pool.Name + " --'); $('#" + hiddenAjaxCompCategoryKey.ClientID + "').val(1); $('#" + hiddenTeamPoolKey.ClientID + "').val(0);");
                }
                else
                {   // next team pool...'
                    RadAjaxManager1.ResponseScripts.Add(" $('#compCategoryName').html('-- Team Pool: " + pool.Name + " --'); $('#" + hiddenAjaxCompCategoryKey.ClientID + "').val(2); $('#" + hiddenTeamPoolKey.ClientID + "').val(" + poolInd + ");");
                }
                //    RadAjaxManager1.ResponseScripts.Add("alert('poolkey2: '+$('#" + hiddenAjaxTeamPoolKey.ClientID + "').val());");
            }
            else
            {
                IQueryable <CompetitionAthlete> athleteQuery = entities.CompetitionAthletes.Include("CompetitionWODResults").Where(a => a.Competition.Id == comp.Id);
                athleteQuery = athleteQuery.Where(a => a.CompetitionRegistration.CompetitionCategory.Id == compCategoryKey).OrderBy(a => a.OverallRank);
                IQueryable <CompetitionWOD> compWods = entities.CompetitionWODs.Where(w => w.Competition.Id == compKey && w.CompetitionCategory.Id == compCategoryKey).OrderBy(w => w.Order);

                AthleteScore[] aScoreArray = athleteQuery.Select(a =>
                                                                 new AthleteScore()
                {
                    FlexId         = (a.UserSetting != null ? a.UserSetting.UserName : ""),
                    AffiliateName  = a.AffiliateName,
                    AthleteName    = a.AthleteName,
                    UserSettingKey = a.UserSetting.Id,
                    Height         = a.Height,
                    Age            = (a.BirthYear.HasValue ? (DateTime.Today.Year - a.BirthYear.Value) : 0),
                    Id             = a.Id,
                    ImgUrl         = a.ImgUrl,
                    OverallRank    = a.OverallRank,
                    OverallScore   = a.OverallScore,
                    Sex            = a.Sex,
                    Weight         = a.Weight
                }).ToArray();
                int i = 0;
                foreach (AthleteScore ca in aScoreArray)
                {
                    string scoringStr = string.Empty;
                    CompetitionWODResult[] wodResultArray = entities.CompetitionWODResults.Where(r => r.CompetitionAthlete.Id == ca.Id).OrderBy(r => r.CompetitionWOD.Order).ToArray();
                    // foreach (CompetitionWODResult wr in ca.CompetitionWODResults.OrderBy(w => w.Order))
                    foreach (CompetitionWODResult wr in wodResultArray)
                    {
                        scoringStr += "<span>(" + wr.Rank + ")</span>";
                    }
                    ca.WodRankScore = scoringStr;
                }
                RadGridLiveScore.DataSource = aScoreArray;
                if (compCategoryKey == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.IND_MALE)
                {   // display the females
                    RadAjaxManager1.ResponseScripts.Add(" $('#compCategoryName').html('-- Mens Individuals --'); $('#" + hiddenAjaxCompCategoryKey.ClientID + "').val(3); $('#" + hiddenAjaxTeamPoolKey.ClientID + "').val(0);");
                }
                else
                {   // display the teams..
                    RadAjaxManager1.ResponseScripts.Add(" $('#compCategoryName').html('-- Womens Individuals --'); $('#" + hiddenAjaxCompCategoryKey.ClientID + "').val(2); $('#" + hiddenAjaxTeamPoolKey.ClientID + "').val(0);");
                }
            }
        }
 protected void bAjaxPostback_Click(object sender, EventArgs e)
 {
     try
     {
         Affine.Data.Managers.IDataManager dataMan = Affine.Data.Managers.LINQ.DataManager.Instance;
         aqufitEntities entities = new aqufitEntities();
         switch (hiddenAjaxAction.Value)
         {
             case "AddWOD":
                 long wodKey = Convert.ToInt64(hiddenAjaxValue.Value);
                 int compType = Convert.ToInt32(hiddenAjaxValue2.Value);
                 long poolKey = 0;
                 if (compType == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM)
                 {
                     poolKey = Convert.ToInt32(hiddenAjaxValue3.Value);
                 }
                 WOD wod = entities.WODs.Include("WODType").FirstOrDefault(w => w.Id == wodKey);
                 Competition comp = entities.Competitions.Include("CompetitionWODs").FirstOrDefault(c => c.Id == CompetitionKey);
                 if (wod != null && comp != null)
                 {
                     CompetitionWOD compWod = new CompetitionWOD()
                     {
                         WOD = wod,
                         Order = comp.CompetitionWODs.Count,
                         Competition = comp,
                         CompetitionCategory= entities.CompetitionCategories.FirstOrDefault( c => c.Id == compType ),
                         CompetitionTeamPool = entities.CompetitionTeamPools.FirstOrDefault( tp => tp.Id == poolKey )
                     };
                     entities.AddToCompetitionWODs(compWod);
                     entities.SaveChanges();
                     RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.WorkoutFinder.close(); Aqufit.Page.Actions.refreshGrid("+compType+"); ");
                 }
                 break;
             case "DeleteWOD":
                 long compWodKey = Convert.ToInt64(hiddenAjaxValue.Value);
                 CompetitionWOD compW = entities.CompetitionWODs.Include("CompetitionCategory").FirstOrDefault(c => c.Id == compWodKey && c.Competition.Id == CompetitionKey);
                 if (compW != null)
                 {
                     RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.refreshGrid(" + compW.CompetitionCategory.Id + "); ");
                     entities.DeleteObject(compW);
                     entities.SaveChanges();
                     // rebuild the order of the workouts now..
                     CompetitionWOD[] orderList = entities.CompetitionWODs.Where(c => c.Competition.Id == CompetitionKey).OrderBy( c => c.Order ).ToArray();
                     int order = 0;
                     foreach (CompetitionWOD cw in orderList)
                     {
                         cw.Order = (order++);
                     }
                     entities.SaveChanges();
                 }
                 break;
             case "AddTeamPool":
                 string name = Convert.ToString(hiddenAjaxValue.Value);
                 CompetitionTeamPool pool = new CompetitionTeamPool()
                 {
                     Name = name,
                     Competition = entities.Competitions.FirstOrDefault( c => c.Id == CompetitionKey)
                 };
                 entities.AddToCompetitionTeamPools(pool);
                 entities.SaveChanges();
                 RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.TeamPoolWin.close(); Aqufit.Page.Actions.refreshTeamPoolGrid(); ");
                 break;
             case "LoadTeamPool":
                 long tpKey = Convert.ToInt64(hiddenAjaxValue.Value);
                 string[] teamKeyArray = entities.CompetitionRegistrations.Where(r => r.CompetitionRegistration2TeamPool
                                                                          .FirstOrDefault(c => c.CompetitionTeamPool.Id == tpKey) != null)
                                                                          .Select( r => r.Id ).Cast<string>().ToArray();
                 string jsTeamArray = "[]";
                 if (teamKeyArray.Length > 0)
                 {
                     jsTeamArray = "[" + teamKeyArray.Aggregate((i, j) => "" + i + "," + j) + "]";
                 }
                 RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.TeamPoolManagerWin.loadData(" + jsTeamArray + "); ");
                 break;
             case "SaveTeamPool":
                 long tPoolKey = Convert.ToInt64(hiddenAjaxValue.Value);
                 CompetitionRegistration2TeamPool[] clearArray = entities.CompetitionRegistration2TeamPool.Where(c => c.CompetitionTeamPool.Id == tPoolKey).ToArray();
                 foreach (CompetitionRegistration2TeamPool clear in clearArray)
                 {
                     entities.DeleteObject(clear);
                 }
                 entities.SaveChanges();
                 CompetitionTeamPool tpool = entities.CompetitionTeamPools.FirstOrDefault(tp => tp.Id == tPoolKey);
                 foreach (RadListBoxItem item in RadListBoxPoolDest.Items)
                 {
                     long rId = Convert.ToInt64(item.Value);
                     CompetitionRegistration2TeamPool c2t = new CompetitionRegistration2TeamPool()
                     {
                         CompetitionTeamPool = tpool,
                         CompetitionRegistration = entities.CompetitionRegistrations.FirstOrDefault( r => r.Id == rId )
                     };
                     entities.AddToCompetitionRegistration2TeamPool(c2t);
                 }
                 entities.SaveChanges();
                 RadListBoxTeamSource.DataSource = entities.CompetitionRegistrations.Where(r => r.Competition.Id == CompetitionKey && r.CompetitionCategory.Id == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM).Select(r => new { Name = r.TeamName, Value = r.Id }).ToArray();
                 RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.TeamPoolManagerWin.close(); Aqufit.Page.Actions.refreshTeamPoolGrid(); ");
                 break;
         }
     }
     catch (Exception ex)
     {
         RadAjaxManager1.ResponseScripts.Add("Aqufit.Page.Actions.ShowFail('ERROR: There was a problem with the action (" + ex.StackTrace.Replace("'","").Replace("\r","").Replace("\n","") + ")');");
     }
 }
Exemple #3
0
        protected void bAjaxPostback_Click(object sender, EventArgs e)
        {
            try
            {
                Affine.Data.Managers.IDataManager dataMan = Affine.Data.Managers.LINQ.DataManager.Instance;
                aqufitEntities entities = new aqufitEntities();
                switch (hiddenAjaxAction.Value)
                {
                case "AddWOD":
                    long wodKey   = Convert.ToInt64(hiddenAjaxValue.Value);
                    int  compType = Convert.ToInt32(hiddenAjaxValue2.Value);
                    long poolKey  = 0;
                    if (compType == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM)
                    {
                        poolKey = Convert.ToInt32(hiddenAjaxValue3.Value);
                    }
                    WOD         wod  = entities.WODs.Include("WODType").FirstOrDefault(w => w.Id == wodKey);
                    Competition comp = entities.Competitions.Include("CompetitionWODs").FirstOrDefault(c => c.Id == CompetitionKey);
                    if (wod != null && comp != null)
                    {
                        CompetitionWOD compWod = new CompetitionWOD()
                        {
                            WOD                 = wod,
                            Order               = comp.CompetitionWODs.Count,
                            Competition         = comp,
                            CompetitionCategory = entities.CompetitionCategories.FirstOrDefault(c => c.Id == compType),
                            CompetitionTeamPool = entities.CompetitionTeamPools.FirstOrDefault(tp => tp.Id == poolKey)
                        };
                        entities.AddToCompetitionWODs(compWod);
                        entities.SaveChanges();
                        RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.WorkoutFinder.close(); Aqufit.Page.Actions.refreshGrid(" + compType + "); ");
                    }
                    break;

                case "DeleteWOD":
                    long           compWodKey = Convert.ToInt64(hiddenAjaxValue.Value);
                    CompetitionWOD compW      = entities.CompetitionWODs.Include("CompetitionCategory").FirstOrDefault(c => c.Id == compWodKey && c.Competition.Id == CompetitionKey);
                    if (compW != null)
                    {
                        RadAjaxManager1.ResponseScripts.Add(" Aqufit.Page.Actions.refreshGrid(" + compW.CompetitionCategory.Id + "); ");
                        entities.DeleteObject(compW);
                        entities.SaveChanges();
                        // rebuild the order of the workouts now..
                        CompetitionWOD[] orderList = entities.CompetitionWODs.Where(c => c.Competition.Id == CompetitionKey).OrderBy(c => c.Order).ToArray();
                        int order = 0;
                        foreach (CompetitionWOD cw in orderList)
                        {
                            cw.Order = (order++);
                        }
                        entities.SaveChanges();
                    }
                    break;

                case "AddTeamPool":
                    string name = Convert.ToString(hiddenAjaxValue.Value);
                    CompetitionTeamPool pool = new CompetitionTeamPool()
                    {
                        Name        = name,
                        Competition = entities.Competitions.FirstOrDefault(c => c.Id == CompetitionKey)
                    };
                    entities.AddToCompetitionTeamPools(pool);
                    entities.SaveChanges();
                    RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.TeamPoolWin.close(); Aqufit.Page.Actions.refreshTeamPoolGrid(); ");
                    break;

                case "LoadTeamPool":
                    long     tpKey        = Convert.ToInt64(hiddenAjaxValue.Value);
                    string[] teamKeyArray = entities.CompetitionRegistrations.Where(r => r.CompetitionRegistration2TeamPool
                                                                                    .FirstOrDefault(c => c.CompetitionTeamPool.Id == tpKey) != null)
                                            .Select(r => r.Id).Cast <string>().ToArray();
                    string jsTeamArray = "[]";
                    if (teamKeyArray.Length > 0)
                    {
                        jsTeamArray = "[" + teamKeyArray.Aggregate((i, j) => "" + i + "," + j) + "]";
                    }
                    RadAjaxManager1.ResponseScripts.Add("Aqufit.Windows.TeamPoolManagerWin.loadData(" + jsTeamArray + "); ");
                    break;

                case "SaveTeamPool":
                    long tPoolKey = Convert.ToInt64(hiddenAjaxValue.Value);
                    CompetitionRegistration2TeamPool[] clearArray = entities.CompetitionRegistration2TeamPool.Where(c => c.CompetitionTeamPool.Id == tPoolKey).ToArray();
                    foreach (CompetitionRegistration2TeamPool clear in clearArray)
                    {
                        entities.DeleteObject(clear);
                    }
                    entities.SaveChanges();
                    CompetitionTeamPool tpool = entities.CompetitionTeamPools.FirstOrDefault(tp => tp.Id == tPoolKey);
                    foreach (RadListBoxItem item in RadListBoxPoolDest.Items)
                    {
                        long rId = Convert.ToInt64(item.Value);
                        CompetitionRegistration2TeamPool c2t = new CompetitionRegistration2TeamPool()
                        {
                            CompetitionTeamPool     = tpool,
                            CompetitionRegistration = entities.CompetitionRegistrations.FirstOrDefault(r => r.Id == rId)
                        };
                        entities.AddToCompetitionRegistration2TeamPool(c2t);
                    }
                    entities.SaveChanges();
                    RadListBoxTeamSource.DataSource = entities.CompetitionRegistrations.Where(r => r.Competition.Id == CompetitionKey && r.CompetitionCategory.Id == (int)Affine.Utils.WorkoutUtil.CompetitionCategory.TEAM).Select(r => new { Name = r.TeamName, Value = r.Id }).ToArray();
                    RadAjaxManager1.ResponseScripts.Add(" Aqufit.Windows.TeamPoolManagerWin.close(); Aqufit.Page.Actions.refreshTeamPoolGrid(); ");
                    break;
                }
            }
            catch (Exception ex)
            {
                RadAjaxManager1.ResponseScripts.Add("Aqufit.Page.Actions.ShowFail('ERROR: There was a problem with the action (" + ex.StackTrace.Replace("'", "").Replace("\r", "").Replace("\n", "") + ")');");
            }
        }