Exemplo n.º 1
0
 private MonetaryConsumption MapConsumption(ConsumptionDto consumptionDto)
 {
     return(new MonetaryConsumption
     {
         Electricity = consumptionDto.Electricity.ToString(),
         Heating = consumptionDto.Heating.ToString(),
         Month = consumptionDto.Date.Month,
         Water = consumptionDto.Water.ToString()
     });
 }
Exemplo n.º 2
0
        public ActionResult GetConsumption(Int32 id)
        {
            ConsumptionDto consumption = _consumptionService.GetConsumption(UserId, id);

            if (consumption == null)
            {
                return(NotFound());
            }

            return(Ok(consumption));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> PredictHeatingByMonth([FromBody] ConsumptionDto consumption)
        {
            var prediction = ForecastService.PredictHeating(consumption);

            if (prediction.IsError)
            {
                return(BadRequest());
            }

            return(Ok(prediction.Value));
        }
Exemplo n.º 4
0
        public ActionResult SaveConsumption([FromBody] ConsumptionDto consumption)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            consumption.UserId = UserId;

            _consumptionService.SaveConsumption(consumption);

            return(Ok(consumption.Id));
        }
Exemplo n.º 5
0
        public Result <PricePrediction, Error> PredictHeating(ConsumptionDto consumptionDto)
        {
            MonetaryConsumption consumption;

            if (consumptionDto is null)
            {
                consumption = MapConsumption(GetConsumption("d37fc422-0462-4c48-a54c-846258d0944a").GetAwaiter().GetResult().Value.FirstOrDefault());
            }
            else
            {
                consumption = MapConsumption(consumptionDto);
            }

            string       modelPath  = AppDomain.CurrentDomain.BaseDirectory + "ML_Models/HeatingByMonth.zip";
            ITransformer mlModel    = context.Model.Load(modelPath, out var modelInputSchema);
            var          predEngine = context.Model.CreatePredictionEngine <MonetaryConsumption, PricePrediction>(mlModel);

            // Use model to make prediction on input data
            return(predEngine.Predict(consumption));
        }