public async Task <IActionResult> Create([FromQuery] CreateOperationFromQuery query,
                                                 [FromBody] CreateOperationFromBody body)
        {
            var request = new CreateOperationRequest(query, body);

            var result = await _apiResult.Produce(request);

            return(result);
        }
        public static async Task <CreatedRecordResult> CreateOperation(string name, string description)
        {
            var apiVersion = "1.0";
            var body       = new CreateOperationFromBody
            {
                Name        = name,
                Description = description,
                Tags        = null
            };
            var jsonBody = JsonConvert.SerializeObject(body);

            var response = await _client.PostAsync(string.Format("api/operations?api-version={0}", apiVersion), new StringContent(jsonBody, Encoding.UTF8, "application/json"));

            var id     = response.Headers.Location.GetId();
            var eTag   = response.Headers.ETag.Tag;
            var result = new CreatedRecordResult {
                Id = id, ETag = eTag
            };

            return(result);
        }
 public CreateOperationRequest(CreateOperationFromQuery query, CreateOperationFromBody body)
 {
     _query = query ?? throw new ArgumentNullException(nameof(query));
     _body  = body ?? throw new ArgumentNullException(nameof(body));
 }