Пример #1
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","") + ")');");
     }
 }
Пример #2
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", "") + ")');");
            }
        }