void Validate(ref BfCancelParentOrderRequest request)
 {
     if (string.IsNullOrEmpty(request.ParentOrderId) && string.IsNullOrEmpty(request.ParentOrderAcceptanceId))
     {
         throw new ArgumentException();
     }
 }
        /// <summary>
        /// Cancel parent order
        /// <see href="https://scrapbox.io/BitFlyerDotNet/CancelParentOrder">Online help</see>
        /// </summary>
        /// <param name="productCode"></param>
        /// <param name="parentOrderId"></param>
        /// <param name="parentOrderAcceptanceId"></param>
        /// <returns></returns>
        public async Task <BitFlyerResponse <string> > CancelParentOrderAsync(BfProductCode productCode, string parentOrderId, string parentOrderAcceptanceId, CancellationToken ct)
        {
            var request = new BfCancelParentOrderRequest
            {
                ProductCode             = productCode,
                ParentOrderId           = parentOrderId,
                ParentOrderAcceptanceId = parentOrderAcceptanceId
            };

            Validate(ref request);
            return(await PostPrivateAsync <string>(nameof(CancelParentOrder), request, ct));
        }
 /// <summary>
 /// Cancel parent order
 /// <see href="https://scrapbox.io/BitFlyerDotNet/CancelParentOrder">Online help</see>
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public BitFlyerResponse <string> CancelParentOrder(BfCancelParentOrderRequest request)
 => CancelParentOrderAsync(request, CancellationToken.None).Result;
 /// <summary>
 /// Cancel parent order
 /// <see href="https://scrapbox.io/BitFlyerDotNet/CancelParentOrder">Online help</see>
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <BitFlyerResponse <string> > CancelParentOrderAsync(BfCancelParentOrderRequest request, CancellationToken ct)
 {
     Validate(ref request);
     return(await PostPrivateAsync <string>(nameof(CancelParentOrder), request, ct));
 }
 public BitFlyerResponse <string> CancelParentOrder(BfCancelParentOrderRequest request)
 {
     return(PrivatePost <string>(nameof(CancelParentOrder), JsonConvert.SerializeObject(request, _jsonSettings)));
 }