private static void ParseFilterNavValue(XPathNavigator filterNav, ThingQuery filter) { if (filterNav != null) { XPathNodeIterator typeIdIterator = filterNav.Select("type-id"); foreach (XPathNavigator typeIdNav in typeIdIterator) { filter.TypeIds.Add(new Guid(typeIdNav.Value)); } XPathNavigator effDateMinNav = filterNav.SelectSingleNode("eff-date-min"); if (effDateMinNav != null) { filter.EffectiveDateMin = SDKHelper.LocalDateTimeFromXml(effDateMinNav.Value); } XPathNavigator effDateMaxNav = filterNav.SelectSingleNode("eff-date-max"); if (effDateMaxNav != null) { filter.EffectiveDateMax = SDKHelper.LocalDateTimeFromXml(effDateMaxNav.Value); } XPathNavigator createdAppIdNav = filterNav.SelectSingleNode("created-app-id"); if (createdAppIdNav != null) { filter.CreatedApplication = new Guid(createdAppIdNav.Value); } XPathNavigator createdPersonIdNav = filterNav.SelectSingleNode("created-person-id"); if (createdPersonIdNav != null) { filter.CreatedPerson = new Guid(createdPersonIdNav.Value); } XPathNavigator updatedAppIdNav = filterNav.SelectSingleNode("updated-app-id"); if (updatedAppIdNav != null) { filter.UpdatedApplication = new Guid(updatedAppIdNav.Value); } XPathNavigator updatedPersonIdNav = filterNav.SelectSingleNode("updated-person-id"); if (updatedPersonIdNav != null) { filter.UpdatedPerson = new Guid(updatedPersonIdNav.Value); } XPathNavigator createdDateMinNav = filterNav.SelectSingleNode("created-date-min"); if (createdDateMinNav != null) { filter.CreatedDateMin = InstantPattern.ExtendedIso.Parse(createdDateMinNav.Value).Value; } XPathNavigator createdDateMaxNav = filterNav.SelectSingleNode("created-date-min"); if (createdDateMaxNav != null) { filter.CreatedDateMax = InstantPattern.ExtendedIso.Parse(createdDateMaxNav.Value).Value; } XPathNavigator updatedDateMinNav = filterNav.SelectSingleNode("updated-date-min"); if (updatedDateMinNav != null) { filter.UpdatedDateMin = InstantPattern.ExtendedIso.Parse(updatedDateMinNav.Value).Value; } XPathNavigator updatedDateMaxNav = filterNav.SelectSingleNode("updated-date-min"); if (updatedDateMaxNav != null) { filter.UpdatedDateMax = InstantPattern.ExtendedIso.Parse(updatedDateMaxNav.Value).Value; } XPathNavigator updatedEndDateMinNav = filterNav.SelectSingleNode("updated-end-date-min"); if (updatedEndDateMinNav != null) { filter.UpdatedEndDateMin = SDKHelper.LocalDateTimeFromXml(updatedEndDateMinNav.Value); } XPathNavigator updatedEndDateMaxNav = filterNav.SelectSingleNode("updated-end-date-max"); if (updatedEndDateMaxNav != null) { filter.UpdatedEndDateMax = SDKHelper.LocalDateTimeFromXml(updatedEndDateMaxNav.Value); } XPathNavigator xpathNav = filterNav.SelectSingleNode("xpath"); if (xpathNav != null) { filter.XPath = xpathNav.Value; } } }