using AsbCloudApp.Data; using AsbCloudApp.Data.ProcessMaps; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace AsbCloudApp.Extensions { /// <summary> /// Расширения для поиска в истории /// </summary> public static class ChangeLogExtensions { /// <summary> /// Действительные на момент времени значения /// </summary> /// <typeparam name="T"></typeparam> /// <param name="items"></param> /// <param name="moment"></param> /// <returns></returns> public static IEnumerable<ChangeLogDto<T>> WhereActualAtMoment<T>(this IEnumerable<ChangeLogDto<T>> items, DateTimeOffset moment) where T : IId { var actualItems = items .Where(item => item.Creation <= moment) .Where(item => item.Obsolete is null || item.Obsolete >= moment); return actualItems; } } }