AnyPlace.MainPage.floorDown C# (CSharp) Method

floorDown() private method

private floorDown ( object sender, RoutedEventArgs e ) : void
sender object
e RoutedEventArgs
return void
        private void floorDown(object sender, RoutedEventArgs e)
        {
            if (!buildLoaded)
                return;

            if (mapHoldLayer != null)
            {
                mapHoldLayer.Clear();
                if (Mymap.Layers.Contains(mapHoldLayer))
                {
                    Mymap.Layers.Remove(mapHoldLayer);
                }
            }

            if (floorPoisDetail != null)
            {
                floorPoisDetail.Clear();
                if (Mymap.Layers.Contains(floorPoisDetail))
                    Mymap.Layers.Remove(floorPoisDetail);
            }


            var sel = txt_cur.Text;
            if (String.IsNullOrEmpty(sel))
                return;
            var x = int.Parse(sel);
            x = x - 1;
            bool correct = false;
            string floor = null;
            foreach (var obj in _allbuildingfloors.floors)
            {
                if (obj.floor_number.Equals(x.ToString()))
                {
                    correct = true;
                    floor = obj.floor_number;
                }
            }

            if (!correct)
                return;

            if (buildLoaded)
            {
                _selectedFloor = floor;

                Dispatcher.BeginInvoke(() =>
                {
                    txt_cur.Text = _selectedFloor;
                });

                Mymap.TileSources.Clear();
                ChangeFloor();

                if (!_selectedFloor.Equals(_floorPoiToNumber))
                    Mymap.MapElements.Clear();
                else
                {
                    if (_polyline != null)
                        if (!Mymap.MapElements.Contains(_polyline))
                            Mymap.MapElements.Add(_polyline);
                }

                if (_routePoi != null)
                    if (_routePoi.pois != null)
                        if (_routePoi.pois.Count > 0)
                            GetRouteOfTheCurrentFloor();

                if (Mymap.Layers.Contains(indoorLayer))
                {
                    Mymap.Layers.Remove(indoorLayer);
                    indoorLayer.Clear();
                    if (_floorPoiFromNumber == _floorPoiToNumber)
                    {
                        if (_selectedFloor == _floorPoiToNumber)
                        {
                            indoorLayer.Add(_overlayFrom);
                            indoorLayer.Add(_overlayTo);
                        }

                    }
                    else
                    {
                        if (_selectedFloor == _floorPoiFromNumber)
                        {
                            indoorLayer.Add(_overlayFrom);
                        }
                        else
                            if (_selectedFloor == _floorPoiToNumber)
                                indoorLayer.Add(_overlayTo);
                    }
                    Mymap.Layers.Add(indoorLayer);
                }
            }
        }
MainPage