feat: 添加基类

master
Tongg 8 months ago
parent 64f3935692
commit cba4f6fce0
  1. 74
      Model/Entity/Base/BaseEntity.cs
  2. 31
      Model/Entity/SystemSettingEntity.cs
  3. 9
      Views/HelperPage.xaml.cs

@ -0,0 +1,74 @@
using System.Reflection;
namespace SparkClient.Model.Entity.Base;
public abstract class BaseEntity
{
public Guid GUID { get; set; }
public static string TableName => throw new NotImplementedException("Table name is not implemented.");
// 获取字段映射的实际名称
private static Dictionary<string, string> GetFieldMappings()
{
var properties = typeof(BaseEntity).GetProperties(BindingFlags.Public | BindingFlags.Instance);
return properties
.Where(p => Attribute.IsDefined(p, typeof(DbFieldAttribute)))
.ToDictionary(
p => p.Name,
p => ((DbFieldAttribute)p.GetCustomAttribute(typeof(DbFieldAttribute))).FieldName
);
}
// 生成 Insert 语句
public string GenerateInsertSQL()
{
var mappings = GetFieldMappings();
var columns = string.Join(", ", mappings.Values);
var values = string.Join(", ", mappings.Keys.Select(k => $"@{k}"));
return $"INSERT INTO {TableName} ({columns}) VALUES ({values});";
}
// 生成 Update 语句
public string GenerateUpdateSQL(Dictionary<string, object> fieldsToUpdate = null)
{
if (fieldsToUpdate == null || fieldsToUpdate.Count == 0)
{
// 默认根据 ID 更新所有字段
var mappings = GetFieldMappings();
var setClause = string.Join(", ", mappings.Values.Select(f => $"{f} = @{f}"));
return $"UPDATE {TableName} SET {setClause} WHERE id = @id;";
}
else
{
// 根据传入的字段更新
var setClause = string.Join(", ", fieldsToUpdate.Keys.Select(f => $"{f} = @{f}"));
return $"UPDATE {TableName} SET {setClause} WHERE id = @id;";
}
}
// 生成 Delete 语句
public string GenerateDeleteSQL(Dictionary<string, object> conditions = null)
{
if (conditions == null || conditions.Count == 0)
{
// 默认根据 ID 删除
return $"DELETE FROM {TableName} WHERE id = @id;";
}
else
{
// 根据传入条件删除
var whereClause = string.Join(" AND ", conditions.Keys.Select(f => $"{f} = @{f}"));
return $"DELETE FROM {TableName} WHERE {whereClause};";
}
}
}
[AttributeUsage(AttributeTargets.Property)]
public class DbFieldAttribute : Attribute
{
public string FieldName { get; }
public DbFieldAttribute(string fieldName)
{
FieldName = fieldName;
}
}

@ -0,0 +1,31 @@
using SparkClient.Model.Entity.Base;
namespace SparkClient.Model.Entity;
/// <summary>
/// 系统设置实体
/// </summary>
public class SystemSettingEntity : BaseEntity
{
public static string TableName = "SYSTEM_SETTING";
/// <summary>
/// 设置编号
/// </summary>
[DbField("SETID")]
public string SetId { get; set; }
/// <summary>
/// 设置名称
/// </summary>
[DbField("NAME")]
public string SetName { get; set; }
/// <summary>
/// 设置值
/// </summary>
[DbField("VALUE")]
public string SetValue { get; set; }
}

@ -1,5 +1,6 @@
using System.Windows; using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using Microsoft.Web.WebView2.Core;
namespace SparkClient.Views; namespace SparkClient.Views;
@ -8,7 +9,13 @@ public partial class HelperPage
public HelperPage() public HelperPage()
{ {
InitializeComponent(); InitializeComponent();
Console.Out.WriteLine(AppDomain.CurrentDomain.BaseDirectory + @"\Resource\Document\Helper.pdf");
PdfWebViewer.Source = new Uri(AppDomain.CurrentDomain.BaseDirectory + @"Resource\Document\Helper.pdf"); PdfWebViewer.Source = new Uri(AppDomain.CurrentDomain.BaseDirectory + @"Resource\Document\Helper.pdf");
} }
} }
Loading…
Cancel
Save