private void SaveLog(WebContexts webContexts) { if (webContexts == null) { throw new ArgumentNullException("webContexts"); } if (!_userActivityLoggingState.IsUserActivityActivated) { return; } if (_desctiption == null) { _desctiption = _descriptionGetter.GetDefaultDescription(webContexts); } var identity = (FormsIdentity)webContexts.CurrentHttpContext.User.Identity; var userId = _coockieParser.GetUserId(identity); var userRoleName = _coockieParser.GetUserRoleName(identity); var userLogin = _coockieParser.GetUserLogin(identity); _logService.SaveActivityAsync(new UserActivity { Date = DateTime.Now, Description = _desctiption, EntityState = EntityState.Added, UserId = userId, UserName = userLogin, UserRoleName = userRoleName }); }
public override void OnResultExecuted(ResultExecutedContext filterContext) { if (filterContext == null) { throw new ArgumentNullException("filterContext"); } var contexts = new WebContexts(HttpContext.Current, filterContext); SaveLog(contexts); }
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { if (actionExecutedContext == null) { throw new ArgumentNullException("actionExecutedContext"); } var contexts = new WebContexts(HttpContext.Current, actionExecutedContext); SaveLog(contexts); }
public void GetDefaultDesctiption_ForMvc_Test() { //Arange var resultExecutedContext = new ResultExecutedContext { Controller = new PrompterController() }; resultExecutedContext.Controller .ControllerContext = new ActionExecutedContext { Controller = new PrompterController() }; HttpContext.Current = new HttpContext( new HttpRequest(null, "http://testUrl/test", null), new HttpResponse(null)); var webContexts = new WebContexts(HttpContext.Current, resultExecutedContext); var defaultUserActivityDesctiption = new DefaultUserActivityDescription(); //Act var actual = defaultUserActivityDesctiption .GetDefaultDescription(webContexts); //Assert Assert.That(actual != null); Assert.That(actual.Contains("/test")); Assert.That(actual.Contains("PrompterController")); Assert.That(actual.Contains("Mvc")); Assert.That(actual.Contains("GET")); Assert.Throws<ArgumentNullException>(() => { defaultUserActivityDesctiption .GetDefaultDescription(null); }); }
public string GetDefaultDescription(WebContexts webContext) { if (webContext == null) { throw new ArgumentNullException("webContext"); } _webContexts = webContext; if (_webContexts.ResultExecutedContext != null) { _controllerName = GetMvcControllerName(_webContexts.ResultExecutedContext); _controllerType = "Mvc"; } if (_webContexts.HttpActionExecutedContext != null) { _controllerName = GetWebApiControllerName(_webContexts.HttpActionExecutedContext); _controllerType = "WebApi"; } return FormDefaultDescription(); }
public void GetDefaultDesctiption_ForWebApi_Test() { //Arange var dummyUserService = new Mock<IUserService>(); var dummyUserMapper = new Mock<IUserMapper>(); var actionExecutedContext = new HttpActionExecutedContext { ActionContext = new HttpActionContext() }; actionExecutedContext.ActionContext .ControllerContext = new HttpControllerContext { Controller = new WebApplication.WebApi.PrompterController( dummyUserService.Object, dummyUserMapper.Object) }; HttpContext.Current = new HttpContext( new HttpRequest(null, "http://testUrl/test", null), new HttpResponse(null)); var webContexts = new WebContexts(HttpContext.Current, actionExecutedContext); var defaultUserActivityDesctiption = new DefaultUserActivityDescription(); //Act var actual = defaultUserActivityDesctiption .GetDefaultDescription(webContexts); //Assert Assert.That(actual != null); Assert.That(actual.Contains("/test")); Assert.That(actual.Contains("PrompterController")); Assert.That(actual.Contains("WebApi")); Assert.That(actual.Contains("GET")); Assert.Throws<ArgumentNullException>(() => { defaultUserActivityDesctiption .GetDefaultDescription(null); }); }