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