using Hotline.Repository.SqlSugar.DataPermissions; using Hotline.Settings; using Hotline.Share.Tools; using SqlSugar; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using XF.Domain.Dependency; namespace Hotline.Repository.SqlSugar.System; public class SystemLogRepository : BaseRepository, ISystemLogRepository, IScopeDependency { public SystemLogRepository(ISugarUnitOfWork uow, IDataPermissionFilterBuilder dataPermissionFilterBuilder) : base(uow, dataPermissionFilterBuilder) { } public void Add(string name, string executeParam = "", string remark = "", [CallerMemberName]string executeUrl = "", int status = 0, string ipUrl = "", string executeResult = "") { try { var entity = new SystemLog { Name = name, ExecuteParam = executeParam, ExecuteResult = executeResult, ExecuteUrl = executeUrl, Remark = remark, Status = status, IpUrl = ipUrl }; if (executeUrl.IsNullOrEmpty()) { entity.ExecuteUrl = new StackTrace().GetFrame(1).GetMethod().Name; } AddAsync(entity).GetAwaiter().GetResult(); } catch { // ignore } } }