/// <summary> /// format criteria name /// </summary> /// <param name="objectName">object name</param> /// <param name="fieldName">field name</param> /// <param name="convert">convert</param> /// <returns></returns> string FormatCriteriaName(IQuery query, string objectName, string fieldName, ICriteriaConvert convert) { var field = DataManager.GetField(ServerType.SQLServer, query, fieldName); fieldName = field.FieldName; if (convert == null) { return(string.Format("{0}.[{1}]", objectName, fieldName)); } return(DataManager.ParseCriteriaConvert(convert, ServerType.SQLServer, objectName, fieldName)); }
/// <summary> /// create criterial convert type /// </summary> /// <param name="type">convert type</param> /// <returns></returns> public static ICriteriaConvert Create(CriteriaConvertType type) { ICriteriaConvert convert = null; switch (type) { case CriteriaConvertType.StringLength: convert = new StringLengthCriteriaConvert(); break; } return(convert); }
/// <summary> /// parse criteria convert /// </summary> /// <param name="convert">criteria convert</param> /// <param name="serverType">db server type</param> /// <param name="objectName">object name</param> /// <param name="fieldName">field name</param> /// <returns></returns> internal static string ParseCriteriaConvert(ICriteriaConvert convert, ServerType serverType, string objectName, string fieldName) { if (CriteriaConvertParseCollection.TryGetValue(convert.Name, out var parser)) { return(parser(new CriteriaConvertParseOption() { CriteriaConvert = convert, ServerType = serverType, ObjectName = objectName, FieldName = fieldName })); } throw new EZNEWException($"didn't config criteria convert:{convert?.Name}"); }
string FormatCriteriaName(string objectName, string fieldName, ICriteriaConvert convert) { if (convert == null) { return(string.Format("{0}.[{1}]", objectName, fieldName)); } string convertValue = string.Empty; switch (convert.Type) { case CriteriaConvertType.StringLength: convertValue = string.Format("LEN({0}.[{1}])", objectName, fieldName); break; default: convertValue = string.Format("{0}.[{1}]", objectName, fieldName); break; } return(convertValue); }
/// <summary> /// format criteria name /// </summary> /// <param name="objectName">object name</param> /// <param name="fieldName">field name</param> /// <param name="convert">convert</param> /// <returns></returns> string FormatCriteriaName(IQuery query, string objectName, string fieldName, ICriteriaConvert convert) { var field = DataManager.GetField(ServerType.MySQL, query, fieldName); fieldName = field.FieldName; if (convert == null) { return(string.Format("{0}.`{1}`", objectName, fieldName)); } string convertValue = string.Empty; switch (convert.Type) { case CriteriaConvertType.StringLength: convertValue = string.Format("char_length({0}.`{1}`)", objectName, fieldName); break; default: convertValue = string.Format("{0}.`{1}`", objectName, fieldName); break; } return(convertValue); }