public CompatibleVersions(int min, int max)
        {
            EnsureArg.IsLte(min, max);

            Min = min;
            Max = max;
        }
示例#2
0
        /// <summary>
        /// Gets all calendar events within a month that have not been deleted.
        /// </summary>
        /// <param name="year">The year.</param>
        /// <param name="month">The month (indexed by 1).</param>
        /// <returns>The calendar events within the time period.</returns>
        public IEnumerable <CalendarEventDO> GetCalendarEvents(int year, int month)
        {
            // Guards
            EnsureArg.IsGte(month, 1, nameof(month));
            EnsureArg.IsLte(month, 12, nameof(month));

            var daysInMonth    = DateTime.DaysInMonth(year, month);
            var monthStartDate = new DateTime(year, month, 1);
            var monthEndDate   = new DateTime(year, month, daysInMonth);

            using (var repo = this.repositoryFactory.Create())
            {
                var records = repo.CalendarEvents
                              .Where(
                    e =>
                    e.IsDeleted == false && (

                        /* Event starts within the month */
                        (e.StartDate.Date >= monthStartDate.Date && e.StartDate.Date <= monthEndDate.Date) ||

                        /* Event ends within the month */
                        (e.EndDate.Date >= monthStartDate.Date && e.EndDate.Date <= monthEndDate.Date) ||

                        /* Event spans the entire month */
                        (e.StartDate.Date <monthStartDate.Date && e.EndDate.Date> monthEndDate.Date)));

                foreach (var record in records)
                {
                    yield return(this.calendarEventMapper.Map(record));
                }
            }
        }
        public void IsLte_When_value_is_gt_than_limit_It_throws_ArgumentException()
        {
            var spec = When_value_is_gt_than_limit();

            AssertIsLteScenario(spec.Value, spec.Limit,
                                () => Ensure.That(spec.Value, ParamName).IsLte(spec.Limit),
                                () => EnsureArg.IsLte(spec.Value, spec.Limit, ParamName));
        }
        public void IsLte_When_value_is_lt_than_limit_It_should_not_throw()
        {
            var spec = When_value_is_lt_than_limit();

            ShouldNotThrow(
                () => Ensure.That(spec.Value, ParamName).IsLte(spec.Limit),
                () => EnsureArg.IsLte(spec.Value, spec.Limit, ParamName));
        }
        public DataSource(IOptions <ConnectionStrings> configuration)
        {
            EnsureArg.IsNotNull(configuration.Value, nameof(configuration.Value));
            EnsureArg.IsLte(configuration.Value.RequiredVersion, 1, nameof(configuration.Value.RequiredVersion));
            EnsureArg.IsNotNullOrWhiteSpace(configuration.Value.DefaultConnection, nameof(configuration.Value.DefaultConnection));

            _configuration = configuration.Value;
        }
示例#6
0
        public static long LastUpdatedToResourceSurrogateId(DateTime dateTime)
        {
            EnsureArg.IsLte(dateTime, MaxDateTime, nameof(dateTime));
            long id = dateTime.TruncateToMillisecond().Ticks << ShiftFactor;

            Debug.Assert(id >= 0, "The ID should not have become negative");
            return(id);
        }
        public void IsLte_When_value_is_equal_to_limit_It_returns_passed_value()
        {
            var spec = When_value_is_equal_to_limit();

            var returnedValue = Ensure.That(spec.Value, ParamName).IsLte(spec.Limit);

            AssertReturnedAsExpected(returnedValue, spec.Value);

            Action a = () => EnsureArg.IsLte(spec.Value, spec.Limit, ParamName);

            a.ShouldNotThrow();
        }
示例#8
0
        protected Entity(TKey id, DateTime creationDate)
        {
            EnsureArg.IsNotDefault(id, nameof(id),
                                   o => o.WithException(new RequiredArgumentException(nameof(id))));
            Id = id;

            EnsureArg.IsTrue(creationDate.Kind == DateTimeKind.Utc, nameof(creationDate),
                             o => o.WithException(new ArgumentException(nameof(creationDate), "Date must be of type UTC")));
            EnsureArg.IsLte(creationDate, DateTime.UtcNow, nameof(creationDate),
                            o => o.WithException(new ArgumentException(nameof(creationDate), "Date must not be in the future")));
            CreationDate = creationDate;
        }
        public void IsLte_Comparer_arg_is_used()
        {
            // sa > Sa when case sensitive, but sa == Sp when case insensitive
            var sa = "sa";
            var Sa = "Sa";
            IComparer <string> ordinal = StringComparer.Ordinal;

            AssertIsLteScenario(sa, Sa,
                                () => Ensure.That(sa, ParamName).IsLte(Sa, ordinal),
                                () => EnsureArg.IsLte(sa, Sa, ordinal, ParamName));

            // Validate with comparer (order is reversed)
            IComparer <string> ignoreCase = StringComparer.OrdinalIgnoreCase;

            ShouldNotThrow(
                () => Ensure.That(sa, ParamName).IsLte(Sa, ignoreCase),
                () => EnsureArg.IsLte(sa, Sa, ignoreCase, ParamName));
        }