private void PopulateWthExpUsageTable() { Log.Information("Starting PopulateWthExpUsage()..."); string fromDateStartStr = $"{fromDateStart.Month}-{fromDateStart.Day}-{fromDateStart.Year}"; try { List <ReadingsQueryResult> readings = _weatherRepository.GetReadings(fromDateStartStr); expectedWthExpUsageInserts = readings.Count; foreach (ReadingsQueryResult result in readings) { try { List <WeatherData> weatherDataList = _weatherRepository.GetWeatherDataByZipStartAndEndDate(result.Zip, result.DateStart, result.DateEnd); if (weatherDataList.Count != result.Days) { Log.Error($"WeatherDataList.Count != reading.Days; WeatherDataList.Count = {weatherDataList.Count} reading.Days = {result.Days}. " + $"RdngID: {result.RdngID}."); } HeatingCoolingDegreeDays heatingCoolingDegreeDays = HeatingCoolingDegreeDaysValueOf(result, weatherDataList); DoCalculation(result, heatingCoolingDegreeDays); } catch (Exception e) { Log.Error(e.Message); Log.Error(e.StackTrace); } } int expectedTotalWthExpUsageEntries = _weatherRepository.GetExpectedWthExpUsageRowCount(fromDateStartStr); int actualTotalWthExpUsageEntries = _weatherRepository.GetActualWthExpUsageRowCount(); Log.Information($"Finished PopulateWthExpUsage(). Expected inserts: {expectedWthExpUsageInserts}, Actual: {actualWthExpUsageInserts}"); Log.Information($"Expected WthExpUsage total entries: {expectedTotalWthExpUsageEntries}, Actual: {actualTotalWthExpUsageEntries}.\n"); } catch (Exception ex) { Log.Error(ex.Message + " " + ex.StackTrace); } expectedWthExpUsageInserts = 0; actualWthExpUsageInserts = 0; }
private void PopulateWthExpUsageTable() { Log.Information("Starting PopulateWthExpUsage()..."); string fromDateStartStr = $"{_fromDateStart.Month}-{_fromDateStart.Day}-{_fromDateStart.Year}"; try { List <ReadingsQueryResult> readings = _weatherRepository.GetReadings(fromDateStartStr); expectedWthExpUsageInserts = readings.Count; foreach (ReadingsQueryResult result in readings) { //Console.WriteLine(result.DateStart + ", " + result.DateEnd + ", " + result.Days + ", result.B1 = " + result.B1 + ", result.B2 = " + result.B2 + ", result.B3 = " + result.B3 + ", result.B4 = " + result.B4); try { List <WeatherData> weatherDataList = _weatherRepository.GetWeatherDataByZipStartAndEndDate(result.Zip, result.DateStart, result.DateEnd); HeatingCoolingDegreeDays heatingCoolingDegreeDays = HeatingCoolingDegreeDaysValueOf(result, weatherDataList); CalculateExpUsage(result, heatingCoolingDegreeDays); } catch (Exception e) { Log.Error(e.Message); Log.Error(e.StackTrace); } } } catch (Exception ex) { Log.Error(ex.Message); Log.Error(ex.StackTrace); } int expectedTotalWthExpUsageEntries = _weatherRepository.GetExpectedWthExpUsageRowCount(fromDateStartStr); int actualTotalWthExpUsageEntries = _weatherRepository.GetActualWthExpUsageRowCount(); Log.Information($"Finished PopulateWthExpUsage(). Expected inserts: {expectedWthExpUsageInserts}, Actual: {actualWthExpUsageInserts}"); Log.Information($"Expected WthExpUsage total entries: {expectedTotalWthExpUsageEntries}, Actual: {actualTotalWthExpUsageEntries}.\n"); expectedWthExpUsageInserts = 0; actualWthExpUsageInserts = 0; }
public void PopulateWthExpUsageTable() { Log.Information("Starting PopulateWthExpUsage()..."); //string fromDateStartStr = $"{_fromDateStart.Month}-{_fromDateStart.Day}-{_fromDateStart.Year}"; try { List <ReadingsQueryResult> readings = _weatherRepository.GetReadings(_MoID); _expectedWthExpUsageInserts = readings.Count; foreach (ReadingsQueryResult result in readings) { try { if (!result.R2.HasValue //|| result.R2.Value > 1 //|| result.R2 < 0 ) { continue; } if (result.R2.Value < 0.7500) { bool successAndNoModel = _weatherRepository.InsertWthExpUsage(result.RdngID, result.Units ?? 0); if (successAndNoModel) { _actualWthExpUsageInserts++; Log.Debug($"Inserted into WthExpUsage (No Weather Model) >> RdngID: {result.RdngID} ExpUsage: {result.Units ?? 0} << " + $"AccID/UtilID/UnitID: {result.AccID}/{result.UtilID}/{result.UnitID}, Actual Units: {result.Units}."); } else { Log.Error($"Failed attempt: Insert into WthExpUsage (without an accepted weather model) " + $">> RdngID: {result.RdngID} ExpUsage: {result.Units ?? 0} << " + $"AccID/UtilID/UnitID: {result.AccID}/{result.UtilID}/{result.UnitID}, Actual Units: {result.Units}"); } continue; } if (result.DateStart == DateTime.MinValue || result.DateEnd == DateTime.MinValue) { throw new Exception("DateStart and/or DateEnd is null."); } int daysInReading = result.DateEnd.Subtract(result.DateStart).Days; List <WeatherData> weatherDataList = _weatherRepository.GetWeatherDataByZipStartAndEndDate(result.Zip, result.DateStart, result.DateEnd); if (weatherDataList.Count != daysInReading) { throw new Exception($"WeatherDataList.Count != daysInReading; WeatherDataList.Count = {weatherDataList.Count}, " + $"daysInReading = {daysInReading}. Reading.StartDate = {result.DateStart} Reading.EndDate = {result.DateEnd}"); } HeatingCoolingDegreeDays heatingCoolingDegreeDays = HeatingCoolingDegreeDaysValueOf(result, weatherDataList); DoCalculation(result, heatingCoolingDegreeDays); } catch (Exception e) { Log.Error($"AccID/UtilID/UnitID: {result.AccID}/{result.UtilID}/{result.UnitID} >> " + $"Cannot calculate ExpUsage for RdngID: {result.RdngID} >> {e.Message}"); Log.Debug(e.StackTrace); } } int expectedTotalWthExpUsageEntries = _weatherRepository.GetExpectedWthExpUsageRowCount(_MoID); int actualTotalWthExpUsageEntries = _weatherRepository.GetActualWthExpUsageRowCount(); Log.Information($"Finished PopulateWthExpUsage(). Expected inserts: {_expectedWthExpUsageInserts}, Actual: {_actualWthExpUsageInserts}"); Log.Information($"Expected WthExpUsage total entries: {expectedTotalWthExpUsageEntries}, Actual: {actualTotalWthExpUsageEntries}."); } catch (Exception ex) { Log.Error($"Problem getting Readings >> {ex.Message} { ex.StackTrace}"); } _expectedWthExpUsageInserts = 0; _actualWthExpUsageInserts = 0; }