Пример #1
0
    /// <summary>
    /// Save transfers data
    /// </summary>
    public void DoSaveCSV(object sender, EventArgs e)
    {
        CultureInfo  csvCulture = CultureResolver.ResolveCsvCulture(Request);
        CSVFormatter csvformat  = new CSVFormatter(csvCulture);

        bool ConfidentialityAffected = WasteTransfers.IsAffectedByConfidentiality(SearchFilter);

        // Create Header
        Dictionary <string, string> header = CsvHeaderBuilder.GetWasteTransfersSearchHeader(
            SearchFilter,
            ConfidentialityAffected);

        IEnumerable <WasteTransfers.TransboundaryHazardousWasteData> wastedata =
            WasteTransfers.GetTransboundaryHazardousWasteData(
                SearchFilter,
                ConfidentialityAffected);

        Response.WriteUtf8FileHeader("EPRTR_Waste_Transfers_Transboundary_Hazardous");

        // dump to file
        string topheader   = csvformat.CreateHeader(header);
        string wasteHeader = csvformat.GetWasteHeader();

        Response.Write(topheader + wasteHeader);
        foreach (var v in wastedata)
        {
            string row = csvformat.GetWasteRow(v);
            Response.Write(row);
        }
        Response.End();
    }
Пример #2
0
    private void toggleExpanded(int rowindex)
    {
        List <WasteTransfers.AreaTreeListRow> data = ViewState[RESULT] as List <WasteTransfers.AreaTreeListRow>;

        WasteTransfers.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 = WasteTransfers.GetSubAreas(SearchFilter, new List <string> {
                    row.CountryCode
                });
                addToResult(subareas);
            }
        }

        this.lvWasteTransferArea.DataSource = data;
        this.lvWasteTransferArea.DataBind();


        // notify that content has changed (print)
        if (ContentChanged != null)
        {
            ContentChanged.Invoke(null, EventArgs.Empty);
        }
    }
Пример #3
0
        public double WasteTransfersTestA()
        {
            DateTime testStartTime;
            DateTime testEndTime;
            TimeSpan testDelta;

            WasteTransferSearchFilter filter = new WasteTransferSearchFilter();

            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 (((QuantityTotalNONHW IS NOT NULL) Or (QuantityTotalHWIC IS NOT NULL)) Or (QuantityTotalHWOC IS NOT NULL)))";

            filter.WasteTypeFilter = new WasteTypeFilter();
            filter.WasteTypeFilter.HazardousWasteCountry       = true;
            filter.WasteTypeFilter.HazardousWasteTransboundary = true;
            filter.WasteTypeFilter.NonHazardousWaste           = true;

            filter.YearFilter      = new YearFilter();
            filter.YearFilter.Year = 2007;

            testStartTime = DateTime.Now;
            IEnumerable <Summary.WasteTransfersRow> actual = WasteTransfers.GetWasteTransfers(filter);

            testEndTime = DateTime.Now;

            testDelta = testEndTime - testStartTime;

            return(testDelta.TotalSeconds);
        }
    /// <summary>
    /// Search, fill data into summery
    /// </summary>
    public void Populate(WasteTransferSearchFilter filter, string countryCode)
    {
        WasteTransferSearchFilter = filter;
        CountryCode             = countryCode;
        ConfidentialityAffected = WasteTransfers.IsHazardousWasteAffectedByConfidentiality(filter, CountryCode); //Only determine once and store in viewstate

        showContent(Sheets.WasteReceiverDetails.Treaters.ToString());
    }
Пример #5
0
    private WasteTransfers.FacilityCountObject getFacilityCounts(WasteTransferSearchFilter filter)
    {
        if (FacilityCounts == null)
        {
            FacilityCounts = WasteTransfers.GetFacilityCounts(filter);
        }

        return(FacilityCounts);
    }
Пример #6
0
        // ----------------------------------------------------------------------------------
        // WasteTransfers
        // ----------------------------------------------------------------------------------
        #region WasteTransfers

        /// <summary>
        /// get waste transfers
        /// </summary>
        public static IEnumerable <Summary.WasteSummaryTreeListRow> GetWasteTransfers(IndustrialActivitySearchFilter filter)
        {
            // Result is the same as for wastetransfer, without the filtering on wastetype
            WasteTransferSearchFilter filterWaste = FilterConverter.ConvertToWasteTransferSearchFilter(filter);
            IEnumerable <Summary.WasteSummaryTreeListRow> wastes = WasteTransfers.GetWasteTransfers(filterWaste);

            filter.Count = filterWaste.Count;

            return(wastes);
        }
    /// <summary>
    /// Update flash graph
    /// </summary>
    /// <param name="filter"></param>
    /// <param name="value">Chart data</param>
    /// <param name="chartLabel">Passed to flash charts.</param>
    private void updateGraph(WasteTransferSearchFilter filter, WasteTypeFilter.Type wasteType)
    {
        List <WasteTransfers.AreaComparison> result = null;

        string chartLabel = String.Empty;

        if (wasteType.Equals(WasteTypeFilter.Type.NonHazardous)) // Non Hazardous waste
        {
            if (ViewState[DATA_NONHW] != null)
            {
                result = ViewState[DATA_NONHW] as List <WasteTransfers.AreaComparison>;
            }
            else
            {
                result = WasteTransfers.GetAreaComparison(filter, WasteTypeFilter.Type.NonHazardous);
                translateArea(filter.AreaFilter, result);
                ViewState[DATA_NONHW] = result;
            }
            chartLabel = Resources.GetGlobal("Common", "NoHazardouswaste");
        }
        else if (wasteType.Equals(WasteTypeFilter.Type.HazardousCountry)) // hazardous within country (Hazardous waste, domestic)
        {
            if (ViewState[DATA_HWIC] != null)
            {
                result = ViewState[DATA_HWIC] as List <WasteTransfers.AreaComparison>;
            }
            else
            {
                result = WasteTransfers.GetAreaComparison(filter, WasteTypeFilter.Type.HazardousCountry);
                translateArea(filter.AreaFilter, result);
                ViewState[DATA_HWIC] = result;
            }
            chartLabel = Resources.GetGlobal("Common", "HazardouswasteWithinCountry");
        }
        else if (wasteType.Equals(WasteTypeFilter.Type.HazardousTransboundary)) // Hazardous waste, transboundary
        {
            if (ViewState[DATA_HWOC] != null)
            {
                result = ViewState[DATA_HWOC] as List <WasteTransfers.AreaComparison>;
            }
            else
            {
                result = WasteTransfers.GetAreaComparison(filter, WasteTypeFilter.Type.HazardousTransboundary);
                translateArea(filter.AreaFilter, result);
                ViewState[DATA_HWOC] = result;
            }
            chartLabel = Resources.GetGlobal("Common", "HazardouswasteTransboundary");
        }

        //add flash
        AddFlashCharts(result, chartLabel);
    }
Пример #8
0
    /// <summary>
    /// Search, fill data into summery
    /// </summary>
    public void Populate(WasteTransferSearchFilter filter)
    {
        SearchFilter            = filter;
        ConfidentialityAffected = WasteTransfers.IsAffectedByConfidentiality(filter); //Only determine once and store in viewstate

        //default show summary
        showContent(Sheets.WasteTransfers.Summary.ToString());

        // remove these sheet links if Hazardous Transboundary waste is NOT selected by the user
        bool linkVisibility = filter.WasteTypeFilter.HazardousWasteTransboundary;

        this.ucSheetLinks.ToggleLink(Sheets.WasteTransfers.HazReceivers.ToString(), linkVisibility);
        this.ucSheetLinks.ToggleLink(Sheets.WasteTransfers.HazTransboundary.ToString(), linkVisibility);
    }
    public void DoSaveCSV(object sender, EventArgs e)
    {
        try
        {
            CultureInfo  csvCulture = CultureResolver.ResolveCsvCulture(Request);
            CSVFormatter csvformat  = new CSVFormatter(csvCulture);

            // Create Header
            var filter = SearchFilter;

            bool isConfidentialityAffected = WasteTransfers.IsAffectedByConfidentiality(filter);

            var tempFilter = filter.Clone() as WasteTransferSearchFilter;
            tempFilter.WasteTypeFilter = new WasteTypeFilter(SelectedWasteType);

            Dictionary <string, string> header = EPRTR.HeaderBuilders.CsvHeaderBuilder.GetWasteTransfersSearchHeader(
                tempFilter,
                isConfidentialityAffected);

            // Create Body
            var facilities = WasteTransfers.GetFacilityListCSV(tempFilter);

            // dump to file
            string topheader      = csvformat.CreateHeader(header);
            string facilityHeader = csvformat.GetWasteTransfersFacilityHeader();

            string url = Request.Url.AbsoluteUri;
            url = url.Substring(0, url.LastIndexOf("/") + 1);

            Response.WriteUtf8FileHeader("EPRTR_Waste_Transfers_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.GetWasteTransfersFacilityRow(item);
                Response.Write(row);
            }

            Response.End();
        }
        catch
        {
        }
    }
Пример #10
0
    public void Populate(WasteTransferSearchFilter filter)
    {
        SearchFilter = filter;

        List <WasteTransfers.TransboundaryHazardousWasteData> data = WasteTransfers.GetTransboundaryHazardousWasteData(filter, true).ToList();

        if (data.Count() != 0)
        {
            //add flex control
            string swfFile = EPRTR.Charts.ChartsUtils.WasteTransferBubbleChart;
            EPRTR.Charts.ChartsUtils.ChartClientScript(swfFile, data, this.wasteTransferTransboundHazardousPanel, this.UniqueID.ToString());
        }
        else
        {
            this.NoDataReturned.Visible = true;
        }
    }
Пример #11
0
        // ---------------------------------------------------------------------------------------------------
        // Count method
        // ---------------------------------------------------------------------------------------------------
        #region count
        /// <summary>
        /// Returns the number of facilities corresponding to the filter, per waste type
        /// Overloaded with TimeSeries filter for ease of use.
        /// </summary>
        public static QueryLayer.WasteTransfers.FacilityCountObject GetCountFacilities(WasteTransferTimeSeriesFilter tsFilter)
        {
            // conversion removes all year span information
            var filter = FilterConverter.ConvertToWasteTransferSearchFilter(tsFilter);

            ParameterExpression param = Expression.Parameter(typeof(WASTETRANSFER_TREATMENT), "s");
            Expression          exp   = LinqExpressionBuilder.GetLinqExpressionWasteTransferSearch(filter, param, true);

            // 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 <WASTETRANSFER_TREATMENT, bool> > lambda = Expression.Lambda <Func <WASTETRANSFER_TREATMENT, bool> >(exp, param);

            return(WasteTransfers.GetFacilityCounts(lambda));
        }
Пример #12
0
    /// <summary>
    /// Fill tables with data
    /// </summary>
    public void Populate(WasteTransferSearchFilter filter,
                         bool hasConfidentialInformation)
    {
        SearchFilter = filter;

        if (hasConfidentialInformation)
        {
            this.litConfidentialityExplanation1.Text = CMSTextCache.CMSText("Common", "ConfidentialityExplanationWT1");
            this.litConfidentialityExplanation2.Text = CMSTextCache.CMSText("Common", "ConfidentialityExplanationWT2");

            this.lvWasteConfidentialityFacilities.DataSource = WasteTransfers.GetCountConfidentialFacilities(filter);;
            this.lvWasteConfidentialityFacilities.DataBind();

            this.lvWasteConfidentialityReason.DataSource = WasteTransfers.GetWasteConfidentialReason(filter).OrderBy(w => w.WasteTypeCode, new WasteTypeComparer()).ThenBy(w => w.ReasonCode);
            this.lvWasteConfidentialityReason.DataBind();
        }

        divConfidentialityInformation.Visible   = hasConfidentialInformation;
        divNoConfidentialityInformation.Visible = !hasConfidentialInformation;
    }
Пример #13
0
        public static void ShowWastePieCharts(IEnumerable <Summary.WasteSummaryTreeListRow> data, Panel chartPanel, string uniqueId)
        {
            List <Summary.WastePieChart> nonhazardous = WasteTransfers.GetPieChartNonHazardous(data);
            List <Summary.WastePieChart> hazardous    = WasteTransfers.GetPieChartHazardous(data);

            // update chart if data is present
            bool hasCount  = nonhazardous.Count != 0 || hazardous.Count != 0;
            bool hasValues = hazardous.Sum(x => x.Percent) > 0.0 || nonhazardous.Sum(x => x.Percent) > 0.0;

            if (hasCount && hasValues)
            {
                // translate data for first (left) piechart
                foreach (var v in nonhazardous)
                {
                    v.Id   = v.Text;
                    v.Text = Resources.GetGlobal("WasteTransfers", v.Text);
                }

                // translate data for second (right) piechart
                foreach (var v in hazardous)
                {
                    v.Id   = v.Text;
                    v.Text = Resources.GetGlobal("WasteTransfers", v.Text);
                }

                string   sNoHazardouswaste = Resources.GetGlobal("Common", "NoHazardouswaste");
                string   sHazardousWwaste  = Resources.GetGlobal("Common", "HazardousWwaste");
                string[] labels            = { sNoHazardouswaste, sHazardousWwaste };

                // add piechart if we have any data
                chartPanel.Visible = true;
                string swfFile = EPRTR.Charts.ChartsUtils.IndustrialActivityPieChart;
                EPRTR.Charts.ChartsUtils.ChartClientScript(swfFile, nonhazardous, hazardous, chartPanel, uniqueId, labels);
            }
            else
            {
                chartPanel.Visible = false;
            }
        }
Пример #14
0
    public void Populate(WasteTransferSearchFilter filter,
                         bool hasConfidentialInformation,
                         string countryCode)
    {
        if (hasConfidentialInformation)
        {
            this.litConfidentialityExplanation1.Text = CMSTextCache.CMSText("Common", "ConfidentialityExplanationWTRecievers1");
            this.litConfidentialityExplanation2.Text = CMSTextCache.CMSText("Common", "ConfidentialityExplanationWTRecievers2");

            // Bind reporting data (first translate)
            List <WasteTransfers.HazardousWasteConfidential> dataReporting = WasteTransfers.GetHazardousWasteConfidentialReporting(filter, countryCode);
            this.lvWasteTransHazReceiversReporting.DataSource = dataReporting;
            this.lvWasteTransHazReceiversReporting.DataBind();

            // Bind reason data
            this.lvWasteTransHazReceiversReason.DataSource = WasteTransfers.GetHazardousWasteConfidentialReason(filter, countryCode);
            this.lvWasteTransHazReceiversReason.DataBind();
        }

        divConfidentialityInformation.Visible   = hasConfidentialInformation;
        divNoConfidentialityInformation.Visible = !hasConfidentialInformation;
    }
Пример #15
0
        /// <summary>
        /// Waste confidential facilities wrapper
        /// </summary>
        public static List <WasteTransfers.FacilityCountObject> GetWasteConfidentialFacilities(IndustrialActivitySearchFilter filter)
        {
            WasteTransferSearchFilter filterWaste = FilterConverter.ConvertToWasteTransferSearchFilter(filter);

            return(WasteTransfers.GetCountConfidentialFacilities(filterWaste));
        }
    /// <summary>
    /// Save transfers data
    /// </summary>
    public void DoSaveCSV(object sender, EventArgs e)
    {
        CultureInfo  csvCulture = CultureResolver.ResolveCsvCulture(Request);
        CSVFormatter csvformat  = new CSVFormatter(csvCulture);

        // Create Header
        var filter = SearchFilter;

        bool isConfidentialityAffected = WasteTransfers.IsAffectedByConfidentiality(filter);

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

        // Create Body
        var rows = WasteTransfers.GetActivityTree(filter);

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

        string[] colHeaderRows = csvformat.GetWasteTransferActivityColHeaderRows(filter);

        Response.WriteUtf8FileHeader("EPRTR_Waste_Transfers_Activity_List");

        Response.Write(topheader + colHeaderRows[0] + colHeaderRows[1] + colHeaderRows[2]);

        //all rows but total
        foreach (var item in rows.Where(r => r.Code != ActivityTreeListRow.CODE_TOTAL))
        {
            string row = csvformat.GetWasteTransferActivityRow(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);


            string[] totalColHeaderRows = csvformat.GetWasteTransferActivityColHeaderRows(filter);

            Response.Write(totalColHeaderRows[0] + totalColHeaderRows[1]);

            string row = csvformat.GetWasteTransferActivityRow(totalRow, filter);
            Response.Write(row);
        }


        Response.End();
    }
Пример #17
0
        /// <summary>
        /// Waste reason facilities wrapper
        /// </summary>
        public static IEnumerable <WasteTransfers.WasteConfidentialReason> GetWasteConfidentialReason(IndustrialActivitySearchFilter filter)
        {
            WasteTransferSearchFilter filterWaste = FilterConverter.ConvertToWasteTransferSearchFilter(filter);

            return(WasteTransfers.GetWasteConfidentialReason(filterWaste));
        }
Пример #18
0
        /// <summary>
        /// return true if confidentiality might effect waste result
        /// </summary>
        public static bool IsWasteAffectedByConfidentiality(IndustrialActivitySearchFilter filter)
        {
            WasteTransferSearchFilter filterWaste = FilterConverter.ConvertToWasteTransferSearchFilter(filter);

            return(WasteTransfers.IsAffectedByConfidentiality(filterWaste));
        }