예제 #1
0
    /// <summary>
    /// returns confidential indicator for pollutant releases. If not calculated yet, it will be calculated and stored in viewstate
    /// </summary>
    /// <returns></returns>
    protected bool getPollutantReleaseConfidentialityAffected()
    {
        if (PollutantReleaseConfidentialityAffected == null)
        {
            PollutantReleaseConfidentialityAffected = IndustrialActivity.IsPollutantReleaseAffectedByConfidentiality(SearchFilter);
        }

        return((bool)PollutantReleaseConfidentialityAffected);
    }
    public void DoSaveCSV(object sender, EventArgs e)
    {
        try
        {
            CultureInfo  csvCulture = CultureResolver.ResolveCsvCulture(Request);
            CSVFormatter csvformat  = new CSVFormatter(csvCulture);

            // Create Header
            IndustrialActivitySearchFilter filter = SearchFilter;

            bool isConfidentialityAffected = IndustrialActivity.IsPollutantReleaseAffectedByConfidentiality(filter);

            Dictionary <string, string> header = EPRTR.HeaderBuilders.CsvHeaderBuilder.GetIndustrialActivitySearchHeader(
                filter,
                isConfidentialityAffected);

            // Create Body
            var rows = IndustrialActivity.GetPollutantReleases(filter);

            // dump to file
            string topheader = csvformat.CreateHeader(header);
            string rowHeader = csvformat.GetIndustrialActivityPollutantReleasesHeader();

            Response.WriteUtf8FileHeader("EPRTR_Industrial_Activity_Pollutant_Releases_List");

            Response.Write(topheader + rowHeader);

            foreach (var item in rows)
            {
                string row = csvformat.GetIndustrialActivityPollutantReleasesRow(item);
                Response.Write(row);
            }

            Response.End();
        }
        catch
        {
        }
    }