public string convertToSqlString(string conditionColumnName, FilterObjectDataCustom filterObjectDataCustom) { throw new NotImplementedException(); }
public static string convertToSqlString(string conditionColumnName, FilterObjectDataCustom fwFilterObjectData) { StringBuilder sb = new StringBuilder(); if (!string.IsNullOrEmpty(conditionColumnName) && fwFilterObjectData != null) { StringBuilder sb0 = new StringBuilder(); StringBuilder sb1 = new StringBuilder(); FilterConditionRelationTypeCustom?conditionRelationTypeCode = null; if (fwFilterObjectData.GetType() == typeof(FilterDateTimeDataCustom)) { FilterDateTimeDataCustom fwFilterDateTimeData = (FilterDateTimeDataCustom)fwFilterObjectData; if (fwFilterDateTimeData.condition0TypeCode.HasValue && fwFilterDateTimeData.condition0Value.HasValue) { switch (fwFilterDateTimeData.condition0TypeCode.Value) { case FilterDateTimeConditionTypeCustom.Equal: sb0.AppendFormat("{0}='{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; case FilterDateTimeConditionTypeCustom.NotEqual: sb0.AppendFormat("{0}<>'{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; case FilterDateTimeConditionTypeCustom.Than: sb0.AppendFormat("{0}>'{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; case FilterDateTimeConditionTypeCustom.ThanEqual: sb0.AppendFormat("{0}>='{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; case FilterDateTimeConditionTypeCustom.Less: sb0.AppendFormat("{0}<'{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; case FilterDateTimeConditionTypeCustom.LessEqual: sb0.AppendFormat("{0}<='{1}'", conditionColumnName, fwFilterDateTimeData.condition0Value.Value); break; } } conditionRelationTypeCode = fwFilterDateTimeData.conditionRelationTypeCode; if (fwFilterDateTimeData.condition1TypeCode.HasValue && fwFilterDateTimeData.condition1Value.HasValue) { switch (fwFilterDateTimeData.condition1TypeCode.Value) { case FilterDateTimeConditionTypeCustom.Equal: sb1.AppendFormat("{0}='{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; case FilterDateTimeConditionTypeCustom.NotEqual: sb1.AppendFormat("{0}<>'{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; case FilterDateTimeConditionTypeCustom.Than: sb1.AppendFormat("{0}>'{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; case FilterDateTimeConditionTypeCustom.ThanEqual: sb1.AppendFormat("{0}>='{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; case FilterDateTimeConditionTypeCustom.Less: sb1.AppendFormat("{0}<'{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; case FilterDateTimeConditionTypeCustom.LessEqual: sb1.AppendFormat("{0}<='{1}'", conditionColumnName, fwFilterDateTimeData.condition1Value.Value); break; } } } //else if (fwFilterObjectData.GetType() == typeof(FWFilterNumberData)) //{ // FWFilterNumberData fwFilterNumberData = (FWFilterNumberData)fwFilterObjectData; // if (fwFilterNumberData.condition0TypeCode.HasValue && fwFilterNumberData.condition0Value.HasValue) // { // switch (fwFilterNumberData.condition0TypeCode.Value) // { // case FWFilterNumberConditionType.Equal: // sb0.AppendFormat("{0}='{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // case FWFilterNumberConditionType.NotEqual: // sb0.AppendFormat("{0}<>'{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // case FWFilterNumberConditionType.Than: // sb0.AppendFormat("{0}>'{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // case FWFilterNumberConditionType.ThanEqual: // sb0.AppendFormat("{0}>='{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // case FWFilterNumberConditionType.Less: // sb0.AppendFormat("{0}<'{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // case FWFilterNumberConditionType.LessEqual: // sb0.AppendFormat("{0}<='{1}'", conditionColumnName, fwFilterNumberData.condition0Value.Value); // break; // } // } // conditionRelationTypeCode = fwFilterNumberData.conditionRelationTypeCode; // if (fwFilterNumberData.condition1TypeCode.HasValue && fwFilterNumberData.condition1Value.HasValue) // { // switch (fwFilterNumberData.condition1TypeCode.Value) // { // case FWFilterNumberConditionType.Equal: // sb1.AppendFormat("{0}='{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // case FWFilterNumberConditionType.NotEqual: // sb1.AppendFormat("{0}<>'{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // case FWFilterNumberConditionType.Than: // sb1.AppendFormat("{0}>'{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // case FWFilterNumberConditionType.ThanEqual: // sb1.AppendFormat("{0}>='{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // case FWFilterNumberConditionType.Less: // sb1.AppendFormat("{0}<'{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // case FWFilterNumberConditionType.LessEqual: // sb1.AppendFormat("{0}<='{1}'", conditionColumnName, fwFilterNumberData.condition1Value.Value); // break; // } // } //} //else if (fwFilterObjectData.GetType() == typeof(FWFilterStringData)) //{ // FWFilterStringData fwFilterStringData = (FWFilterStringData)fwFilterObjectData; // if (fwFilterStringData.condition0TypeCode.HasValue && !string.IsNullOrEmpty(fwFilterStringData.condition0Value)) // { // switch (fwFilterStringData.condition0TypeCode.Value) // { // case FWFilterStringConditionType.Equal: // sb0.AppendFormat("{0}='{1}'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // case FWFilterStringConditionType.NotEqual: // sb0.AppendFormat("{0}<>'{1}'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // case FWFilterStringConditionType.StartWith: // sb0.AppendFormat("{0} like '{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // case FWFilterStringConditionType.EndWith: // sb0.AppendFormat("{0} like '%{1}'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // case FWFilterStringConditionType.Contain: // sb0.AppendFormat("{0} like '%{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // case FWFilterStringConditionType.NotContain: // sb0.AppendFormat("{0} not like '%{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition0Value)); // break; // } // } // conditionRelationTypeCode = fwFilterStringData.conditionRelationTypeCode; // if (fwFilterStringData.condition1TypeCode.HasValue && !string.IsNullOrEmpty(fwFilterStringData.condition1Value)) // { // switch (fwFilterStringData.condition1TypeCode.Value) // { // case FWFilterStringConditionType.Equal: // sb1.AppendFormat("{0}='{1}'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // case FWFilterStringConditionType.NotEqual: // sb1.AppendFormat("{0}<>'{1}'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // case FWFilterStringConditionType.StartWith: // sb1.AppendFormat("{0} like '{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // case FWFilterStringConditionType.EndWith: // sb1.AppendFormat("{0} like '%{1}'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // case FWFilterStringConditionType.Contain: // sb1.AppendFormat("{0} like '%{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // case FWFilterStringConditionType.NotContain: // sb1.AppendFormat("{0} not like '%{1}%'", conditionColumnName, checkParam(fwFilterStringData.condition1Value)); // break; // } // } //} if (sb0.Length > 0 && sb1.Length > 0) { if (!conditionRelationTypeCode.HasValue) { conditionRelationTypeCode = FilterConditionRelationTypeCustom.And; } switch (conditionRelationTypeCode) { case FilterConditionRelationTypeCustom.And: sb.AppendFormat("({0} and {1})", sb0.ToString(), sb1.ToString()); break; case FilterConditionRelationTypeCustom.Or: sb.AppendFormat("({0} or {1})", sb0.ToString(), sb1.ToString()); break; } } else if (sb0.Length > 0) { sb.AppendFormat("({0})", sb0.ToString()); } else if (sb1.Length > 0) { sb.AppendFormat("({0})", sb1.ToString()); } } return(sb.ToString()); }