/// <summary> /// Undo a newly created contract. /// Requires <see cref="APIPermission.CONTRACTS" /> /// <summary> /// <param name="client">The client to use to process this request.</param> /// <param name="contractId">The id of the contract.</param> public static ContractResult Undo(HttpClient client, int contractId) { var request = new ContractRequest(); request.Type = RequestType.Write; request.Parameters.Add("_action", "undo"); request.Parameters.Add("_cid", contractId); request.AddResultParameters(); return(request.ProcessRequest <ContractResult>(client)); }
/// <summary> /// Mark a contract as complete. /// Requires <see cref="APIPermission.CONTRACTS" /> /// <summary> /// <param name="client">The client to use to process this request.</param> /// <param name="contractId">The id of the contract.</param> /// <param name="txn">The transaction.</param> public static ContractResult Complete(HttpClient client, int contractId, string txn = null) { var request = new ContractRequest(); request.Type = RequestType.Write; request.Parameters.Add("_action", "complete"); request.Parameters.Add("_cid", contractId); if (txn != null) { request.Parameters.Add("_txn", txn); } request.AddResultParameters(); return(request.ProcessRequest <ContractResult>(client)); }
/// <summary> /// Approve a new contract. /// Requires <see cref="APIPermission.CONTRACTS" /> /// <summary> /// <param name="client">The client to use to process this request.</param> /// <param name="contractId">The id of the contract.</param> /// <param name="paymentAddress">The payment address.</param> public static ContractResult Approve(HttpClient client, int contractId, string paymentAddress = null) { var request = new ContractRequest(); request.Type = RequestType.Write; request.Parameters.Add("_action", "approve"); request.Parameters.Add("_cid", contractId); if (paymentAddress != null) { request.Parameters.Add("_address", paymentAddress); } request.AddResultParameters(); return(request.ProcessRequest <ContractResult>(client)); }
/// <summary> /// Searches all the contracts involving the specified user. /// Requires <see cref="APIPermission.CONTRACTS" /> /// <summary> /// <param name="client">The client to use to process this request.</param> /// <param name="userId">The user id.</param> /// <param name="page">The page number.</param> /// <param name="perPage">The number of results per page.</param> public static ContractResult[] SearchByUserId(HttpClient client, int userId, int page = 1, int perPage = 1) { var request = new ContractRequest(); request.Type = RequestType.Read; request.Parameters.Add("_uid", userId); if (page < 1) { throw new ArgumentException("Parameter cannot be less than 1.", nameof(page)); } request.Parameters.Add("_page", page); if (perPage < 1) { throw new ArgumentException("Parameter cannot be less than 1.", nameof(perPage)); } if (perPage > 3) { throw new ArgumentException("Parameter cannot be greater than 3.", nameof(perPage)); } request.Parameters.Add("_perpage", perPage); request.AddResultParameters(); return(request.ProcessMultiRequest <ContractResult>(client)); }