private void toggleExpanded(int rowindex) { List <PollutantReleases.AreaTreeListRow> data = ViewState[RESULT] as List <PollutantReleases.AreaTreeListRow>; PollutantReleases.AreaTreeListRow row = data[rowindex]; //toggle expansion row.IsExpanded = !row.IsExpanded; //get data from database, if not already loaded if (row.HasChildren && row.IsExpanded && !data.Any(r => r.Level == row.Level + 1 && r.ParentCode == row.Code)) { if (row.Level == 0) { var subareas = PollutantReleases.GetSubAreas(SearchFilter, new List <string> { row.CountryCode }); addToResult(subareas); } } this.lvPollutantReleasesArea.DataSource = data; this.lvPollutantReleasesArea.DataBind(); // notify that content has changed (print) if (ContentChanged != null) { ContentChanged.Invoke(null, EventArgs.Empty); } }
/// <summary> /// Search, fill data into summery /// </summary> public void Populate(PollutantReleaseSearchFilter filter) { SearchFilter = filter; ConfidentialityAffected = PollutantReleases.IsAffectedByConfidentiality(filter); //Only determine once and store in viewstate // always show summery showContent(Sheets.PollutantReleases.Summary.ToString()); }
private PollutantReleases.FacilityCountObject getFacilityCounts(PollutantReleaseSearchFilter filter) { if (FacilityCounts == null) { FacilityCounts = PollutantReleases.GetFacilityCounts(filter); } return(FacilityCounts); }
private void populateMediumSelector() { MediumFilter mf = new MediumFilter(); mf.ReleasesToAir = true; mf.ReleasesToSoil = true; mf.ReleasesToWater = true; var filter = FilterConverter.ConvertToPollutantReleaseSearchFilter(SearchFilter); var counts = PollutantReleases.GetFacilityCounts(filter); this.ucMediumSelector.PopulateMediumRadioButtonList(mf, counts); }
public void DoSaveCSV(object sender, EventArgs e) { try { CultureInfo csvCulture = CultureResolver.ResolveCsvCulture(Request); CSVFormatter csvformat = new CSVFormatter(csvCulture); // Create Header PollutantReleaseSearchFilter filter = SearchFilter; bool isConfidentialityAffected = PollutantReleases.IsAffectedByConfidentiality(filter); Dictionary <string, string> header = EPRTR.HeaderBuilders.CsvHeaderBuilder.GetPollutantReleaseSearchHeader( filter, SelectedMedium, isConfidentialityAffected); // Create Body var facilities = PollutantReleases.GetFacilityListCSV(filter, SelectedMedium); // dump to file string topheader = csvformat.CreateHeader(header); string facilityHeader = csvformat.GetPollutantReleaseFacilityHeader(); string url = Request.Url.AbsoluteUri; url = url.Substring(0, url.LastIndexOf("/") + 1); Response.WriteUtf8FileHeader("EPRTR_Pollutant_Releases_Facility_List"); Response.Write(topheader + facilityHeader); foreach (var item in facilities) { item.Url = String.Format("{0}/PopupFacilityDetails.aspx?FacilityReportId={1}", url, item.FacilityReportId); string row = csvformat.GetPollutantReleaseFacilityRow(item); Response.Write(row); } Response.End(); } catch { } }
// --------------------------------------------------------------------------------------------------- // Facility couting // --------------------------------------------------------------------------------------------------- #region Facility counting /// <summary> /// Returns the number of facilities for each medium type. /// </summary> public static PollutantReleases.FacilityCountObject GetFacilityCounts(PollutantReleasesTimeSeriesFilter tsFilter) { // removes all year span information var filter = FilterConverter.ConvertToPollutantReleaseSearchFilter(tsFilter); ParameterExpression param = Expression.Parameter(typeof(POLLUTANTRELEASE), "POLLUTANTRELEASE"); Expression exp = LinqExpressionBuilder.GetLinqExpressionPollutantReleases(filter, param); // Exclude EPER reporting years Expression prop = Expression.Property(param, "ReportingYear"); Expression val = Expression.Constant(2007); Expression yearExp = Expression.GreaterThanOrEqual(prop, val); exp = Expression.AndAlso(yearExp, exp); Expression <Func <POLLUTANTRELEASE, bool> > lambda = Expression.Lambda <Func <POLLUTANTRELEASE, bool> >(exp, param); return(PollutantReleases.GetFacilityCounts(lambda, filter.MediumFilter)); }
public double PollutantReleasesTestA() { DateTime testStartTime; DateTime testEndTime; TimeSpan testDelta; PollutantReleaseSearchFilter filter = new PollutantReleaseSearchFilter(); filter.ActivityFilter = new ActivityFilter(); filter.ActivityFilter.SectorIds.Add(-1); filter.ActivityFilter.ActivityIds.Add(-1); filter.ActivityFilter.SubActivityIds.Add(-1); filter.AreaFilter = new AreaFilter(); filter.AreaFilter.AreaGroupID = 1; filter.AreaFilter.CountryID = -1; filter.AreaFilter.RegionID = -1; filter.MapFilter = new MapFilter(); filter.MapFilter.SqlWhere = "(((((ReportingYear) = 2007) And ((((((((((((((((((((((((((((((((LOV_CountryID) = 15) Or ((LOV_CountryID) = 22)) Or ((LOV_CountryID) = 34)) Or ((LOV_CountryID) = 57)) Or ((LOV_CountryID) = 58)) Or ((LOV_CountryID) = 59)) Or ((LOV_CountryID) = 68)) Or ((LOV_CountryID) = 73)) Or ((LOV_CountryID) = 74)) Or ((LOV_CountryID) = 81)) Or ((LOV_CountryID) = 85)) Or ((LOV_CountryID) = 100)) Or ((LOV_CountryID) = 101)) Or ((LOV_CountryID) = 106)) Or ((LOV_CountryID) = 109)) Or ((LOV_CountryID) = 122)) Or ((LOV_CountryID) = 127)) Or ((LOV_CountryID) = 128)) Or ((LOV_CountryID) = 129)) Or ((LOV_CountryID) = 137)) Or ((LOV_CountryID) = 156)) Or ((LOV_CountryID) = 166)) Or ((LOV_CountryID) = 177)) Or ((LOV_CountryID) = 178)) Or ((LOV_CountryID) = 182)) Or ((LOV_CountryID) = 201)) Or ((LOV_CountryID) = 202)) Or ((LOV_CountryID) = 207)) Or ((LOV_CountryID) = 213)) Or ((LOV_CountryID) = 214)) Or ((LOV_CountryID) = 234))) And ((LOV_PollutantID) = 9)) And (((QuantityAir IS NOT NULL) Or (QuantitySoil IS NOT NULL)) Or (QuantityWater IS NOT NULL)))"; filter.MediumFilter = new MediumFilter(); filter.MediumFilter.ReleasesToAir = true; filter.MediumFilter.ReleasesToSoil = true; filter.MediumFilter.ReleasesToWater = true; filter.PollutantFilter = new PollutantFilter(); filter.PollutantFilter.PollutantGroupID = 1; filter.PollutantFilter.PollutantID = 9; filter.YearFilter = new YearFilter(); filter.YearFilter.Year = 2007; testStartTime = DateTime.Now; PollutantReleases.Summery(filter); testEndTime = DateTime.Now; testDelta = testEndTime - testStartTime; return(testDelta.TotalSeconds); }
public void DoSaveCSV(object sender, EventArgs e) { CultureInfo csvCulture = CultureResolver.ResolveCsvCulture(Request); CSVFormatter csvformat = new CSVFormatter(csvCulture); // Create Header var filter = SearchFilter; bool isConfidentialityAffected = PollutantReleases.IsAffectedByConfidentiality(filter); Dictionary <string, string> header = EPRTR.HeaderBuilders.CsvHeaderBuilder.GetPollutantReleaseSearchHeader( filter, isConfidentialityAffected); // Create Body List <PollutantReleases.AreaTreeListRow> rows = PollutantReleases.GetAreaTree(filter).ToList(); sortResult(rows); // dump to file string topheader = csvformat.CreateHeader(header); string[] colHeaderRows = csvformat.GetPollutantReleaseAreaColHeaderRows(filter); Response.WriteUtf8FileHeader("EPRTR_Pollutant_Releases_Area_List"); Response.Write(topheader + colHeaderRows[0] + colHeaderRows[1]); //all rows but total foreach (var item in rows.Where(r => r.Code != ActivityTreeListRow.CODE_TOTAL)) { string row = csvformat.GetPollutantReleaseAreaRow(item, filter); Response.Write(row); } //write total row var totalRow = rows.SingleOrDefault(r => r.Code == ActivityTreeListRow.CODE_TOTAL); if (totalRow == null) { //find all rows on topLevel. if only one, use this as total row var toplevelRows = rows.Where(r => r.Level == 0); if (toplevelRows != null && toplevelRows.Count() == 1) { totalRow = toplevelRows.Single(); } } //write total row if any is found if (totalRow != null) { Response.Write(Environment.NewLine); Response.Write(csvformat.AddText(Resources.GetGlobal("Common", "Total"))); Response.Write(Environment.NewLine); Response.Write(colHeaderRows[0] + colHeaderRows[1]); string row = csvformat.GetPollutantReleaseAreaRow(totalRow, filter); Response.Write(row); } Response.End(); }
/// <summary> /// Update flash graph /// foreach (PollutantReleases.AreaComparison item in list) // Debug.WriteLine(String.Format("Area:{0} Quantity:{1} Percent:{2}", item.Area, item.Quantity, item.Percent)); /// </summary> private void updateGraph(PollutantReleaseSearchFilter filter, MediumFilter.Medium medium) { string title = LOVResources.MediumName(EnumUtil.GetStringValue(medium)); string swfFile = EPRTR.Charts.ChartsUtils.PolluntantReleaseAreaComparisonChart; EPRTR.Charts.ChartsUtils.AreaType?chartType = null; List <PollutantReleases.AreaComparison> list = null; if (medium.Equals(MediumFilter.Medium.Air)) { if (ViewState[DATA_AIR] != null) { list = ViewState[DATA_AIR] as List <PollutantReleases.AreaComparison>; } else { list = PollutantReleases.GetAreaComparison(filter, MediumFilter.Medium.Air); translateArea(filter.AreaFilter, list); ViewState[DATA_AIR] = list; } chartType = EPRTR.Charts.ChartsUtils.AreaType.Air; } else if (medium.Equals(MediumFilter.Medium.Water)) { if (ViewState[DATA_WATER] != null) { list = ViewState[DATA_WATER] as List <PollutantReleases.AreaComparison>; } else { list = PollutantReleases.GetAreaComparison(filter, MediumFilter.Medium.Water); translateArea(filter.AreaFilter, list); ViewState[DATA_WATER] = list; } chartType = EPRTR.Charts.ChartsUtils.AreaType.Water; } else if (medium.Equals(MediumFilter.Medium.Soil)) { if (ViewState[DATA_SOIL] != null) { list = ViewState[DATA_SOIL] as List <PollutantReleases.AreaComparison>; } else { list = PollutantReleases.GetAreaComparison(filter, MediumFilter.Medium.Soil); translateArea(filter.AreaFilter, list); ViewState[DATA_SOIL] = list; } chartType = EPRTR.Charts.ChartsUtils.AreaType.Soil; } bool hasData = list != null && list.Count != 0; this.NoDataReturned.Visible = !hasData; if (hasData) { DisplayChart(title, swfFile, list, chartType.Value); } }