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();
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }