Пример #1
0
        /// <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));
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        /// <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));
        }
Пример #4
0
        /// <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));
        }