public void Record(decimal temperature) { Guard.Against.OutOfRange(temperature, nameof(temperature), -273, Decimal.MaxValue); var @event = TemperatureRecorded.Create( Id, temperature ); Enqueue(@event); Apply(@event); }
public void Record(decimal temperature) { if (temperature < -273) { throw new ArgumentOutOfRangeException(nameof(temperature)); } var @event = TemperatureRecorded.Create( Id, temperature ); Enqueue(@event); Apply(@event); }
public void Handle(TemperatureRecorded @event) { var request = new RestRequest("api/v1/handle-temperature-recorded", Method.POST); request.AddHeader("x-functions-key", API_KEY); request.AddJsonBody(new { City = @event.City, Temperature = @event.Temperature, Date = @event.TimeStamp.Date.ToString("yyyy-MM-dd") }); var response = _httpClient.Execute(request); if (response.StatusCode != System.Net.HttpStatusCode.OK) { throw new ApplicationException("Error while handle Event"); } }
public void Apply(TemperatureRecorded @event) { Mesurements.Add(@event.Temperature); LastRecorded = @event.MeasuredAt; }