// --------------------------------------------------------------------------------------------------- // 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)); }