public async Task <ScenarioBasesByScenarioId> getBaseScenarioValueById(int scenarioid) { ScenarioBasesByScenarioId scenarioData = null; try { scenarioData = new ScenarioBasesByScenarioId(); ScenarioInputDetail detail = await _dbContext.ScenarioInputDetails.Where(x => x.ScenarioId == scenarioid).FirstOrDefaultAsync(); if (detail != null) { scenarioData.startYear = detail.StartYear; scenarioData.endtYear = detail.EndYear; } List <VmScenarioCountryMapping> countries = (from cm in _dbContext.ScenarioCountryMappings join cd in _dbContext.CountryDetails on cm.CountryID equals cd.CountryId where cm.ScenarioID == scenarioid select new VmScenarioCountryMapping { CountryName = cd.CountryName }).ToList(); scenarioData.countries = countries; } catch (Exception ex) { throw ex; } return(scenarioData); }
public async Task <EnergyBalanceReports> getEnergyBalanceReport(int scenarioId, string countryName, int year, bool IsChanged) { EnergyBalanceReports objReports = null; List <EnergyBalanceReport> objreport = null; try { string lcountryName = ""; int lyear = 0; objReports = new EnergyBalanceReports(); if (!IsChanged) { ScenarioInputDetail objInput = await _dbContext.ScenarioInputDetails.Where(x => x.ScenarioId == scenarioId).FirstOrDefaultAsync(); if (objInput != null) { objReports.startYear = objInput.StartYear; objReports.endYear = objInput.EndYear; } List <EnergyBalanceCountry> country = null; country = (from cm in _dbContext.ScenarioCountryMappings join cd in _dbContext.CountryDetails on cm.CountryID equals cd.CountryId where cm.ScenarioID == scenarioId select new EnergyBalanceCountry { countryId = cm.CountryID, countryName = cd.CountryName }).ToList(); objReports.country = country; lcountryName = country[0].countryName; lyear = objInput.StartYear; } else { lcountryName = countryName; lyear = year; } objreport = await _dbContext.Database.SqlQuery <EnergyBalanceReport>("[E2MAS].[USP_PrepareIEAReport] @SCENARIOID,@COUNTRY,@YEAR", new SqlParameter { ParameterName = "@SCENARIOID", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Input, Value = scenarioId }, new SqlParameter { ParameterName = "@COUNTRY", SqlDbType = SqlDbType.VarChar, Direction = ParameterDirection.Input, Value = lcountryName }, new SqlParameter { ParameterName = "@YEAR", SqlDbType = SqlDbType.Int, Direction = ParameterDirection.Input, Value = lyear }).ToListAsync(); objReports.report = objreport; return(objReports); } catch (Exception ex) { throw ex; } }