Esempio n. 1
0
 public override int GetHashCode() =>
 Second.GetHashCode() ^
 Minute.GetHashCode() ^
 Hour.GetHashCode() ^
 Day.GetHashCode() ^
 DayOfWeek.GetHashCode() ^
 Month.GetHashCode() ^
 Year.GetHashCode() ^
 DayOfYear.GetHashCode() ^
 IsDst.GetHashCode();
        protected override void Execute(CodeActivityContext executionContext)
        {
            var      dateString = DateString.Get <string>(executionContext);
            var      dateFormat = DateFormat.Get <string>(executionContext);
            DateTime date;

            if (!String.IsNullOrWhiteSpace(dateString))
            {
                var provider = CultureInfo.InvariantCulture;

                if (!DateTime.TryParseExact(dateString, dateFormat, provider, DateTimeStyles.None, out date))
                {
                    date = Date.Get <DateTime>(executionContext);
                }
            }
            else
            {
                date = Date.Get <DateTime>(executionContext);
            }

            bool am;

            var hour = date.Hour;

            Year.Set(executionContext, date.Year);
            YearText.Set(executionContext, date.Year.ToString());
            Month.Set(executionContext, date.Month);
            Day.Set(executionContext, date.Day);
            Hour24.Set(executionContext, date.Hour);

            var cultureInfo = GetCultureInfo(executionContext, LanguageCode.Get <int>(executionContext));

            MonthText.Set(executionContext, date.ToString("MMMM", cultureInfo.DateTimeFormat));
            DayOfWeekString.Set(executionContext, date.ToString("dddd", cultureInfo.DateTimeFormat));


            if (date.Hour >= 12)
            {
                am   = false;
                hour = date.Hour - 12;
            }
            else
            {
                am = true;
            }

            Hour.Set(executionContext, hour);
            IsAM.Set(executionContext, am);
            IsPM.Set(executionContext, !am);
            Minute.Set(executionContext, date.Minute);

            DayOfWeek.Set(executionContext, (int)date.DayOfWeek);
            DayOfYear.Set(executionContext, date.DayOfYear);
            Week.Set(executionContext, GetWeek(date));
        }
Esempio n. 3
0
        /// <summary>
        /// Returns true if OutputDateInfo instances are equal
        /// </summary>
        /// <param name="other">Instance of OutputDateInfo to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(OutputDateInfo other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     DayOfYear == other.DayOfYear ||

                     DayOfYear.Equals(other.DayOfYear)
                     ) &&
                 (
                     DayOfWeek == other.DayOfWeek ||

                     DayOfWeek.Equals(other.DayOfWeek)
                 ) &&
                 (
                     WeekOfYear == other.WeekOfYear ||

                     WeekOfYear.Equals(other.WeekOfYear)
                 ) &&
                 (
                     SecondsInDay == other.SecondsInDay ||

                     SecondsInDay.Equals(other.SecondsInDay)
                 ) &&
                 (
                     MinutesInDay == other.MinutesInDay ||

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

                     Ticks.Equals(other.Ticks)
                 ));
        }
Esempio n. 4
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 + DayOfYear.GetHashCode();

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

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

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

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

                hashCode = hashCode * 59 + Ticks.GetHashCode();
                return(hashCode);
            }
        }
        public override int GetHashCode()
        {
            var hashCode = 844321305;

            hashCode = hashCode * -1521134295 + Ticks.GetHashCode();
            hashCode = hashCode * -1521134295 + Second.GetHashCode();
            hashCode = hashCode * -1521134295 + Date.GetHashCode();
            hashCode = hashCode * -1521134295 + Month.GetHashCode();
            hashCode = hashCode * -1521134295 + Minute.GetHashCode();
            hashCode = hashCode * -1521134295 + Millisecond.GetHashCode();
            hashCode = hashCode * -1521134295 + Hour.GetHashCode();
            hashCode = hashCode * -1521134295 + DayOfYear.GetHashCode();
            hashCode = hashCode * -1521134295 + DayOfWeek.GetHashCode();
            hashCode = hashCode * -1521134295 + Day.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <TimeSpan> .Default.GetHashCode(TimeOfDay);

            hashCode = hashCode * -1521134295 + Year.GetHashCode();
            hashCode = hashCode * -1521134295 + EqualityComparer <TimeSpan> .Default.GetHashCode(Offset);

            hashCode = hashCode * -1521134295 + EqualityComparer <string> .Default.GetHashCode(Value);

            return(hashCode);
        }
Esempio n. 6
0
 /// <summary>
 /// 年和年积日
 /// </summary>
 /// <returns></returns>
 public string ToYearDayHourMinuteSecondString()
 {
     return(Year + " " + DayOfYear.ToString("000") + " " + Hour + " " + Minute + " " + Second);
 }
Esempio n. 7
0
 /// <summary>
 /// 年和年积日
 /// </summary>
 /// <returns></returns>
 public string ToYearDayString()
 {
     return(Year + "" + DayOfYear.ToString("000"));
 }
Esempio n. 8
0
        public string ToSql()
        {
            var sql = new StringWriter();

            sql.WriteLine("MERGE ExchangeRate AS Target");
            sql.WriteLine("USING (SELECT {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}) As Source (BankId, DayOfYear, Year, Date, Month, MonthName, DayName, UtcLastUpdateOn, BuyRate, SaleRate)", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql(), Date.ToSql(), Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql());
            sql.WriteLine("ON Target.BankId = {0} And Target.DayOfYear = {1} And Target.Year = {2}", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql());
            sql.WriteLine("WHEN MATCHED THEN");
            sql.WriteLine(" UPDATE SET Month = {0}, MonthName = {1}, DayName = {2}, UtcLastUpdateOn = {3}, BuyRate = {4}, SaleRate = {5}", Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql());
            sql.WriteLine("WHEN NOT MATCHED THEN");
            sql.WriteLine(" INSERT (BankId, DayOfYear, Year, Date, Month, MonthName, DayName, UtcLastUpdateOn, BuyRate, SaleRate)");
            sql.WriteLine(" VALUES ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9});", BankId.ToSql(), DayOfYear.ToSql(), Year.ToSql(), Date.ToSql(), Month.ToSql(), MonthName.ToSql(), DayName.ToSql(), UtcLastUpdateOn.ToSql(), BuyRate.ToSql(), SaleRate.ToSql());
            return(sql.ToString());
        }