public ListForShow(int iid, string group, string style, string round, int routeNumber, SqlConnection cn) { this._cn = cn; this.iid = iid; this.group = group; this.style = style; this.round = round; this.routeNumber = routeNumber; #if FULL if (this.GetListType(this._cn) == ListType.BOULDER) { mrb = new MultiRouteBoulder(iid, routeNumber); } #endif }
public bool Refresh(SqlConnection _cn = null) { SqlConnection cn = _cn == null ? this._cn : _cn; SqlDataAdapter da = new SqlDataAdapter(new SqlCommand()); da.SelectCommand.Connection = cn; da.SelectCommand.Parameters.Add("@iid", SqlDbType.Int); da.SelectCommand.Parameters[0].Value = iid; Boolean preQfClimb = SettingsForm.GetPreQfClimb(da.SelectCommand.Connection, iid, da.SelectCommand.Transaction); switch (GetListType(cn)) { #if FULL case ListType.FLASH: bool showEverybody = SettingsForm.GetFlashShowMode(cn) == SettingsForm.FlashShowMode.BTH; int timeRoutes; KeyValuePair <int, bool>[] lstRRR; data = StaticClass.FillResFlash(iid, cn, false, out routeNumber, showEverybody, out timeRoutes, out lstRRR); try { if (data.Columns.IndexOf("pos") > -1) { data.Columns.Remove("pos"); } if (data.Columns.IndexOf("№") > -1) { data.Columns.Remove("№"); } } catch { } return(true); case ListType.LEAD: da.SelectCommand.CommandText = @" SELECT r.posText AS Место, p.surname+' '+p.name AS [Фамилия, Имя], p.age AS [Г.р.], p.qf AS Разряд, dbo.fn_getTeamName(p.iid, r.list_id) AS Команда, r.resText AS [Рез-т], r.qf AS [Кв.] FROM routeResults r(NOLOCK) JOIN Participants p(NOLOCK) ON r.climber_id = p.iid JOIN Teams t(NOLOCK)ON p.team_id = t.iid WHERE r.list_id = @iid AND r.preQf = 0 ORDER BY r.pos, r.res DESC, r.start"; break; case ListType.BOULDER: if (mrb == null) { mrb = new MultiRouteBoulder(iid, cn); } else { mrb.cn = cn; } mrb.FillData(); data = mrb.GetListFiltered(MultiRouteBoulder.ListType.Full); foreach (DataColumn dc in data.Columns) { string sCheck = dc.ColumnName.ToLower(); if (sCheck.IndexOf("поп") > -1) { if (sCheck.IndexOf("тр") > -1) { dc.ColumnName = "П.Тр."; } else if (sCheck.IndexOf("бон") > -1) { dc.ColumnName = "П.Б."; } } } return(true); //da.SelectCommand.CommandText = // " SELECT CASE WHEN r.pos = " + SortingClass.DSQ_POS.ToString() + " THEN 'дискв.'" + // " WHEN r.pos = " + SortingClass.DNS_POS.ToString() + " THEN 'н/я'" + // " ELSE r.posText END AS Место, " + // " p.surname+' '+p.name AS [Фамилия, Имя], " + // " p.age AS [Г.р.], p.qf AS Разряд, t.name AS Команда, "; //for (int i = 1; i <= routeNumber; i++) // da.SelectCommand.CommandText += // " r.top" + i.ToString() + " AS T" + i.ToString() + ", " + // " r.bonus" + i.ToString() + " AS B" + i.ToString() + ", "; //da.SelectCommand.CommandText += // " r.tops AS [Т], r.topAttempts AS [Тп], r.bonuses AS [Б], " + // " r.bonusAttempts AS [Бп], r.Qf AS [Кв.] " + // " FROM boulderResults r(NOLOCK) " + // " JOIN Participants p(NOLOCK) ON r.climber_id=p.iid " + // " JOIN Teams t(NOLOCK) ON p.team_id=t.iid " + // " WHERE r.list_id=" + iid.ToString() + // " AND r.preQf = 0 " + // "ORDER BY r.pos, r.res DESC, r.start"; //break; #endif case ListType.SPEED_2: da.SelectCommand.CommandText = " SELECT r.posText AS Место, p.surname+' '+p.name AS [Фамилия, Имя], " + " p.age AS [Г.р.], p.qf AS Разряд, dbo.fn_getTeamName(p.iid, r.list_id) AS Команда, " + " dbo.fn_get1st(p.iid, r.list_id) AS [Квал.1]," + " r.route1_text AS [Трасса 1],r.route2_text AS[Трасса 2], r.resText AS [Квал.2]," + " dbo.fn_getBest(r.iid) AS [Итог]," + " r.qf AS [Кв.] " + " FROM speedResults r(NOLOCK) " + " JOIN Participants p(NOLOCK) ON r.climber_id=p.iid " + " JOIN Teams t(NOLOCK) ON p.team_id=t.iid " + " WHERE r.list_id=" + iid.ToString() + (preQfClimb ? String.Empty : " AND r.preQf = 0 ") + "ORDER BY (CASE WHEN r.qf IS NULL THEN 1 WHEN r.qf = '' THEN 1 ELSE 0 END), " + " r.pos, dbo.fn_getBestRes(r.iid), r.start"; break; case ListType.SPEED: da.SelectCommand.CommandText = " SELECT r.posText AS Место, p.surname+' '+p.name AS [Фамилия, Имя], " + " p.age AS [Г.р.], p.qf AS Разряд, dbo.fn_getTeamName(p.iid, r.list_id) AS Команда, " + " r.route1_text AS [Трасса 1],r.route2_text AS[Трасса 2], r.resText AS [Сумма]," + " r.qf AS [Кв.] " + " FROM speedResults r(NOLOCK) " + " JOIN Participants p(NOLOCK) ON r.climber_id=p.iid " + " JOIN Teams t(NOLOCK) ON p.team_id=t.iid " + " WHERE r.list_id=" + iid.ToString() + (preQfClimb ? String.Empty : " AND r.preQf = 0 ") + "ORDER BY (CASE WHEN r.qf IS NULL THEN 1 WHEN r.qf = '' THEN 1 ELSE 0 END), " + " r.pos, r.res,r.start"; break; default: data = null; GC.Collect(); return(false); } data = new DataTable(); da.Fill(data); return(true); }