コード例 #1
0
 public EntryExitTime(IMutableDayTime entryTime, IMutableDayTime exitTime)
 {
     if (entryTime == null) throw new ArgumentNullException(nameof(entryTime));
     if (exitTime == null) throw new ArgumentNullException(nameof(exitTime));
     _entryTime = entryTime;
     _exitTime = exitTime;
 }
コード例 #2
0
 public bool Equals(IMutableDayTime other)
 {
     if (ReferenceEquals(null, other))
         return false;
     if (ReferenceEquals(this, other))
         return true;
     if (other.GetType() != this.GetType())
         return false;
     return Equals((MutableDayTime)other);
 }
コード例 #3
0
 private void CompareAndSortTwoDayTimes(IMutableDayTime dayTimeOne, IMutableDayTime dayTimeTwo, out IMutableDayTime greaterDayTime,
     out IMutableDayTime lesserDayTime)
 {
     if (dayTimeOne.CompareTo(dayTimeTwo) >= 0)
     {
         greaterDayTime = dayTimeOne;
         lesserDayTime = dayTimeTwo;
     }
     else
     {
         greaterDayTime = dayTimeTwo;
         lesserDayTime = dayTimeOne;
     }
 }
コード例 #4
0
        public IMutableTimeSpan CreateAsDifferenceOf(IMutableDayTime dayTime, IMutableDayTime andDayTime)
        {
            IMutableDayTime greaterDayTime;
            IMutableDayTime lesserDayTime;
            CompareAndSortTwoDayTimes(dayTime, andDayTime, out greaterDayTime, out lesserDayTime);

            var hourDifference = (int)(greaterDayTime.Hour - (int)lesserDayTime.Hour);
            var minuteDifference = (int)(greaterDayTime.Minute - (int)lesserDayTime.Minute);
            if (minuteDifference < 0)
            {
                hourDifference -= 1;
                minuteDifference = MinutesPerHour + minuteDifference;
            }

            return CreateFrom(hourDifference, minuteDifference);
        }
コード例 #5
0
 public int CompareTo(IMutableDayTime other)
 {
     return (Hour*MinutesPerHour + Minute).CompareTo(other.Hour*MinutesPerHour + other.Minute);
 }