public static string LogTypeDisplayName(this AdminLogType item) { var type = item.GetType(); var member = type.GetMember(item.ToString()); DisplayAttribute displayName = (DisplayAttribute)member[0].GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault(); if (displayName != null) { return(displayName.Name); } return(item.ToString()); }
public void Create(string adminId, AdminLogType logType, string targetedUserName, DateTime submitDate) { var log = new AdminLog { AdminId = adminId, LogType = logType, TargetedUserName = targetedUserName, SubmitDate = submitDate }; this.db.AdminLogs.Add(log); this.db.SaveChanges(); }
public override void OnActionExecuted(ActionExecutedContext context) { var adminId = this.userManager.GetUserId(context.HttpContext.User); var targetedUserName = context.HttpContext.Request.Form["UserName"].ToString(); AdminLogType logType = AdminLogType.Ban; var allLogType = Enum.GetValues(typeof(AdminLogType)).Cast <AdminLogType>(); foreach (var type in allLogType) { var typeAsString = type.ToString().ToLower(); var methodFullNameTokens = context.ActionDescriptor.DisplayName.Split('.'); var nameToLower = methodFullNameTokens[methodFullNameTokens.Length - 2].ToLower(); if (nameToLower.StartsWith(typeAsString)) { logType = type; } } this.logs.Create(adminId, logType, targetedUserName, DateTime.UtcNow); }