public static string EreignisseToVariable_Json(int turnierID) { try { ClsTabellenVariabeln tv = ClsDBVariablen.Instance.GetTabellenVariable("T03"); string SpielNr = ClsGlobal.Instance.TableFilterList.Find(x => x.Table == "T03" && x.Field == "Spiel").Value; if (SpielNr == string.Empty) { SpielNr = "0"; } int spielNr = Convert.ToInt32(SpielNr); string Ereignisart = ClsGlobal.Instance.TableFilterList.Find(x => x.Table == "T03" && x.Field == "Ereignistyp").Value; // Create a DataTable for buildup DataTable tempTable = new DataTable(); // Spalte je Anzeigespalte erstellen List <Anzeigetabelle> cols1 = ClsOptionsControler.Anzeigetabelle("T03", "std"); List <Anzeigetabelle> cols = (from x in cols1 where x.Sichtbar == 1 select x).ToList(); string[] spalten = new string[cols.Count + 1]; if (cols.Any()) { spalten[0] = "ID"; for (int i = 0; i < cols.Count; i++) { spalten[i + 1] = cols[i].DBFeld; } } // Daten lesen List <TEreignisse> tab = ClsEreignisControler.Ereignisse(turnierID); // Daten filtern if (Ereignisart != string.Empty) { tab = (from t in tab where t.Ereignistyp == Ereignisart.Substring(0, 2) select t).ToList(); } if (SpielNr != "0") { tab = (from t in tab where t.Spiel == spielNr select t).ToList(); } // Daten sortieren //if (zeitrichtung == "0") //{ // tab = (from t in tab orderby t.Spiel, t.Spielabschnitt, t.Spielzeit select t).ToList(); //} //else //{ // tab = (from t in tab orderby t.Spiel, t.Spielabschnitt, t.Spielzeit descending select t).ToList(); //} tab = (from t in tab orderby t.CPUZeit select t).ToList(); //// Seite berechnen int recPerPage = tv.RecPerPage; int skip = calacSkipRecords("T03", recPerPage, (decimal)tab.Count()); // tabseite tab = (from t in tab select t).Skip(skip).Take(recPerPage).ToList(); // Werte übersetzen if (tab.Any()) { for (int i = 0; i < tab.Count; i++) { //tab[i].Ereignistyp = ClsLocalisationFunctions.Keytext("Ereignis", tab[i].Ereignistyp); if (!tab[i].Ereignistyp.Contains("-")) { tab[i].Ereignistyp = ClsTextControler.TextByNameAndNumber("Ereignis", tab[i].Ereignistyp); } //if (kname) //{ // tab[i].Mannschaft = Kurzname(tab[i].Mannschaft); //} string opt_EreigniszeitGenau = ClsOptionsControler.Options3("EreigniszeitGenau").Value; if (opt_EreigniszeitGenau == "False") { tab[i].Spielzeit = ConvertSpielzeitToKurzzeit(tab[i].Spielzeit, tab[i].Spielzeitrichtung); } } } // Mache aus List ein Datatable using (var reader = FastMember.ObjectReader.Create(tab, spalten)) { tempTable.Load(reader); } // Spalten übersetzen for (int i = 0; i < tempTable.Columns.Count; i++) { // Anzeigename string text = (from x in cols where x.DBFeld == tempTable.Columns[i].ColumnName select x.Anzeigename).FirstOrDefault(); if (string.IsNullOrEmpty(text)) { //text = ClsLocalisationFunctions.Tabellenfeld("Ereignisse", tempTable.Columns[i].ColumnName); text = ClsTextControler.TextByNameAndNumber("Ereignisse", tempTable.Columns[i].ColumnName); } if (!string.IsNullOrEmpty(text)) { tempTable.Columns[i].ColumnName = text; } } // Tabellenseite berechnen // gewählte seite = ??? // seiten = anz datensätze / datensätze je Seite // startindex = datensätze je Seite * gewählte seite + 1 // endindex = datensätze je Seite * (gewählte seite + 1 ) - 1 // schleife zum filten von tempTable // var custQuery2 = //(from cust in db.Customers // orderby cust.ContactName // select cust) //.Skip(50).Take(10); <------- skip und take!!! // foreach (var custRecord in custQuery2) // { // Console.WriteLine(custRecord.ContactName); // } return(ConvertDatatabletoString(tempTable)); } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); return(null); } }
public static string TabelleToVariable_Json(int turnierID) { try { ClsTabellenVariabeln tv = ClsDBVariablen.Instance.GetTabellenVariable("T01"); bool kname = Convert.ToBoolean(ClsOptionsControler.Options3("kurznamen").Value); string Runde = ClsGlobal.Instance.TableFilterList.Find(x => x.Table == "T01" && x.Field == "Runde").Value; string Gruppe = ClsGlobal.Instance.TableFilterList.Find(x => x.Table == "T01" && x.Field == "Gruppe").Value; if (string.IsNullOrEmpty(Runde)) { Runde = "0"; } int runde = Convert.ToInt32(Runde); // Create a DataTable for buildup DataTable tempTable = new DataTable(); // Spalte je Anzeigespalte erstellen List <Anzeigetabelle> cols1 = ClsOptionsControler.Anzeigetabelle("T01", "std"); List <Anzeigetabelle> cols = (from x in cols1 where x.Sichtbar == 1 select x).ToList(); string[] spalten = new string[cols.Count + 1]; if (cols.Any()) { spalten[0] = "ID"; for (int i = 0; i < cols.Count; i++) { spalten[i + 1] = cols[i].DBFeld; } } // Tabelle lesen List <TTabellen> tab = ClsTurnierControler.Tabellen(turnierID); // Daten filtern if (Runde != "0") { tab = (from t in tab where t.Runde == runde select t).ToList(); } if (!string.IsNullOrEmpty(Gruppe)) { tab = (from t in tab where t.Gruppe == Gruppe select t).ToList(); } // Daten sortieren tab = (from t in tab orderby t.Runde, t.Gruppe, t.Platz select t).ToList(); //// Seite berechnen int recPerPage = tv.RecPerPage; int skip = calacSkipRecords("T02", recPerPage, (decimal)tab.Count()); // tabseite tab = (from t in tab select t).Skip(skip).Take(recPerPage).ToList(); // Werte übersetzen if (tab.Any()) { for (int i = 0; i < tab.Count; i++) { if (kname) { tab[i].Mannschaft = Kurzname(tab[i].Mannschaft); } } } // Mache aus List ein Datatable using (var reader = FastMember.ObjectReader.Create(tab, spalten)) { tempTable.Load(reader); } // Spalten übersetzen for (int i = 0; i < tempTable.Columns.Count; i++) { // Anzeigename string text = (from x in cols where x.DBFeld == tempTable.Columns[i].ColumnName select x.Anzeigename).FirstOrDefault(); if (string.IsNullOrEmpty(text)) { //text = ClsLocalisationFunctions.Tabellenfeld("Tabelle", tempTable.Columns[i].ColumnName); text = ClsTextControler.TextByNameAndNumber("Tabelle", tempTable.Columns[i].ColumnName); } if (!string.IsNullOrEmpty(text)) { tempTable.Columns[i].ColumnName = text; } } return(ConvertDatatabletoString(tempTable)); // tempTable.Dispose(); } catch (Exception ex) { ClsError.Error(Name, MethodBase.GetCurrentMethod().ToString(), ex); return(null); } }