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","") + ")');"); } }
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", "") + ")');"); } }