HuanMengAdmin/admin-server/MiaoYu.Shared.Admin/Models/LowCodes/TableColumnChangeInput.cs
2025-11-08 15:00:24 +08:00

109 lines
3.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Newtonsoft.Json;
namespace MiaoYu.Shared.Admin.Models.LowCodes;
/// <summary>
/// 表列配置修改输入参数
/// </summary>
public class TableColumnChangeInput
{
/// <summary>
/// 表名(必填)
/// </summary>
public string TableName { get; set; } = string.Empty;
/// <summary>
/// 数据库标识(必填)
/// </summary>
public string DataBase { get; set; } = string.Empty;
/// <summary>
/// 列配置列表
/// </summary>
public List<TableColumnChangeDto> Columns { get; set; } = new();
}
/// <summary>
/// 表列配置修改项
/// </summary>
public class TableColumnChangeDto
{
/// <summary>
/// 列名(必填,用于匹配)
/// </summary>
[JsonProperty("columnName")]
public string ColumnName { get; set; } = string.Empty;
/// <summary>
/// 显示名称可选null 表示清空)
/// </summary>
[JsonProperty("displayName")]
public string? DisplayName { get; set; }
/// <summary>
/// 列描述可选null 表示清空)
/// </summary>
[JsonProperty("describe")]
public string? Describe { get; set; }
/// <summary>
/// C# 字段名可选null 表示清空)
/// </summary>
[JsonProperty("csField")]
public string? CsField { get; set; }
/// <summary>
/// 是否在表格中显示可选null 表示设置为 null
/// </summary>
[JsonProperty("isTableColumnShow")]
public bool? IsTableColumnShow { get; set; }
/// <summary>
/// 是否可查询可选null 表示设置为 null
/// </summary>
[JsonProperty("isTableSelect")]
public bool? IsTableSelect { get; set; }
/// <summary>
/// 是否是图片ID可选null 表示设置为 null
/// </summary>
[JsonProperty("isImageId")]
public bool? IsImageId { get; set; }
/// <summary>
/// 排序ID可选null 表示设置为 null
/// </summary>
[JsonProperty("orderById")]
public int? OrderById { get; set; }
/// <summary>
/// 宽度可选null 表示清空)
/// </summary>
[JsonProperty("width")]
public string? Width { get; set; }
/// <summary>
/// 记录传递的额外字段(用于检测字段是否被传递)
/// </summary>
[JsonExtensionData]
private Dictionary<string, object>? _extensionData;
/// <summary>
/// 检查指定字段是否被传递
/// </summary>
/// <param name="fieldName">字段名PascalCase如 "DisplayName"</param>
/// <returns>如果字段被传递返回 true否则返回 false</returns>
public bool WasFieldProvided(string fieldName)
{
if (_extensionData == null || string.IsNullOrWhiteSpace(fieldName))
return false;
// 转换为 camelCase因为前端使用 camelCase
var camelCaseName = char.ToLowerInvariant(fieldName[0]) + fieldName.Substring(1);
// 检查是否在扩展数据中
return _extensionData.ContainsKey(camelCaseName);
}
}