示例#1
0
 /// <summary>
 /// Will set the layerlist based on activityfilter
 /// </summary>
 public void SetLayers(ActivityFilter activityfilter)
 {
     if (activityfilter != null)
     {
         if (!activityfilter.ActivityType.Equals(ActivityFilter.Type.AnnexI))
         {
             this.Layers = ActivityFilter.AllSectorsID.ToString();
         }
         else if (activityfilter.SearchLevel() == ActivityFilter.Level.All)
         {
             this.Layers = ActivityFilter.AllSectorsID.ToString();
         }
         else
         {
             IEnumerable <LOV_ANNEXIACTIVITY> list = ListOfValues.GetAnnexIActivities(activityfilter.SectorIds);
             if (list.Count() > 0)
             {
                 this.Layers = String.Empty;
                 foreach (LOV_ANNEXIACTIVITY item in list)
                 {
                     if (String.IsNullOrEmpty(this.Layers))
                     {
                         this.Layers += "sector" + item.Code;
                     }
                     else
                     {
                         this.Layers += ",sector" + item.Code;
                     }
                 }
             }
             else
             {
                 this.Layers = ActivityFilter.AllSectorsID.ToString();
             }
         }
     }
     else
     {
         this.Layers = ActivityFilter.AllSectorsID.ToString(); //all sectors
     }
 }
示例#2
0
                    public Map(string layerId, string cmsLayerId, MediumFilter.Medium medium, string pollutantCode, List <string> activityCodes, int year)
                    {
                        this.LayerId    = layerId;
                        this.CmsLayerId = cmsLayerId;
                        this.Medium     = medium;

                        //year
                        filter.YearFilter = new YearFilter {
                            Year = year
                        };

                        //set pollutant filter
                        LOV_POLLUTANT pollutant = ListOfValues.GetPollutant(pollutantCode);

                        filter.PollutantFilter                  = new PollutantFilter();
                        filter.PollutantFilter.PollutantID      = pollutant.LOV_PollutantID;
                        filter.PollutantFilter.PollutantGroupID = (int)pollutant.ParentID;

                        //set medium filter
                        filter.MediumFilter = new MediumFilter();
                        switch (medium)
                        {
                        case MediumFilter.Medium.Air:
                            filter.MediumFilter.ReleasesToAir = true;
                            break;

                        case MediumFilter.Medium.Soil:
                            filter.MediumFilter.ReleasesToSoil = true;
                            break;

                        case MediumFilter.Medium.Water:
                            filter.MediumFilter.ReleasesToWater = true;
                            break;

                        default:
                            filter.MediumFilter = null;
                            break;
                        }

                        //set activity filter
                        if (activityCodes.Count > 0)
                        {
                            IEnumerable <LOV_ANNEXIACTIVITY> activities = ListOfValues.GetAnnexIActivities(activityCodes);
                            filter.ActivityFilter = new ActivityFilter();
                            filter.ActivityFilter.ActivityType   = ActivityFilter.Type.AnnexI;
                            filter.ActivityFilter.SectorIds      = activities.Select(a => (int)a.ParentID).ToList <int>();
                            filter.ActivityFilter.ActivityIds    = activities.Select(a => a.LOV_AnnexIActivityID).ToList <int>();
                            filter.ActivityFilter.SubActivityIds = new List <int>()
                            {
                                ActivityFilter.AllSubActivitiesInActivityID
                            };
                        }

                        //create mapfilter for expanded map
                        this.MapFilterExpanded = QueryLayer.PollutantReleases.GetMapFilter(filter);

                        if (activityCodes.Count > 0)
                        {
                            this.MapFilterExpanded.Layers = String.Format("facilities,{0}", LayerId); //Don't show any layers as default
                        }
                        else
                        {
                            this.MapFilterExpanded.Layers = LayerId;
                        }

                        this.MapFilterExpanded.VisibleLayers = LayerId; //only turn on diffuse layer

                        //create mapfilter for small map (does not show facilities)
                        this.MapFilterSmall        = new MapFilter();
                        this.MapFilterSmall.Layers = LayerId;
                    }