AnyPlace.MainPage.BuildingSearch C# (CSharp) Method

BuildingSearch() private method

private BuildingSearch ( string name ) : void
name string
return void
        private async void BuildingSearch(string name)
        {

            if (buildLoaded)
            {
                foreach (var obj in _poisByBuilding.pois)
                {
                    if (obj.name.Equals(name) || obj.description.Equals(name))
                    {
                        _selectedBuild = obj.buid;
                        _selectedFloor = obj.floor_number;

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

                        _wmstileprovider = new WMSTiles();
                        _wmstileprovider.setBuidAndFloor(_selectedBuild, _selectedFloor);
                        if (Mymap.TileSources.Contains(_wmstileprovider))
                            Mymap.TileSources.Remove(_wmstileprovider);
                        Mymap.TileSources.Add(_wmstileprovider);

                        ChangeFloor();
                        if (directions_grid.Visibility == Visibility.Visible)
                            GetRouteOfTheCurrentFloor();
                        foreach (var o in poisByFloor_layer)
                        {
                            var x = o.Content as Image;

                            if (o.GeoCoordinate == new GeoCoordinate(double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture), double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture)))
                                buildingImg_tap(x.DataContext as FloorPoisDetails);
                        }

                        Mymap.SetView(new GeoCoordinate(double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture), double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture)), 20);

                        _foundBuilding = true;

                        break;
                    }
                }

            }



            foreach (var obj in _worldbuildings.buildings)
            {
                if (obj.name.Equals(name))
                {
                    var floor_num = "";
                    var lat = double.Parse(obj.coordinates_lat, CultureInfo.InvariantCulture);
                    var lon = double.Parse(obj.coordinates_lon, CultureInfo.InvariantCulture);

                    var settings1 = IsolatedStorageFile.GetUserStoreForApplication();
                    if (settings1.DirectoryExists(obj.buid) && checkCompleted(obj.buid))
                    {
                        // load staff to the map
                        clear();
                        ReadAllBuildingFloorsFromIsolatedStorage(obj.buid);
                        ReadPoisByBuildingFromIsolatedStorage(obj.buid);
                        addBuildingsToMap(obj.buid);

                        buildLoaded = true;
                        loadBuidingToMap(obj.buid);
                        createAppBarMenuItem();
                    }
                    else
                    {
                        isDownloading = true;
                        //ApplicationBar.IsVisible = false;
                        //downloading.Visibility = Visibility.Visible;

                        loading.Visibility = Visibility.Visible;
                        loading.IsIndeterminate = true;

                        clear();
                        // download staff and show them to the map
                        var fsdf = await DownloadPoisBuildStaff(obj.buid);
                        ReadAllBuildingFloorsFromIsolatedStorage(obj.buid);
                        ReadPoisByBuildingFromIsolatedStorage(obj.buid);

                        addBuildingsToMap(obj.buid);
                        buildLoaded = true;
                        loadBuidingToMap(obj.buid);

                        loading.Visibility = Visibility.Collapsed;
                        loading.IsIndeterminate = false;

                        createAppBarMenuItem();
                        isDownloading = false;
                    }


                    Mymap.SetView(new GeoCoordinate(lat, lon), 20, MapAnimationKind.Parabolic);

                    SystemTray.IsVisible = false;

                    _foundBuilding = true;
                    break;
                }
            }
        }
MainPage