Exemple #1
0
        /// <summary>
        /// return timeseries
        /// </summary>
        public static List <TimeSeriesClasses.WasteTransfer> GetTimeSeries(int facilityID, WasteTypeFilter.Type wasteType)
        {
            DataClassesWasteTransferDataContext db = getDataContext();

            //table has only one row per facility per year with aggregated data.
            IEnumerable <TimeSeriesClasses.WasteTransfer> data = db.WASTETRANSFERs.Where(s => s.FacilityID == facilityID)
                                                                 .OrderBy(s => s.ReportingYear)
                                                                 .Select(s => new TimeSeriesClasses.WasteTransfer(
                                                                             s.ReportingYear,
                                                                             1,
                                                                             wasteType,
                                                                             LinqFunctionsWaste.QuantityTotal(wasteType)(s),
                                                                             LinqFunctionsWaste.QuantityRecovery(wasteType)(s),
                                                                             LinqFunctionsWaste.QuantityDisposal(wasteType)(s),
                                                                             LinqFunctionsWaste.QuantityUnspec(wasteType)(s)
                                                                             ));

            return(data.ToList());
        }
Exemple #2
0
        // ---------------------------------------------------------------------------------------------------
        // confidentiality
        // ---------------------------------------------------------------------------------------------------
        #region Confidentiality


        public static IEnumerable <TimeSeriesClasses.ConfidentialityWaste> GetConfidentiality(int facilityId, WasteTypeFilter.Type wasteType)
        {
            DataClassesWasteTransferDataContext db = getDataContext();

            // apply filter
            Expression <Func <WASTETRANSFER, bool> > lambda = getLambdaExpression(wasteType);

            //table have only one record per facility, so no aggregation is needed.
            IEnumerable <TimeSeriesClasses.ConfidentialityWaste> data = db.WASTETRANSFERs.Where(lambda)
                                                                        .Where(v => v.FacilityID == facilityId)
                                                                        .OrderBy(v => v.ReportingYear)
                                                                        .Select(v => new TimeSeriesClasses.ConfidentialityWaste
            {
                Year              = v.ReportingYear,
                CountTotal        = 1,
                CountConfTotal    = Convert.ToInt32(LinqFunctionsWaste.ConfidentialityIndicator(wasteType)(v)),
                CountConfQuantity = Convert.ToInt32(LinqFunctionsWaste.ConfidentialityIndicatorQuantity(wasteType)(v))
            });

            return(data);
        }