private WebAuditData GetWebAuditData(int applicationId, string lang, int?RelatedRecordId, string assignedCode, string code, string data)
        {
            HttpContextProvider.Capture();

            var httpContext = HttpContextProvider.Get();

            return(new WebAuditData
            {
                ApplicationId = applicationId,
                UserName = httpContext.User.Identity.Name,
                RoleName = httpContext.User.Identity.GetRoleName(),
                Lang = (string.IsNullOrEmpty(lang) ? httpContext.Items["Lang"]?.ToString() : lang),
                RelatedRecordId = RelatedRecordId,
                IP = httpContext.Request.GetClientIpAddress(),
                BrowserName = httpContext.Request.Browser.Browser,
                BrowserVersion = httpContext.Request.Browser.Version,
                SessionId = httpContext.Session.SessionID,
                AssignedCode = assignedCode,
                Code = code,
                Data = data
            });
        }