コード例 #1
0
ファイル: dotNetExt.cs プロジェクト: ghostnguyen/oams
 public static bool IsIn(this ITimeRange timerange, DateTime?dFrom, DateTime?dTo)
 {
     return(timerange.IsValid() &&
            dFrom.HasValue &&
            dTo.HasValue &&
            dFrom <= dTo &&
            timerange.FromDate >= dFrom &&
            timerange.ToDate <= dTo);
 }
コード例 #2
0
 public static bool Contains(this ITimeRange timerange, DateTime?datetime)
 {
     return(timerange.IsValid() &&
            datetime.HasValue &&
            timerange.FromDate <= datetime
            &&
            (
                !timerange.ToDate.HasValue ||
                (timerange.ToDate.Ceiling() >= datetime)
            ));
 }
コード例 #3
0
ファイル: ITimeRange.cs プロジェクト: ghostnguyen/oams
        public static ITimeRange Join(this ITimeRange value1, ITimeRange value)
        {
            if (!value.IsValid()
                || !value1.IsValid())
                throw new Exception("Invalid time range.");

            DateTime? newFromDate = value.FromDate > value1.FromDate ? value.FromDate : value1.FromDate;
            DateTime? newToDate = value.ToDate.HasValue ?
                (value1.ToDate.HasValue ?
                    (value.ToDate < value1.ToDate ? value.ToDate : value1.ToDate)
                    : value.ToDate)
                : value1.ToDate;

            TimeRange range = new TimeRange() { FromDate = newFromDate, ToDate = newToDate };

            return range.IsValid() ? range : new TimeRange();
        }
コード例 #4
0
        public static ITimeRange Join(this ITimeRange value1, ITimeRange value)
        {
            if (!value.IsValid() ||
                !value1.IsValid())
            {
                throw new Exception("Invalid time range.");
            }

            DateTime?newFromDate = value.FromDate > value1.FromDate ? value.FromDate : value1.FromDate;
            DateTime?newToDate   = value.ToDate.HasValue ?
                                   (value1.ToDate.HasValue ?
                                    (value.ToDate < value1.ToDate ? value.ToDate : value1.ToDate)
                    : value.ToDate)
                : value1.ToDate;

            TimeRange range = new TimeRange()
            {
                FromDate = newFromDate, ToDate = newToDate
            };

            return(range.IsValid() ? range : new TimeRange());
        }