Exemplo n.º 1
0
 public string convertToSqlString(string conditionColumnName, FilterObjectDataCustom filterObjectDataCustom)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 2
0
        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());
        }