public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { var userName = context.HttpContext.User.Identity.Name; if (userName != null) { var service = context.HttpContext.RequestServices.GetService <IServiceManager>(); var userDto = await service.User.FindBy(userName); if (userDto == null || !userDto.IsActive || !userDto.IsVisible) { context.Result = new BadRequestObjectResult("Invalid User " + userName); return; } CurrentUser.User = userDto; UserActivityToSaveDto userActivityToSaveDto = new UserActivityToSaveDto(); userActivityToSaveDto.ControllerName = context.Controller.ToString(); userActivityToSaveDto.DateRequested = DateTime.Now; userActivityToSaveDto.UserId = userDto.Id; userActivityToSaveDto.ActionName = context.ActionDescriptor.DisplayName.ToString(); var valuesString = new StringBuilder(); foreach (var value in context.HttpContext.User.Claims) { valuesString.Append(value.Type + " : " + value.Value + "; "); } userActivityToSaveDto.Comment = valuesString.ToString(); await service.UserActivity.Add(userActivityToSaveDto); } await next(); }
public async Task <int> Add(UserActivityToSaveDto entity) { UserActivity userActivity = _mapper.Map <UserActivity>(entity); await Task.Run(() => { _unitOfWork.UserActivity.Add(userActivity); }); _unitOfWork.Complete(); return(userActivity.Id); }
private static async Task SaveUserActivity( ActionExecutingContext context, IServiceManager service, UserDto userDto) { UserActivityToSaveDto userActivityToSaveDto = new UserActivityToSaveDto(); userActivityToSaveDto.ControllerName = context.Controller.ToString(); userActivityToSaveDto.DateRequested = DateTime.Now; userActivityToSaveDto.UserId = userDto.Id; userActivityToSaveDto.ActionName = context.ActionDescriptor.DisplayName.ToString(); var valuesString = new StringBuilder(); foreach (var value in context.HttpContext.User.Claims) { valuesString.Append(value.Type + " : " + value.Value + "; "); } userActivityToSaveDto.Comment = valuesString.ToString(); await service.UserActivity.Add(userActivityToSaveDto); }