Beispiel #1
0
        private void AddFilterSection(XmlWriter writer)
        {
            if (AreFiltersPresent())
            {
                // <filter>
                writer.WriteStartElement("filter");

                if (_typeIds.Count > 0)
                {
                    // <type-id>
                    foreach (Guid typeId in _typeIds)
                    {
                        writer.WriteElementString(
                            "type-id", typeId.ToString());
                    }
                }

                if ((States & ThingStates.Active) != 0)
                {
                    // <thing-state>
                    writer.WriteElementString(
                        "thing-state",
                        ThingState.Active.ToString());
                }

                if ((States & ThingStates.Deleted) != 0)
                {
                    // <thing-state>
                    writer.WriteElementString(
                        "thing-state",
                        ThingState.Deleted.ToString());
                }

                if (EffectiveDateMin != null)
                {
                    // <eff-date-min>
                    writer.WriteStartElement("eff-date-min");
                    writer.WriteValue(SDKHelper.XmlFromLocalDateTime(EffectiveDateMin.Value));
                    writer.WriteEndElement();
                }

                if (EffectiveDateMax != null)
                {
                    // <eff-date-max>
                    writer.WriteStartElement("eff-date-max");
                    writer.WriteValue(SDKHelper.XmlFromLocalDateTime(EffectiveDateMax.Value));
                    writer.WriteEndElement();
                }

                if (_createdApplication != null)
                {
                    // <created-application>
                    writer.WriteStartElement("created-app-id");
                    writer.WriteValue(CreatedApplication.ToString());
                    writer.WriteEndElement();
                }

                if (_createdPerson != null)
                {
                    // <created-person>
                    writer.WriteStartElement("created-person-id");
                    writer.WriteValue(CreatedPerson.ToString());
                    writer.WriteEndElement();
                }

                if (_updatedApplication != null)
                {
                    // <updated-application>
                    writer.WriteStartElement("updated-app-id");
                    writer.WriteValue(UpdatedApplication.ToString());
                    writer.WriteEndElement();
                }

                if (_updatedPerson != null)
                {
                    // <updated-person>
                    writer.WriteStartElement("updated-person-id");
                    writer.WriteValue(UpdatedPerson.ToString());
                    writer.WriteEndElement();
                }

                if (_createdDateMin != null)
                {
                    // <created-date-min>
                    writer.WriteStartElement("created-date-min");
                    writer.WriteValue(CreatedDateMin);
                    writer.WriteEndElement();
                }

                if (_createdDateMax != null)
                {
                    // <created-date-max>
                    writer.WriteStartElement("created-date-max");
                    writer.WriteValue(CreatedDateMax);
                    writer.WriteEndElement();
                }

                if (_updatedDateMin != null)
                {
                    // <updated-date-min>
                    writer.WriteStartElement("updated-date-min");
                    writer.WriteValue(UpdatedDateMin);
                    writer.WriteEndElement();
                }

                if (_updatedDateMax != null)
                {
                    // <updated-date-max>
                    writer.WriteStartElement("updated-date-max");
                    writer.WriteValue(UpdatedDateMax);
                    writer.WriteEndElement();
                }

                if (!string.IsNullOrEmpty(XPath))
                {
                    // <xpath>
                    writer.WriteStartElement("xpath");
                    writer.WriteValue(XPath);
                    writer.WriteEndElement();
                }

                if (_updatedEndDateMax != null)
                {
                    // <updated-end-date-max>
                    writer.WriteStartElement("updated-end-date-max");
                    writer.WriteValue(UpdatedEndDateMax);
                    writer.WriteEndElement();
                }

                if (_updatedEndDateMin != null)
                {
                    // <updated-end-date-min>
                    writer.WriteStartElement("updated-end-date-min");
                    writer.WriteValue(UpdatedEndDateMin);
                    writer.WriteEndElement();
                }

                // </filter>
                writer.WriteEndElement();
            }
        }