コード例 #1
0
        /// <summary>
        /// constructs the Fixed TVBD Registration Entity
        /// </summary>
        /// <param name="fixedTvbdRegEntity">FixedTVBDRegistration to be constructed.</param>
        /// <param name="xmlNode">XML Node of the registration</param>
        /// <param name="namespaceManager">namespace manager for xml name spaces</param>
        public void BuildEntity(FixedTVBDRegistration fixedTvbdRegEntity, XmlNode xmlNode, XmlNamespaceManager namespaceManager)
        {
            this.syncLogger.Log(TraceEventType.Information, LoggingMessageId.DBSyncPollerGenericMessage, "Begin RegistrationEntityBuilder.BuildEntity for Fixed TVBD Registration");

            // Common Serialization
            XmlNode node = null;

            this.syncLogger.Log(TraceEventType.Information, LoggingMessageId.DBSyncPollerGenericMessage, "Begin Build Fixed TVBD Registration Entity");

            // build Registration disposition object
            RegistrationDisposition regDisposition = new RegistrationDisposition();

            Utils.DeserializeXMLToObject(ref regDisposition, xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:RegistrationDisposition", namespaceManager).OuterXml);
            fixedTvbdRegEntity.Disposition = regDisposition;

            // eamil
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdContact/vcard:properties/vcard:email", namespaceManager);
            if (node != null)
            {
                fixedTvbdRegEntity.Contact.Email = this.BuildEamils(xmlNode.SelectNodes("ren:Fixed_TVBD_Registration/ren:tvbdContact/vcard:properties/vcard:email", namespaceManager));
            }

            // address
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdContact/vcard:properties/vcard:adr", namespaceManager);
            if (node != null)
            {
                fixedTvbdRegEntity.Contact.Address = this.BuildAddressEntity(node, namespaceManager);
            }

            // Registrant's org
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdRegistrant/vcard:properties/vcard:org", namespaceManager);
            if (node != null)
            {
                Entities.Versitcard.Organization org = new Entities.Versitcard.Organization();
                Utils.DeserializeXMLToObject(ref org, node.OuterXml);
                fixedTvbdRegEntity.Registrant.Org = org;
            }

            // Telephones
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tbasContact/vcard:properties/vcard:tel", namespaceManager);
            if (node != null)
            {
                fixedTvbdRegEntity.Contact.Telephone = this.BuildTelephones(xmlNode.SelectNodes("ren:Fixed_TVBD_Registration/ren:tbasContact/vcard:properties/vcard:tel", namespaceManager));
            }

            // Time zone
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tbasEvent/ren:presentationTime/ren:tzname", namespaceManager);
            if (node != null)
            {
                fixedTvbdRegEntity.Contact.TimeZone = node.InnerText;
            }

            // Title
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:presentationTime/vcard:title", namespaceManager);
            if (node != null)
            {
                Entities.Versitcard.Title title = new Entities.Versitcard.Title();
                Utils.DeserializeXMLToObject(ref title, node.OuterXml);
                fixedTvbdRegEntity.Contact.Title = title;
            }

            // Fixed TVBD location serialization
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdRegLocation", namespaceManager);
            if (node != null)
            {
                fixedTvbdRegEntity.Loc.Latitude  = Convert.ToDouble(node.SelectSingleNode("//ren:locLatitude", namespaceManager).InnerText);
                fixedTvbdRegEntity.Loc.Longitude = Convert.ToDouble(node.SelectSingleNode("//ren:locLongitude", namespaceManager).InnerText);
                fixedTvbdRegEntity.Loc.Datum     = node.SelectSingleNode("//ren:locDatum", namespaceManager).InnerText;
                RadiationCenter radiationCenter = new RadiationCenter();
                Utils.DeserializeXMLToObject(ref radiationCenter, node.SelectSingleNode("//ren:locRadiationCenter", namespaceManager).OuterXml);
                fixedTvbdRegEntity.Loc.RadiationCenter = radiationCenter;
            }

            // Fixed TVBD Device ID serialization
            node = null;
            node = xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdRegDeviceId", namespaceManager);
            if (node != null)
            {
                DeviceId device = new DeviceId();
                Utils.DeserializeXMLToObject(ref device, xmlNode.SelectSingleNode("ren:Fixed_TVBD_Registration/ren:tvbdRegDeviceId", namespaceManager).OuterXml);
                fixedTvbdRegEntity.DeviceId = device;
            }

            this.syncLogger.Log(TraceEventType.Information, LoggingMessageId.DBSyncPollerGenericMessage, "End RegistrationEntityBuilder.BuildEntity for Fixed TVBD Registration");
        }