TryParse() public static method

public static TryParse ( string str, DateTime, &result ) : bool
str string
result DateTime,
return bool
Example #1
0
        private bool TryParseDateTime(string text, out DateTime result)
        {
            bool isValid = false;

            result = this.ContextNow;

            DateTime current = this.ContextNow;

            try
            {
                // TempValue is used when Manipulating TextBox.Text while Value is not updated yet (used in DateTimePicker's TimePicker).
                current = this.TempValue.HasValue
                          ? this.TempValue.Value
                          : this.Value.HasValue ? this.Value.Value : DateTime.Parse(this.ContextNow.ToString(), this.CultureInfo.DateTimeFormat);

                isValid = DateTimeParser.TryParse(text, this.GetFormatString(Format), current, this.CultureInfo, this.AutoClipTimeParts, out result);
            }
            catch (FormatException)
            {
                isValid = false;
            }

            if (!isValid)
            {
                isValid = DateTime.TryParseExact(text, this.GetFormatString(this.Format), this.CultureInfo, DateTimeStyles.None, out result);
            }

            if (!isValid)
            {
                result = (_lastValidDate != null) ? _lastValidDate.Value : current;
            }

            return(isValid);
        }
Example #2
0
        private static DateTime Parse(string source)
        {
            ITimeEvalNode node;

            DateTimeParser.TryParse(source, out node);
            return(node.GetCurrentValue(DateTime.Now));
        }
Example #3
0
        public void Infra_InvalidDate_Test()
        {
            //Arrange
            var dataCriacao = DateTime.Now.AddDays(2);

            //Assert
            Assert.Throws(typeof(ArgumentOutOfRangeException), () => DateTimeParser.TryParse(dataCriacao));
        }
 public static IEnumerable <DateTimeRangeWithPrecision> GetDatesFromWitEntities(IEnumerable <WitEntity> witEntities)
 {
     return(witEntities.Select(d => DateTimeParser.TryParse(d, out var range) ? range : null)
            .Where(d => d != null)
            .OrderBy(d => d.StartDate)
            .ThenBy(d => d.EndDate)
            .Select(Convert)
            .ToList());
 }
Example #5
0
        public void Infra_OneMinute_Test()
        {
            //Arrange
            var dataCriacao = DateTime.Now.AddMinutes(-1);

            //Action
            var result = DateTimeParser.TryParse(dataCriacao);

            //Assert
            Assert.IsTrue(result.Contains("1 minuto atrás"));
        }
Example #6
0
        public void Infra_TwoDays_Test()
        {
            //Arrange
            var dataCriacao = DateTime.Now.AddDays(-2);

            //Action
            var result = DateTimeParser.TryParse(dataCriacao);

            //Assert
            Assert.IsTrue(result.Contains("2 dias atrás"));
        }
Example #7
0
        private static bool TryGetDateTime(String text, out DateTime dateTime)
        {
            if (!DateTimeParser.TryParse(text, AllowedDateTimeFormats, out dateTime))
            {
                if (!DateTime.TryParseExact(text, AllowedDateTimeFormats, invariantDateFormat, DateTimeStyles.None, out dateTime))
                {
                    return(false);
                }
            }

            return(true);
        }
Example #8
0
        public void Infra_TwoDaysFourHoursTenMinutes_Test()
        {
            //Arrange
            var dataCriacao = DateTime.Now.AddDays(-2);

            dataCriacao = dataCriacao.AddHours(-4);
            dataCriacao = dataCriacao.AddMinutes(-10);

            //Action
            var result = DateTimeParser.TryParse(dataCriacao);

            //Assert
            Assert.IsTrue(result.Contains("2 dias, 4 horas, 10 minutos atrás"));
        }
Example #9
0
        protected override void OnTextChanged(string previousValue, string currentValue)
        {
            var _processTextChanged = Convert.ToBoolean(_processTextChangedField.GetValue(this));

            if (!_processTextChanged)
            {
                return;
            }

            if (string.IsNullOrEmpty(currentValue))
            {
                base.Value = null;
                return;
            }

            DateTime currentDate = base.Value.HasValue ? base.Value.Value : DateTime.Parse(DateTime.Now.ToString(), base.CultureInfo.DateTimeFormat);
            DateTime dateTime    = currentDate;

            DateTimeParser.TryParse(currentValue, this.GetFormatString(this.Format), currentDate, base.CultureInfo, out dateTime);
            base.SyncTextAndValueProperties(DateTimeInputControl.TextProperty, dateTime.ToString(base.CultureInfo));
        }
Example #10
0
        public static ReservationForm ReadFromWit(WitResult witResult)
        {
            var form = new ReservationForm();

            if (witResult.TryFindEntity("restaurantname", out var restaurantNameEntity))
            {
                form.RestaurantName = restaurantNameEntity.Value;
            }

            if (witResult.TryFindEntity("people_count", out var countEntity))
            {
                form.PeopleCount = int.Parse(countEntity.Value);
            }

            if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range))
            {
                form.ReservationDate = range.StartDate.DateTime;
            }

            return(form);
        }
Example #11
0
        private static Object ConvertValue(Object value, Type type, bool defaultIfNull)
        {
            if (type.IsInstanceOfType(value))
            {
                return(value);
            }

            var strValue = Convert.ToString(value, CultureInfo.CurrentUICulture);

            if (String.IsNullOrEmpty(strValue))
            {
                if (!type.IsValueType || IsNullable(type))
                {
                    return(null);
                }

                if (defaultIfNull)
                {
                    return(Activator.CreateInstance(type));
                }

                var nullValueErrorText = $"Null is not assignable to type [{type}]";
                throw new Exception(nullValueErrorText);
            }

            var sourceType = value.GetType();

            if (IsNullable(sourceType))
            {
                sourceType = Nullable.GetUnderlyingType(sourceType);
            }

            var destinationType = type;

            if (IsNullable(destinationType))
            {
                destinationType = Nullable.GetUnderlyingType(destinationType);
            }

            if (destinationType == typeof(DateTime))
            {
                DateTime dateValue;
                if (!DateTimeParser.TryParse(Convert.ToString(value), out dateValue))
                {
                    throw new Exception("Invalid DateTime Format");
                }

                return(dateValue);
            }

            var converter = TypeDescriptor.GetConverter(destinationType);

            if (converter.CanConvertFrom(sourceType))
            {
                return(converter.ConvertFrom(value));
            }

            converter = TypeDescriptor.GetConverter(sourceType);
            if (converter.CanConvertTo(destinationType))
            {
                return(converter.ConvertTo(value, destinationType));
            }

            var unableConvertErrorText = $"Unable to convert value [{value} - {value.GetType()}] to type [{type}]";

            throw new Exception(unableConvertErrorText);
        }
        public static ReservationForm ReadFromWit(WitResult witResult)
        {
            var form = new ReservationForm();

            if (witResult.TryFindEntity("restaurantname", out var restaurantNameEntity))
            {
                form.RestaurantName = restaurantNameEntity.Value;
            }

            if (witResult.TryFindEntities("number", out var countEntities))
            {
                var countEntity = countEntities.Skip(1).FirstOrDefault();
                if (countEntity != null)
                {
                    form.PeopleCount = int.Parse(countEntity.Value);
                }
            }

            if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range))
            {
                form.ReservationDate = new DateTimeA(range.StartDate.DateTime);
            }

            return(form);
        }
        public void Should_interpret_dates_without_timezone_as_local()
        {
            DateTimeParser.TryParse("2018-01-28 15:26:00", out var datetime).Should().BeTrue();

            datetime.Should().Be(new DateTime(2018, 1, 28, 15, 26, 0, DateTimeKind.Local));
        }
 public void Should_TryParse()
 {
     DateTimeParser.TryParse("20050809T181142+0330", out var datetime).Should().BeTrue();
     datetime.Should().Be(new DateTime(2005, 8, 9, 18, 11, 42)); // +3:30
     DateTimeParser.TryParse("123", out _).Should().BeFalse();
 }
        public static OrderForm ReadFromWit(WitResult witResult)
        {
            var form = new OrderForm();

            if (witResult.TryFindEntity("food", out var foodEntity))
            {
                form.Item = foodEntity.Value;
            }

            if (witResult.TryFindEntity("number", out var itemCount))
            {
                form.Count = int.Parse(itemCount.Value);
            }

            if (witResult.TryFindEntity(WitBuiltinEntities.DateTime, out var dateTimeEntity) && DateTimeParser.TryParse(dateTimeEntity, out var range))
            {
                form.DeliveryDate = new DateTimeA(range.StartDate.DateTime);
            }

            return(form);
        }