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); }
public void GetSpanDatesTest(DateRangeKind kind, DateRangeValue expected) { var result = DateRangeHelper.GetDateRangeDates(kind, _fromIn, _toIn); Assert.AreEqual(expected, result); }