/// <summary> /// Build the XML for a PAPI patron registration /// </summary> /// <param name="_params"></param> /// <returns></returns> public static string BuildXml(PatronRegistrationParams _params) { var doc = new XDocument(); var root = new XElement("PatronRegistrationCreateData"); foreach (var info in _params.GetType().GetProperties()) { var val = info.GetValue(_params, null); if (val == null) { continue; } root.Add(new XElement(info.Name, val.GetType() == typeof(DateTime) ? ((DateTime)val).ToString("s") : val)); } doc.Add(root); return(doc.ToString()); }
/// <summary> /// Create a patron registration /// </summary> /// <param name="_params"></param> /// <returns></returns> public PapiResponse <PatronRegistrationCreateResult> PatronRegistrationCreate(PatronRegistrationParams _params) { Require.Argument("PatronBranchID", _params.PatronBranchID); Require.Argument("NameFirst", _params.NameFirst); Require.Argument("NameLast", _params.NameLast); var xml = PatronRegistrationHelper.BuildXml(_params); var url = "/PAPIService/REST/public/v1/1033/100/1/patron"; return(Execute <PatronRegistrationCreateResult>(HttpMethod.Post, url, pin: null, body: xml)); }