コード例 #1
0
        /// <summary>
        /// Build the XML for a PAPI patron update
        /// </summary>
        /// <param name="options"></param>
        /// <returns></returns>
        public static string BuildXml(PatronUpdateParams options)
        {
            var doc  = new XDocument();
            var root = new XElement("PatronUpdateData");

            root.Add(new XElement("LogonBranchID", options.BranchId));
            root.Add(new XElement("LogonUserID", options.UserId));
            root.Add(new XElement("LogonWorkstationID", options.WorkstationId));
            root.AddIfNotNull("ReadingListFlag", options.ReadingListEnabled);
            root.AddIfNotNull("EmailFormat", options.EmailFormat);
            root.AddIfNotNull("DeliveryOptionID", options.DeliveryOptionID);
            root.AddIfNotNull("EmailAddress", options.EmailAddress);
            root.AddIfNotNull("AltEmailAddress", options.AltEmailAddress);
            root.AddIfNotNull("PhoneVoice1", options.PhoneVoice1);
            root.AddIfNotNull("PhoneVoice2", options.PhoneVoice2);
            root.AddIfNotNull("PhoneVoice3", options.PhoneVoice3);
            root.AddIfNotNull("Password", options.NewPassword);
            root.AddIfNotNull("TxtPhoneNumber", options.TxtPhoneNumber);
            root.AddIfNotNull("Phone1CarrierID", options.Phone1CarrierID);
            root.AddIfNotNull("Phone2CarrierID", options.Phone2CarrierID);
            root.AddIfNotNull("Phone3CarrierID", options.Phone3CarrierID);
            if (options.EnableSMS.HasValue)
            {
                root.Add(new XElement("EnableSMS", options.EnableSMS.Value ? 1 : 0));
            }
            if (options.AddressCheckDate.HasValue)
            {
                root.Add(new XElement("AddrCheckDate", XmlConvert.ToString(options.AddressCheckDate.Value, XmlDateTimeSerializationMode.Utc)));
            }
            if (options.ExpirationDate.HasValue)
            {
                root.Add(new XElement("ExpirationDate", XmlConvert.ToString(options.ExpirationDate.Value, XmlDateTimeSerializationMode.Utc)));
            }


            doc.Add(root);

            var xml = doc.ToString();

            return(xml);
        }
コード例 #2
0
ファイル: PatronUpdate.cs プロジェクト: MCLD/PolarisILSKit
        /// <summary>
        /// Updates information in the patron's record
        /// </summary>
        /// <param name="barcode">The patron's barcode.</param>
        /// <param name="updateParams">Contains the values to update the patron's record with</param>
        public PapiResponse <PatronUpdateResult> PatronUpdateOverride(string barcode, PatronUpdateParams updateParams)
        {
            var url = $"/PAPIService/REST/public/v1/1033/100/1/patron/{barcode}";
            var xml = PatronUpdateHelper.BuildXml(updateParams);

            return(OverrideExecute <PatronUpdateResult>(HttpMethod.Put, url, body: xml));
        }