public void pObj_Set(string Name, Str_QueryCondition Value) { foreach (Str_QueryCondition Obj in this.mQc) { if (Name == Obj.Name) { Str_QueryCondition Inner_Obj = Obj; Inner_Obj = Value; return; } } }
/// <summary> /// Add a condition /// </summary> /// <param name="Name"> /// Field Name on the data source /// </param> /// <param name="Operator"> /// Operator to use (SQL valid operators) /// </param> /// <param name="Value"> /// The condition value /// </param> /// <param name="DataType"> /// Field Data Type /// </param> /// <param name="DefaultValue"> /// Default value to use with ISNULL function /// </param> /// <returns></returns> public Str_QueryCondition Add(string Name, string Operator, object Value, string DataType = "", string DefaultValue = "") { if (Operator.Trim() == "") { if (DataType == "") { DataType = typeof(string).ToString(); } if (DataType.ToUpper() == typeof(string).ToString().ToUpper() || DataType.ToUpper() == typeof(string).Name.ToUpper()) { Operator = "Like"; Value = Value + @"%"; } else { Operator = "="; } } if (DataType.ToUpper() == typeof(DateTime).ToString().ToUpper() || DataType.ToUpper() == typeof(DateTime).Name.ToUpper()) { if (!Information.IsDate(Value)) { Value = DBNull.Value; } } bool IsFound = false; foreach (Str_QueryCondition Obj in this.mQc) { if (Obj.Name == Name) { IsFound = true; break; } } string FieldName = Name; if (IsFound) { this.mCt++; Name = Name + this.mCt.ToString(); } if (Operator.ToUpper() == "LIKE") { try { if (Strings.Left(Value.ToString(), 1) == @"'" || Strings.Left(Value.ToString(), 1) == @"""") { Value = Strings.Mid(Value.ToString(), 2); } } catch { } try { if (Strings.Right(Value.ToString(), 1) == @"'" || Strings.Right(Value.ToString(), 1) == @"""") { Value = Strings.Mid(Value.ToString(), 1, Value.ToString().Length - 1); } } catch { } } Str_QueryCondition NewQc = new Str_QueryCondition(Name, FieldName, Operator, Value, DataType, DefaultValue); this.mQc.Add(NewQc); return NewQc; }