Example #1
0
        public override object Convert(object value)
        {
            if (value == null)
            {
                return(value);
            }
            string input = value.ToString();

            Tracer.TraceInformation("adddays {0}", AddDays);
            DateTime dateValue;

            if (DateTime.TryParse(input, out dateValue))
            {
                if (!AddSeconds.Equals(0))
                {
                    dateValue = dateValue.AddSeconds(this.AddSeconds);
                    Tracer.TraceInformation("date-after-addseconds {0}", dateValue);
                }
                if (!AddMinutes.Equals(0))
                {
                    dateValue = dateValue.AddMinutes(this.AddMinutes);
                    Tracer.TraceInformation("date-after-addminutes {0}", dateValue);
                }
                if (!AddHours.Equals(0))
                {
                    dateValue = dateValue.AddHours(this.AddHours);
                    Tracer.TraceInformation("date-after-addhours {0}", dateValue);
                }
                if (!AddDays.Equals(0))
                {
                    dateValue = dateValue.AddDays(this.AddDays);
                    Tracer.TraceInformation("date-after-adddays {0}", dateValue);
                }
                if (!AddMonths.Equals(0))
                {
                    dateValue = dateValue.AddMonths(this.AddMonths);
                    Tracer.TraceInformation("date-after-addmonths {0}", dateValue);
                }
                if (!AddYears.Equals(0))
                {
                    dateValue = dateValue.AddYears(this.AddYears);
                    Tracer.TraceInformation("date-after-addyears {0}", dateValue);
                }
                return(dateValue);
            }
            else
            {
                Tracer.TraceWarning("could-not-parse-to-date {0}", 1, input);
            }
            return(value);
        }