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); }