public static SearchResults <ApiUserLogItem> Search(UserFilters filters, DatabaseContext databaseContext, IUserService userService) { List <ApiUserLogItem> items = UserLogItem.GetAll(databaseContext, filters) .Select(i => new ApiUserLogItem(i, userService)) .ToList(); IEnumerable <ApiUserLogItem> page = items.Skip((filters.Page - 1) * filters.PageSize).Take(filters.PageSize); return(new SearchResults <ApiUserLogItem>(page, items.Count, filters.Page, filters.PageSize)); }
public ApiUserLogItem(UserLogItem item, IUserService userService) { PerformingUserId = item.PerformingUserId; PerformingUser = string.IsNullOrEmpty(item.Username) ? GetUsername(PerformingUserId, userService) : item.Username; AffectedUserId = item.AffectedUserId; AffectedUser = GetUsername(AffectedUserId, userService); Event = item.Event.GetDisplayName(); IpAddress = item.IpAddress; DateTime localTime = item.Timestamp.ToLocalTime(); Timestamp = $"{localTime.ToShortDateString()} {localTime.ToLongTimeString()}"; }