| | |
| | | using System; |
| | | using GenerateCode_WeiBen_WMS.Model; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Configuration; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Linq; |
| | | using System.Text; |
| | | |
| | | namespace GenerateCode_GEBrilliantFactory |
| | |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForAddModel(ColumnModel columnModel) |
| | | public static string GenerateAttributeForAddModel(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | |
| | | case DataTypeEnum.dt_datetime: |
| | | case DataTypeEnum.dt_datetime2: |
| | | case DataTypeEnum.dt_datetimeoffset: |
| | | attrStr += " //è¡¨ç¤ºæ¯ é«çº§æ¥è¯¢èå´æ¥è¯¢ç¹æ§\n"; |
| | | attrStr += " [HighSearchRangeAttribute]\n"; |
| | | attrStr += " public List<string>" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_bigint: |
| | |
| | | attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_decimal: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_int: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); |
| | | if (findEnumObj != null) |
| | | { |
| | | attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | else |
| | | { |
| | | attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | break; |
| | | default: |
| | | attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | } |
| | | |
| | | return attrStr; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæå±æ§å符串ForAddModel-æ´æ°å®ä½ä¸ç¨ |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForUpdateModel(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | |
| | | string attrStr = ""; |
| | | attrStr += $" updateObj.{attr} = input.{attr};\n"; |
| | | |
| | | |
| | | return attrStr; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæå±æ§å符串ForAddModel-æ´æ°å®ä½ä¸ç¨(导å
¥æ¶) |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForUpdateModelByImport(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | |
| | | string attrStr = ""; |
| | | attrStr += $" {attr} = {param.EntityInstanceName}.{attr},\n"; |
| | | |
| | | |
| | | return attrStr; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæå±æ§å符串ForAddModel-CheckCreateOrUpdateDtoAsyncä¸ç¨ |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForCheckCreateOrUpdateDtoAsync(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | |
| | | string attrStr = ""; |
| | | bool isHaveMaxLength = false; |
| | | if (!string.IsNullOrEmpty(columnModel.DataLength)) |
| | | { |
| | | isHaveMaxLength = true; |
| | | } |
| | | if (columnModel.IsNullable == false) |
| | | {//å¿
å¡« |
| | | DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); |
| | | switch (myDataType) |
| | | { |
| | | case DataTypeEnum.dt_datetime: |
| | | case DataTypeEnum.dt_datetime2: |
| | | case DataTypeEnum.dt_datetimeoffset: |
| | | if (isHaveMaxLength) |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; |
| | | } |
| | | else |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; |
| | | } |
| | | break; |
| | | case DataTypeEnum.dt_bigint: |
| | | case DataTypeEnum.dt_decimal: |
| | | if (isHaveMaxLength) |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; |
| | | } |
| | | else |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; |
| | | } |
| | | break; |
| | | case DataTypeEnum.dt_int: |
| | | case DataTypeEnum.dt_tinyint: |
| | | if (isHaveMaxLength) |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; |
| | | } |
| | | else |
| | | { |
| | | attrStr += $" Check.NotNull(input.{attr}, \"{columnModel.Description}\");\n"; |
| | | } |
| | | break; |
| | | default: |
| | | if (isHaveMaxLength) |
| | | { |
| | | attrStr += $" Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\", {columnModel.DataLength});\n"; |
| | | } |
| | | else |
| | | { |
| | | attrStr += $" Check.NotNullOrWhiteSpace(input.{attr}, \"{columnModel.Description}\");\n"; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | return attrStr; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæå±æ§å符串ForAddModel-Dtoå®ä½ä¸ç¨ |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForDto(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | //if (attr.ToUpper() == "DBId".ToUpper()) |
| | | //{ |
| | | // var bb = ""; |
| | | //} |
| | | string str_NullFlag = " "; |
| | | |
| | | string attrStr = ""; |
| | | attrStr += " /// <summary>\n"; |
| | | attrStr += " /// " + columnModel.Description + "\n"; |
| | | attrStr += " /// </summary>\n"; |
| | | |
| | | DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); |
| | | switch (myDataType) |
| | | { |
| | | case DataTypeEnum.dt_datetime: |
| | | case DataTypeEnum.dt_datetime2: |
| | | case DataTypeEnum.dt_datetimeoffset: |
| | | attrStr += " public DateTime" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_bigint: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_decimal: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_int: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); |
| | | if (findEnumObj != null) |
| | | { |
| | | attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | else |
| | | { |
| | | attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | |
| | | break; |
| | | default: |
| | | attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | } |
| | | |
| | | //å¢å 对æä¸¾ç±»åçæ¯æ |
| | | if (param.EnumList?.Count > 0) |
| | | { |
| | | var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); |
| | | if (findEnumObj != null) |
| | | { |
| | | attrStr += " /// <summary>\n"; |
| | | attrStr += " /// " + columnModel.Description + "\n"; |
| | | attrStr += " /// </summary>\n"; |
| | | attrStr += " public string" + str_NullFlag + findEnumObj.EnumTypeDesc + "\n"; |
| | | attrStr += " { \n"; |
| | | attrStr += " get \n"; |
| | | attrStr += " { \n"; |
| | | attrStr += $" return GetEnumDescriptionUtil.GetEnumDescription({findEnumObj.EnumAttrName}); \n"; |
| | | attrStr += " } \n"; |
| | | attrStr += " } \n"; |
| | | } |
| | | } |
| | | |
| | | return attrStr; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// çæå±æ§å符串ForAddModel-Exportå®ä½ä¸ç¨ |
| | | /// </summary> |
| | | /// <param name="columnModel"></param> |
| | | /// <returns></returns> |
| | | public static string GenerateAttributeForExport(ColumnModel columnModel, GenerateCodeParam param) |
| | | { |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | //if (attr.ToUpper() == "DBId".ToUpper()) |
| | | //{ |
| | | // var bb = ""; |
| | | //} |
| | | string str_NullFlag = " "; |
| | | |
| | | string attrStr = ""; |
| | | attrStr += " /// <summary>\n"; |
| | | attrStr += " /// " + columnModel.Description + "\n"; |
| | | attrStr += " /// </summary>\n"; |
| | | attrStr += $" [ExcelColumn(Name = \"{columnModel.Description}\", Width = 25)]\n"; |
| | | |
| | | DataTypeEnum myDataType = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType); |
| | | switch (myDataType) |
| | | { |
| | | case DataTypeEnum.dt_datetime: |
| | | case DataTypeEnum.dt_datetime2: |
| | | case DataTypeEnum.dt_datetimeoffset: |
| | | attrStr += " public datetime" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_bigint: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public long" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_decimal: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | attrStr += " public decimal" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_int: |
| | | if (columnModel.IsNullable) { str_NullFlag = "? "; } |
| | | var findEnumObj = param.EnumList.Where(x => x.EnumAttrName == attr).FirstOrDefault(); |
| | | if (findEnumObj != null) |
| | | { |
| | | attrStr += $" public {findEnumObj.EnumType}" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | else |
| | | { |
| | | attrStr += " public int" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | } |
| | | |
| | | break; |
| | | default: |
| | | attrStr += " public string" + str_NullFlag + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | } |
| | | |
| | | |
| | | |
| | | return attrStr; |
| | | } |
| | |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | if (CommonHelper.IsIgnore(attr)) |
| | | { |
| | | return ""; |
| | | } |
| | | //if (attr.ToUpper() == "DBId".ToUpper()) |
| | | //{ |
| | | // var bb = ""; |
| | |
| | | attrStr += " public long" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_decimal: |
| | | attrStr += " public decimal" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_int: |
| | | attrStr += " public int" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | case DataTypeEnum.dt_tinyint: |
| | | attrStr += " public bool" + str_NullFlag + emptyStr + attr + " { get; set; }\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |
| | | default: |
| | |
| | | try |
| | | { |
| | | string attr = columnModel.ColumnName; |
| | | if (CommonHelper.IsIgnore(attr)) |
| | | { |
| | | return ""; |
| | | } |
| | | |
| | | string attrStr = ""; |
| | | attrStr += " /// <summary>\n"; |
| | | attrStr += " /// " + columnModel.Description + "-æ¥è¯¢å
³ç³»è¿ç®ç¬¦ \n"; |
| | |
| | | case DataTypeEnum.dt_datetimeoffset: |
| | | return "\n"; |
| | | case DataTypeEnum.dt_bigint: |
| | | case DataTypeEnum.dt_decimal: |
| | | case DataTypeEnum.dt_int: |
| | | case DataTypeEnum.dt_tinyint: |
| | | attrStr += " public SearchFilterModeEnum " + attr + highSearchModeSuffix + " { get; set; }= SearchFilterModeEnum.ç²¾åæ¥è¯¢;\n"; |
| | | attrStr += "\n";//æåæ¯å ä¸ä¸ªç©ºæ ¼ |
| | | break; |