Files
shgx_tz_mes_backend_sync/ZR.Admin.WebApi/Extensions/EntityExtension.cs

71 lines
2.6 KiB
C#
Raw Normal View History

2022-03-06 14:26:05 +08:00
//using Microsoft.AspNetCore.Http;
//using Snowflake.Core;
2021-08-23 16:57:25 +08:00
using System;
namespace ZR.Admin.WebApi.Extensions
{
public static class EntityExtension
{
2022-03-06 14:26:05 +08:00
public static TSource ToCreate<TSource>(this TSource source, HttpContext? context = null)
2021-08-23 16:57:25 +08:00
{
2022-03-06 14:26:05 +08:00
var types = source?.GetType();
2022-08-15 20:22:19 +08:00
if (types == null) return source;
2021-08-23 16:57:25 +08:00
if (types.GetProperty("CreateTime") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("CreateTime")?.SetValue(source, DateTime.Now, null);
2021-08-23 16:57:25 +08:00
}
2021-12-28 20:52:08 +08:00
if (types.GetProperty("AddTime") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("AddTime")?.SetValue(source, DateTime.Now, null);
2021-12-28 20:52:08 +08:00
}
2021-08-23 16:57:25 +08:00
if (types.GetProperty("UpdateTime") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("UpdateTime")?.SetValue(source, DateTime.Now, null);
2021-08-23 16:57:25 +08:00
}
if (types.GetProperty("Create_by") != null && context != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("Create_by")?.SetValue(source, context.GetName(), null);
2021-08-23 16:57:25 +08:00
}
2022-12-24 17:16:06 +08:00
if (types.GetProperty("Create_By") != null && context != null)
{
types.GetProperty("Create_By")?.SetValue(source, context.GetName(), null);
}
if (types.GetProperty("CreateBy") != null && context != null)
{
types.GetProperty("CreateBy")?.SetValue(source, context.GetName(), null);
}
2021-08-23 16:57:25 +08:00
if (types.GetProperty("UserId") != null && context != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("UserId")?.SetValue(source, context.GetUId(), null);
2021-08-23 16:57:25 +08:00
}
return source;
}
2022-08-15 20:22:19 +08:00
public static TSource ToUpdate<TSource>(this TSource source, HttpContext? context = null)
{
2022-08-15 20:22:19 +08:00
var types = source?.GetType();
if (types == null) return source;
if (types.GetProperty("UpdateTime") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("UpdateTime")?.SetValue(source, DateTime.Now, null);
}
2021-09-29 15:57:56 +08:00
if (types.GetProperty("Update_time") != null)
2021-09-21 20:31:35 +08:00
{
2022-08-15 20:22:19 +08:00
types.GetProperty("Update_time")?.SetValue(source, DateTime.Now, null);
2021-09-21 20:31:35 +08:00
}
if (types.GetProperty("UpdateBy") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("UpdateBy")?.SetValue(source, context?.GetName(), null);
}
2021-09-21 20:31:35 +08:00
if (types.GetProperty("Update_by") != null)
{
2022-08-15 20:22:19 +08:00
types.GetProperty("Update_by")?.SetValue(source, context?.GetName(), null);
2021-09-21 20:31:35 +08:00
}
return source;
}
2021-08-23 16:57:25 +08:00
}
}