示例#1
0
        public static AreaFilter GetAreaFilter(AreaFilter searchAreaFilter, string areaCode, string parentCode)
        {
            //for total-rows the activityfilter corresponds to the filter from the search
            if (TreeListRow.CODE_TOTAL.Equals(areaCode))
            {
                return(searchAreaFilter == null ? null : searchAreaFilter.Clone() as AreaFilter);
            }

            AreaFilter areaFilter = new AreaFilter();

            areaFilter.TypeRegion = searchAreaFilter.TypeRegion;

            // Search for country according to code
            REPORTINGCOUNTRY country = ListOfValues.GetReportingCountry(areaCode);

            if (country != null)
            {
                //country level
                areaFilter.CountryID = country.LOV_CountryID;
                areaFilter.RegionID  = AreaFilter.AllRegionsInCountryID;
            }
            else
            {
                country = ListOfValues.GetReportingCountry(parentCode);
                areaFilter.CountryID = country.LOV_CountryID;

                //NUTS or RBD level
                if (areaFilter.TypeRegion.Equals(AreaFilter.RegionType.RiverBasinDistrict))
                {
                    LOV_RIVERBASINDISTRICT rbd = ListOfValues.GetRiverBasinDistrict(areaCode);
                    if (rbd != null)
                    {
                        areaFilter.RegionID = rbd.LOV_RiverBasinDistrictID;
                    }
                }
                else if (areaFilter.TypeRegion.Equals(AreaFilter.RegionType.NUTSregion))
                {
                    LOV_NUTSREGION nuts = ListOfValues.GetNutsRegion(areaCode);

                    if (nuts != null && !TreeListRow.CODE_UNKNOWN.Equals(areaCode))
                    {
                        areaFilter.RegionID = nuts.LOV_NUTSRegionID;
                    }
                    else
                    {
                        areaFilter.RegionID = null;
                    }
                }
            }


            return(areaFilter);
        }
示例#2
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);
            }
        }