private void LogPostRequest(ActionExecutingContext context) { if (!context.ModelState.IsValid) { return; } var request = context.HttpContext.Request; var actionDescriptor = (ControllerActionDescriptor)context.ActionDescriptor; var str = actionDescriptor.ActionName == "Delete" ? null : PatchFormData(request.Form); var targetId = context.ActionArguments.ContainsKey("id") ? context.ActionArguments["id"]?.ToString() : null; var controller = (UiController)context.Controller; var uiLog = new LogsUiEntity { Action = actionDescriptor.ActionName, Controller = actionDescriptor.ControllerTypeInfo.Name, NewVersion = str, Author = controller.CurrentUserIfLoggedIn, Url = context.HttpContext.Request.GetEncodedPathAndQuery(), TargetId = targetId, TraceIdentifier = context.HttpContext.TraceIdentifier }; _logger.UiLog(uiLog); }
public void UiLog(LogsUiEntity log) { _uiLogManager.Store(log); }