/// <summary> /// Replies as a staff member on the behalf of a patron to a conditonal raised by a previous hold request creation. /// </summary> /// <param name="holdRequest">The result of the hold request that you are replying to.</param> /// <param name="requestingOrgId">The Org ID of the branch processing the request.</param> /// <param name="answer">The answer to the conditional.</param> /// <param name="state">Which conditional will this answer be replied to?</param> /// <returns>An object containing the hold request creation result.</returns> /// <seealso cref="HoldRequestReplyData"/> /// <seealso cref="HoldRequestResult"/> public PapiResponse <HoldRequestReplyData> HoldRequestReply(HoldRequestResult holdRequest, int requestingOrgId, int answer, int state) { var xml = HoldRequestHelper.BuildHoldRequestReplyXml(holdRequest, requestingOrgId, answer, state); var url = $"/PAPIService/REST/public/v1/1033/100/1/holdrequest/{holdRequest.RequestGuid}"; return(OverrideExecute <HoldRequestReplyData>(HttpMethod.Put, url, body: xml)); }
/// <summary> /// Uses staff credentials to reactivate a hold request for a user. /// </summary> /// <param name="barcode">The patron's barcode.</param> /// <param name="requestId">The ID of the hold request.</param> /// <param name="activationDate">The date the hold request will become active.</param> /// <param name="userId">The ID of the user making the request.</param> /// <returns>An error code and message from the API, if any.</returns> /// <seealso cref="HoldRequestCancelResult"/> public PapiResponse <HoldRequestActivationResult> HoldRequestReactivateOverride(string barcode, int requestId, DateTime activationDate, int userId = 1) { var xml = HoldRequestHelper.BuildActivationXml(userId, activationDate); var url = $"/PAPIService/REST/public/v1/1033/100/1/patron/{barcode}/holdrequests/{requestId}/active"; return(OverrideExecute <HoldRequestActivationResult>(HttpMethod.Put, url, body: xml)); }
/// <summary> /// Places a hold request on the Bibliographic Record for the Patron as supplied in the HoldRequestCreateParams object. This method places the hold as a staff member. /// </summary> /// <param name="holdParams">The object containing all of the possible options for creating the hold request.</param> /// <returns>An object containing the hold request creation result.</returns> /// <seealso cref="HoldRequestCreateParams"/> /// <seealso cref="HoldRequestResult"/> public PapiResponse <HoldRequestResult> PatronHoldRequestCreate(HoldRequestCreateParams holdParams) { Require.Argument("PatronID", holdParams.PatronID); Require.Argument("BibID", holdParams.BibID); string xml = HoldRequestHelper.BuildHoldRequestCreateXml(holdParams); var url = "/PAPIService/REST/public/v1/1033/100/1/holdrequest"; return(OverrideExecute <HoldRequestResult>(HttpMethod.Post, url, body: xml)); }