Пример #1
0
        /// <summary>
        /// Adds the dlna time seek headers to the response.
        /// </summary>
        /// <param name="state">The current <see cref="StreamState"/>.</param>
        /// <param name="responseHeaders">The <see cref="IHeaderDictionary"/> of the response.</param>
        /// <param name="startTimeTicks">The start time in ticks.</param>
        private static void AddTimeSeekResponseHeaders(StreamState state, IHeaderDictionary responseHeaders, long?startTimeTicks)
        {
            var runtimeSeconds = TimeSpan.FromTicks(state.RunTimeTicks !.Value).TotalSeconds.ToString(CultureInfo.InvariantCulture);
            var startSeconds   = TimeSpan.FromTicks(startTimeTicks ?? 0).TotalSeconds.ToString(CultureInfo.InvariantCulture);

            responseHeaders.Add("TimeSeekRange.dlna.org", string.Format(
                                    CultureInfo.InvariantCulture,
                                    "npt={0}-{1}/{1}",
                                    startSeconds,
                                    runtimeSeconds));
            responseHeaders.Add("X-AvailableSeekRange", string.Format(
                                    CultureInfo.InvariantCulture,
                                    "1 npt={0}-{1}",
                                    startSeconds,
                                    runtimeSeconds));
        }
Пример #2
0
        /// <summary>
        /// フォーマットに基づいて文字列を生成する
        /// </summary>
        /// <param name="format">
        /// フォーマット
        /// %h 時
        /// %m 分
        /// %s 秒
        /// %d 日
        /// %w 週の文字(例:Mon)
        /// %S 秒の通算
        /// %M 分の通算
        /// %H 時の通算
        /// %D 日の通算
        /// %DI 日の通算(整数部のみ)
        /// </param>
        /// <returns></returns>
        //
        public string ToString(string format)
        {
            format = format.Replace("%h", Hour.ToString("00"));
            format = format.Replace("%m", Minute.ToString("00"));
            format = format.Replace("%s", Second.ToString("00"));
            format = format.Replace("%d", Day.ToString());
            var day = Day;

            if (day < 0)
            {
                day = (day % DateTimeEx._dayStrings.Length) + 7;
            }
            format = format.Replace("%w", DateTimeEx._dayStrings[day % DateTimeEx._dayStrings.Length]);
            format = format.Replace("%H", TotalHours.ToString());
            format = format.Replace("%S", TotalSeconds.ToString());
            format = format.Replace("%M", TotalMinutes.ToString());
            format = format.Replace("%DI", ((int)TotalDays).ToString());    // 日を整数化(切り捨て)
            format = format.Replace("%D", TotalDays.ToString());
            return(format);
        }
Пример #3
0
        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                var hashCode = 41;
                // Suitable nullity checks etc, of course :)

                hashCode = hashCode * 59 + Years.GetHashCode();

                hashCode = hashCode * 59 + Months.GetHashCode();

                hashCode = hashCode * 59 + Days.GetHashCode();

                hashCode = hashCode * 59 + Hours.GetHashCode();

                hashCode = hashCode * 59 + Minutes.GetHashCode();

                hashCode = hashCode * 59 + Milliseconds.GetHashCode();

                hashCode = hashCode * 59 + TotalYears.GetHashCode();

                hashCode = hashCode * 59 + TotalMonths.GetHashCode();

                hashCode = hashCode * 59 + TotalDays.GetHashCode();

                hashCode = hashCode * 59 + TotalHours.GetHashCode();

                hashCode = hashCode * 59 + TotalMinutes.GetHashCode();

                hashCode = hashCode * 59 + TotalSeconds.GetHashCode();

                hashCode = hashCode * 59 + TotalMilliseconds.GetHashCode();

                hashCode = hashCode * 59 + Ticks.GetHashCode();
                return(hashCode);
            }
        }
Пример #4
0
        private void CountDown()
        {
            if (TotalSeconds.Ticks == 0)
            {
                TimerText = "00:00:00";

                TotalSeconds = new TimeSpan(0, 0, 0, 0);

                _timer.Stop();

                EndMeditation();
            }
            else
            {
                TotalSeconds = TotalSeconds.Subtract(new TimeSpan(0, 0, 0, 1));

                if (!App.ApplicationInBackground)
                {
                    TimerText = TotalSeconds.ToString("hh':'mm':'ss");
                }

                Progress = Progress + step;
            }
        }
Пример #5
0
 public int CompareTo(Time other) =>
 TotalSeconds.CompareTo(other.TotalSeconds);
Пример #6
0
 public bool Equals(Time other) =>
 TotalSeconds.Equals(other.TotalSeconds);
Пример #7
0
 /// <inheritdoc/>
 public int CompareTo(WcDateTime other)
 {
     return(TotalSeconds.CompareTo(other.TotalSeconds));
 }
Пример #8
0
 public int CompareTo(DegreeAngle other) =>
 TotalSeconds.CompareTo(other.TotalSeconds);
Пример #9
0
 public bool Equals(DegreeAngle other) =>
 TotalSeconds.Equals(other.TotalSeconds);
Пример #10
0
 public override int GetHashCode()
 {
     return TotalSeconds.GetHashCode();
 }
Пример #11
0
        /// <summary>
        /// Returns true if OutputDateDifference instances are equal
        /// </summary>
        /// <param name="other">Instance of OutputDateDifference to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(OutputDateDifference other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     Years == other.Years ||

                     Years.Equals(other.Years)
                     ) &&
                 (
                     Months == other.Months ||

                     Months.Equals(other.Months)
                 ) &&
                 (
                     Days == other.Days ||

                     Days.Equals(other.Days)
                 ) &&
                 (
                     Hours == other.Hours ||

                     Hours.Equals(other.Hours)
                 ) &&
                 (
                     Minutes == other.Minutes ||

                     Minutes.Equals(other.Minutes)
                 ) &&
                 (
                     Milliseconds == other.Milliseconds ||

                     Milliseconds.Equals(other.Milliseconds)
                 ) &&
                 (
                     TotalYears == other.TotalYears ||

                     TotalYears.Equals(other.TotalYears)
                 ) &&
                 (
                     TotalMonths == other.TotalMonths ||

                     TotalMonths.Equals(other.TotalMonths)
                 ) &&
                 (
                     TotalDays == other.TotalDays ||

                     TotalDays.Equals(other.TotalDays)
                 ) &&
                 (
                     TotalHours == other.TotalHours ||

                     TotalHours.Equals(other.TotalHours)
                 ) &&
                 (
                     TotalMinutes == other.TotalMinutes ||

                     TotalMinutes.Equals(other.TotalMinutes)
                 ) &&
                 (
                     TotalSeconds == other.TotalSeconds ||

                     TotalSeconds.Equals(other.TotalSeconds)
                 ) &&
                 (
                     TotalMilliseconds == other.TotalMilliseconds ||

                     TotalMilliseconds.Equals(other.TotalMilliseconds)
                 ) &&
                 (
                     Ticks == other.Ticks ||

                     Ticks.Equals(other.Ticks)
                 ));
        }
Пример #12
0
        public int CompareTo(object obj)
        {
            var other = (UtopiaTimeSpan)obj;

            return(TotalSeconds.CompareTo(other.TotalSeconds));
        }