AuditItem BuildAuditItem(string httpMethod, string controllerName, IDictionary <string, object> arguments, IEnumerable <Claim> claims)
        {
            var item = new AuditItem();

            item.Action   = _actions[httpMethod];
            item.Entity   = controllerName;
            item.Date     = DateTime.Now;
            item.UserId   = GetClaimValue(claims, JwtPrivateClaimNames.UserId);
            item.UserName = GetClaimValue(claims, JwtPrivateClaimNames.UserName);
            item.UserRole = GetClaimValue(claims, JwtPrivateClaimNames.UserRole);
            item.ClientId = GetClaimValue(claims, JwtPrivateClaimNames.ClientId);

            var jsonObject = JObject.FromObject(arguments);

            item.Data   = RemoveExcludeFields(jsonObject);
            item.ItemId = GetItemId(jsonObject);

            return(item);
        }
 void RegisterAudit(AuditItem auditItem)
 {
     _service.SaveAsync(auditItem);
 }