コード例 #1
0
        public async Task <bool> StartNewCup(RequestCup requestCup)
        {
            try
            {
                var requestPath = $"{GetHost()}api/maker/StartNewCup";
                _logger.LogInformation($"Making request to CoffeeMachine StartNewCup at {requestPath}");
                using (var httpClient = new HttpClient())
                {
                    httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    var json          = JsonConvert.SerializeObject(requestCup);
                    var stringContent = new StringContent(json, Encoding.UTF8, "application/json");

                    var response = await httpClient.PostAsync(requestPath, stringContent);

                    response.EnsureSuccessStatusCode();
                    var content = await response.Content.ReadAsStringAsync();

                    var startedNewCup = JsonConvert.DeserializeObject <bool>(content);
                    _logger.LogInformation($"StartNewCup: {startedNewCup}");
                    return(startedNewCup);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
            }

            return(false);
        }
コード例 #2
0
        public bool StartNewCup([FromBody] RequestCup requestCup)
        {
            _logger.LogInformation("StartNewCup called");

            if (IsBusy())
            {
                return(false);
            }
            else
            {
                var newOrder = new Order
                {
                    Id      = requestCup.Id,
                    Coffee  = requestCup.Coffee,
                    Started = DateTime.UtcNow
                };

                _workingOrders.Add(newOrder);

                return(IsBusy());
            }
        }