Ejemplo n.º 1
0
        public int createMeterReading(string date, int reading, int meterId, int propertyId)
        {
            Meter meter = mediator.DataManager.getMeter(meterId);

            MeterReading newReading = new MeterReading
            {
                Date    = Convert.ToDateTime(date),
                Reading = reading
            };

            ///check if this is the first reading for this meter
            if (meter.Register.Count == 0)
            {
                MeterReading firstReading = new MeterReading();
                firstReading.Date        = newReading.Date;
                firstReading.Reading     = newReading.Reading;
                firstReading.Consumption = 0;

                int firstReadingId = mediator.DataManager.saveMeterReading(firstReading);
                mediator.DataManager.addReadingToMeter(firstReadingId, meter.Id);
                return(firstReadingId);
            }

            newReading.Consumption = calculatekWh(newReading, meter);
            int readingId = mediator.DataManager.saveMeterReading(newReading);

            mediator.DataManager.addReadingToMeter(readingId, meterId);

            ///update property's annual kWh total

            mediator.updatePropertyAnnualTotalkWh(propertyId);
            mediator.updateAnnualCO2(propertyId);

            return(readingId);
        }