public static VisitInfo[] GetEvents
        (
            [NotNull] this VisitInfo[] events,
            DateTime day
        )
        {
            if (ReferenceEquals(events, null))
            {
                throw new ArgumentNullException("events");
            }

            string dayString = IrbisDate.ConvertDateToString(day);

            VisitInfo[] result = events
                                 .AsParallel()
                                 .Where(v => v.DateGivenString.SameString(dayString))
                                 .ToArray();
            return(result);
        }
        public static VisitInfo[] GetEvents
        (
            [NotNull] this VisitInfo[] events,
            DateTime fromDay,
            DateTime toDay
        )
        {
            if (ReferenceEquals(events, null))
            {
                throw new ArgumentNullException("events");
            }

            string fromDayString = IrbisDate.ConvertDateToString(fromDay);
            string toDayString   = IrbisDate.ConvertDateToString(toDay);

            VisitInfo[] result = events
                                 .AsParallel()
                                 .Where(v => (v.DateGivenString.SafeCompare(fromDayString) >= 0) &&
                                        (v.DateGivenString.SafeCompare(toDayString) <= 0))
                                 .ToArray();
            return(result);
        }
        /// <summary>
        /// Подсчёт количества событий.
        /// </summary>
        public static int CountEvents
        (
            [NotNull] List <ReaderInfo> readers,
            DateTime fromDay,
            DateTime toDay,
            bool visit
        )
        {
            if (ReferenceEquals(readers, null))
            {
                throw new ArgumentNullException("readers");
            }

            string fromDayString = IrbisDate.ConvertDateToString(fromDay);
            string toDayString   = IrbisDate.ConvertDateToString(toDay);
            int    result        = readers
                                   .SelectMany(r => r.Visits)
                                   .Count(v => (v.DateGivenString.SafeCompare(fromDayString) >= 0) &&
                                          (v.DateGivenString.SafeCompare(toDayString) <= 0) &&
                                          (v.IsVisit == visit));

            return(result);
        }