//creates header for Area and adds to dictionary protected static void addArea(Dictionary <string, string> header, AreaFilter filter) { if (filter != null) { string key = Resources.GetGlobal("Common", "Area"); string value = string.Empty; AreaFilter.Level level = filter.SearchLevel(); if (level == AreaFilter.Level.AreaGroup) { string code = ListOfValues.GetAreaGroup((int)filter.AreaGroupID).Code; value = LOVResources.AreaGroupName(code); } else if (level == AreaFilter.Level.Country) { string code = ListOfValues.GetCountry((int)filter.CountryID).Code; value = LOVResources.CountryName(code); } else if (level == AreaFilter.Level.Region) { if (filter.TypeRegion == AreaFilter.RegionType.RiverBasinDistrict) { string code = ListOfValues.GetRiverBasinDistrict((int)filter.RegionID).Code; value = LOVResources.RiverBasinDistrictName(code); } else if (filter.TypeRegion == AreaFilter.RegionType.NUTSregion) { if (filter.RegionID != null) { string code = ListOfValues.GetNUTSRegion((int)filter.RegionID).Code; value = LOVResources.NutsRegionName(code); } else { value = LOVResources.NutsRegionName(TreeListRow.CODE_UNKNOWN); } } else { throw new InvalidOperationException(string.Format("Illgegal RegionType {0}", filter.TypeRegion)); } } header.Add(key, value); } }
// Translate if specific country selected private void translateArea(AreaFilter filter, List <PollutantTransfers.AreaComparison> compareList) { //dont translate countries, only regions (NUTS or RBD) if (filter.SearchLevel() != AreaFilter.Level.AreaGroup) { foreach (PollutantTransfers.AreaComparison cl in compareList) { if (filter.TypeRegion == AreaFilter.RegionType.RiverBasinDistrict) { cl.Area = LOVResources.RiverBasinDistrictName(cl.Area); //RiverBasinDistrictCode } else if (filter.TypeRegion == AreaFilter.RegionType.NUTSregion) { cl.Area = LOVResources.NutsRegionName(cl.Area); //NUTS code } } } }
/// <summary> /// Group by Area depending on the Area filter /// </summary> public static IQueryable <IGrouping <TreeListRowGroupByKey, WASTETRANSFER> > GroupBy(this IQueryable <WASTETRANSFER> source, AreaFilter areaFilter) { if (areaFilter == null) { throw new ArgumentNullException(); } if (areaFilter.SearchLevel() == AreaFilter.Level.AreaGroup) { //group by country return(source.GroupBy(p => new TreeListRowGroupByKey { Code = p.CountryCode, ParentCode = null })); } else { //group by region return(source.GroupBy(areaFilter.TypeRegion)); } }