protected override async Task LogAuditEventAsync(string eventName, string detail, Dictionary <string, string> props) { try { var user = Thread.CurrentPrincipal.Identity.Name; var eventDetail = detail; if (props != null && props.Count > 0) { var propStr = JsonConvert.SerializeObject(props); eventDetail += $"\n{propStr}"; } var parms = new List <SqlParameter> { AdoHelper.CreateSqlParameter <string>("@EventName", eventName), AdoHelper.CreateSqlParameter <string>("@EventDetail", eventDetail), AdoHelper.CreateSqlParameter <string>("@ActionUser", user) }; using (var conn = GetLoggingConnection()) { await AdoHelper.ExecuteStoredProcedureAsync(conn, "dbo.uspWriteAuditLog", parms); } } catch { } }
public async Task <IList <AuditLogEntry> > GetAuditLogs(int skip = 0, int take = 100) { try { var user = Thread.CurrentPrincipal.Identity.Name; var parms = new List <SqlParameter> { AdoHelper.CreateSqlParameter("@Skip", skip), AdoHelper.CreateSqlParameter("@Take", take), }; var converters = new List <Func <SqlDataReader, Task <object> > > { ConvertToAuditLogEntry }; using (var conn = GetLoggingConnection()) { var data = await AdoHelper.ExecuteStoredProcedureAsync(conn, "dbo.uspGetAuditLog", parms, converters); var entries = data[0].Cast <AuditLogEntry>().ToList(); return(entries); } } catch { } return(null); }
public async Task <DataAccessResult <bool> > CheckUserForAction(string username, string controllerName, string actionName) { return(await ExecuteAdataAccessAsync <bool>(async response => { var hasPermission = AdoHelper.CreateSqlParameter("@HasPermission", false, ParameterDirection.Output); var parameters = new List <SqlParameter> { AdoHelper.CreateSqlParameter("@Username", username), AdoHelper.CreateSqlParameter("@Controller", controllerName), AdoHelper.CreateSqlParameter("@Action", actionName), hasPermission }; await ExecuteStoredProcedureAsync("dbo.uspCheckUserForAction", parameters); var result = Convert.ToBoolean(hasPermission.Value); response.TotalResultCount = 1; return result; })); }
protected override async Task LogSystemEventAsync(SkLogLevel logLevel, string message, string detail) { try { var user = Thread.CurrentPrincipal.Identity.Name; var parms = new List <SqlParameter> { AdoHelper.CreateSqlParameter <string>("@LogLevel", logLevel.ToString()), AdoHelper.CreateSqlParameter <string>("@LogMessage", message), AdoHelper.CreateSqlParameter <string>("@LogDetail", detail), AdoHelper.CreateSqlParameter <string>("@ActionUser", user) }; using (var conn = GetLoggingConnection()) { await AdoHelper.ExecuteStoredProcedureAsync(conn, "dbo.uspWriteSystemLog", parms); } } catch { } }