コード例 #1
0
 /// <summary>
 /// Gets rows from the table fulfilling the criteria.
 /// </summary>
 /// <param name="wFilter">A filter to use as where condition</param>
 /// <returns>All rows fulfilling the criteria</returns>
 public IEnumerable <BuchungRow> GetRowsByFilter(BuchungFilter wFilter)
 {
     return(mTable.GetRowsByFilter(wFilter));
 }
コード例 #2
0
 /// <summary>
 /// Gets rows from the table fulfilling the criteria.
 /// </summary>
 /// <param name="wFilter">A filter to use as where condition</param>
 /// <returns>All rows fulfilling the criteria</returns>
 public IEnumerable <BuchungRow> GetRowsByFilter(BuchungFilter wFilter)
 {
     using (OleDbCommand command = new OleDbCommand())
     {
         command.CommandType = System.Data.CommandType.Text;
         command.CommandText = "SELECT [ID],[IDBudget],[IDDauerauftrag],[Bezeichnung],[Datum],[Betrag],[Bemerkung] FROM [Buchung]";
         StringBuilder sbWhere = new StringBuilder();
         StringBuilder sbColumnWhere;
         string        wComboWord = (wFilter.ComboMode == OryxFilterCombinationEnum.And ? " AND " : " OR ");
         sbColumnWhere = new StringBuilder();
         if (wFilter.IDBudget != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_IDBudget + "=@wIDBudget");
             command.Parameters.AddWithValue("wIDBudget", wFilter.IDBudget);
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         sbColumnWhere = new StringBuilder();
         if (wFilter.IDDauerauftrag != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_IDDauerauftrag + "=@wIDDauerauftrag");
             command.Parameters.AddWithValue("wIDDauerauftrag", wFilter.IDDauerauftrag);
         }
         if (wFilter.IDDauerauftragMinWo != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_IDDauerauftrag + ">@wIDDauerauftragMinWo");
             command.Parameters.AddWithValue("wIDDauerauftragMinWo", wFilter.IDDauerauftragMinWo);
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         sbColumnWhere = new StringBuilder();
         if (wFilter.Bezeichnung != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Bezeichnung + "=@wBezeichnung");
             command.Parameters.AddWithValue("wBezeichnung", wFilter.Bezeichnung);
         }
         if (wFilter.BezeichnungPattern != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Bezeichnung + " LIKE @wBezeichnungPattern");
             command.Parameters.AddWithValue("wBezeichnungPattern", wFilter.BezeichnungPattern);
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         sbColumnWhere = new StringBuilder();
         if (wFilter.Datum != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Datum + "=@wDatum");
             command.Parameters.AddWithValue("wDatum", this.GetAccessDateTime(wFilter.Datum.Value));
         }
         if (wFilter.DatumMaxWo != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Datum + "<@wDatumMaxWo");
             command.Parameters.AddWithValue("wDatumMaxWo", this.GetAccessDateTime(wFilter.DatumMaxWo.Value));
         }
         if (wFilter.DatumMinWo != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Datum + ">@wDatumMinWo");
             command.Parameters.AddWithValue("wDatumMinWo", this.GetAccessDateTime(wFilter.DatumMinWo.Value));
         }
         if (wFilter.DatumMax != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Datum + "<=@wDatumMax");
             command.Parameters.AddWithValue("wDatumMax", this.GetAccessDateTime(wFilter.DatumMax.Value));
         }
         if (wFilter.DatumMin != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Datum + ">=@wDatumMin");
             command.Parameters.AddWithValue("wDatumMin", this.GetAccessDateTime(wFilter.DatumMin.Value));
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         sbColumnWhere = new StringBuilder();
         if (wFilter.Betrag != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Betrag + "=@wBetrag");
             command.Parameters.AddWithValue("wBetrag", wFilter.Betrag);
         }
         if (wFilter.BetragMaxWo != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Betrag + "<@wBetragMaxWo");
             command.Parameters.AddWithValue("wBetragMaxWo", wFilter.BetragMaxWo);
         }
         if (wFilter.BetragMinWo != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Betrag + ">@wBetragMinWo");
             command.Parameters.AddWithValue("wBetragMinWo", wFilter.BetragMinWo);
         }
         if (wFilter.BetragMax != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Betrag + "<=@wBetragMax");
             command.Parameters.AddWithValue("wBetragMax", wFilter.BetragMax);
         }
         if (wFilter.BetragMin != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Betrag + ">=@wBetragMin");
             command.Parameters.AddWithValue("wBetragMin", wFilter.BetragMin);
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         sbColumnWhere = new StringBuilder();
         if (wFilter.Bemerkung != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Bemerkung + "=@wBemerkung");
             command.Parameters.AddWithValue("wBemerkung", wFilter.Bemerkung);
         }
         if (wFilter.BemerkungPattern != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Append(wComboWord);
             }
             sbColumnWhere.Append(SQL_COL_Bemerkung + " LIKE @wBemerkungPattern");
             command.Parameters.AddWithValue("wBemerkungPattern", wFilter.BemerkungPattern);
         }
         if (wFilter.BemerkungIsNull != null)
         {
             if (sbColumnWhere.Length > 0)
             {
                 sbColumnWhere.Insert(0, "((");
                 sbColumnWhere.Append(string.Format(") OR {0} IS {1}NULL)", SQL_COL_Bemerkung, (wFilter.BemerkungIsNull.HasValue && wFilter.BemerkungIsNull.Value ? "" : "NOT ")));
             }
             else
             {
                 sbColumnWhere.Append(string.Format("{0} IS {1}NULL", SQL_COL_Bemerkung, (wFilter.BemerkungIsNull.HasValue && wFilter.BemerkungIsNull.Value ? "" : "NOT ")));
             }
         }
         if (sbColumnWhere.Length > 0)
         {
             if (sbWhere.Length > 0)
             {
                 sbWhere.Append(wComboWord);
             }
             sbWhere.Append(sbColumnWhere.ToString());
         }
         // Add the WHERE term
         if (sbWhere.Length > 0)
         {
             command.CommandText += (" WHERE " + sbWhere.ToString());
         }
         command.CommandText += ";";
         DataTable         resultTable = base.ExecuteCommand(command);
         List <BuchungRow> result      = new List <BuchungRow>(resultTable.Rows.Count);
         foreach (DataRow oneRow in resultTable.Rows)
         {
             result.Add(RowToDto(oneRow));
         }
         return(result);
     }
 }