void Load(string elmName, List <AttributeValue> list)
                {
                    DateRangeValue <string> range = new DateRangeValue <string>();

                    foreach (AttributeValue value in list)
                    {
                        switch (value.Name)
                        {
                        case "iso4217":
                            range.Value = value.Value;
                            break;

                        case "from":
                            DateTime.TryParseExact(value.Value, "yyyy-MM-dd",
                                                   CultureInfo.InvariantCulture,
                                                   DateTimeStyles.AdjustToUniversal, out range.From);
                            break;

                        case "to":
                            DateTime.TryParseExact(value.Value, "yyyy-MM-dd",
                                                   CultureInfo.InvariantCulture,
                                                   DateTimeStyles.AdjustToUniversal, out range.To);
                            break;
                        }
                    }
                    if (range.Value.HasValue() && range.From > default(DateTime))
                    {
                        _ranges.Add(range);
                    }
                }
        public override bool TryParse(string value, out Value val)
        {
            val = null;
            var match = ParseRegEx.Match(value);

            if (match.Success && DateTimeOffset.TryParse(match.Groups[1].Value, out var fromDate) &&
                DateTimeOffset.TryParse(match.Groups[2].Value, out var toDate))
            {
                val = DateRangeValue.Create(fromDate, toDate);
                return(true);
            }

            return(false);
        }
Example #3
0
        public void GetSpanDatesTest(DateRangeKind kind, DateRangeValue expected)
        {
            var result = DateRangeHelper.GetDateRangeDates(kind, _fromIn, _toIn);

            Assert.AreEqual(expected, result);
        }