public ApiResult Update(UserItem userItem, List <RoleItem> roleList)
        {
            var userItemBefore = userItem.DeepClone();
            var roleListBefore = roleList.DeepClone();

            var result = inner.Update(userItem, roleList);

            if (!result.Succeeded && LogError || result.Succeeded && LogChangeSucceeded || stopwatch.ElapsedMilliseconds > LogLongTime)
            {
                logRepository.Add(new LogItem(stopwatch, userId, Guid.Empty, result, userItemBefore, roleListBefore));
            }

            return(result);
        }