222
schangxiang@126.com
2025-05-04 06097837de2d955665d5575dbe8e94588f00af91
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/StructStrHelper.cs
@@ -218,7 +218,7 @@
        /// </summary>
        /// <param name="columnModel"></param>
        /// <returns></returns>
        public static string GenerateAttributeForAddModel(ColumnModel columnModel,GenerateCodeParam param)
        public static string GenerateAttributeForAddModel(ColumnModel columnModel, GenerateCodeParam param)
        {
            try
            {
@@ -268,6 +268,130 @@
                        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:
                            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)
@@ -362,6 +486,74 @@
        }
        /// <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_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;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// ç”Ÿæˆå±žæ€§å­—符串ForQueryModel- æŸ¥è¯¢å®žä½“专用
        /// </summary>
        /// <param name="columnModel"></param>