Exemplo n.º 1
0
        //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
             }
         }
     }
 }
Exemplo n.º 3
0
        /// <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));
            }
        }