Пример #1
0
        void loadPlacesDataSource(int pageIndex)
        {
            map._currentPlaces.Clear();
            map._placesData.Clear();
            //var s_listp = vm.LOsInCircle[vm._currentUnidad].stack.StacksList;
            var s_listp = vm.LOsInCircle[0].stack.StacksList;


            if (s_listp [vm._currentSection].PagesList.Count == 1)
            {
                var myHandler = new Handler();
                myHandler.Post(() => {
                    Toast.MakeText(this, "No Disponible", ToastLength.Short).Show();
                });
                OnBackPressed();
                return;
            }

            map.mapUrl            = s_listp [vm._currentSection].PagesList [1].page.url_img;
            map.titulo_map_header = s_listp [vm._currentSection].PagesList [1].page.title;


            map.setMapImage(map.mapUrl, vm._currentCurso, vm._currentUnidad, vm._currentSection);

            var slides = s_listp [vm._currentSection].PagesList [1].content.lopage.loslide;


            for (int m = 1; m < slides.Count; m++)
            {
                string   pos_title = slides [m].lotitle;
                string[] words     = pos_title.Split(' ', '\t');

                if (words.Length >= 3)
                {
                    pos_title = "";
                    for (int i = 3; i < words.Length; i++)
                    {
                        pos_title += words [i] + " ";
                    }
                }
                else
                {
                    var myHandler = new Handler();
                    myHandler.Post(() => {
                        Toast.MakeText(this, "No Disponible", ToastLength.Short).Show();
                    });
                    OnBackPressed();
                    return;
                }
                int x    = 0;
                int y    = 0;
                int tipo = 0;

                if (Regex.IsMatch(words [0], @"^\d+$") && Regex.IsMatch(words [1], @"^\d+$") && Regex.IsMatch(words [2], @"^\d+$"))
                {
                    int.TryParse(words [0], out tipo);
                    int.TryParse(words [1], out x);
                    int.TryParse(words [2], out y);
                }
                else
                {
                    var myHandler = new Handler();
                    myHandler.Post(() => {
                        Toast.MakeText(this, "No Disponible", ToastLength.Short).Show();
                    });
                    OnBackPressed();
                    return;
                }

                map._currentPlaces.Add(new PlaceItem {
                    titulo = pos_title, pathIcon = slides[m].loitemize.loitem[0].loimage, tipoIndex = tipo
                });
                map._positionCurrentPlaces.Add(new Tuple <int, int>(x, y));

                List <PlaceDetalle> extraInfo = new List <PlaceDetalle> ();
                for (int i = 0; i < slides [m].loitemize.loitem.Count; i++)
                {
                    PlaceDetalle itemPlace = new PlaceDetalle();
                    itemPlace.detalle = slides [m].loitemize.loitem [i].lotext;
                    itemPlace.url     = slides [m].loitemize.loitem [i].loimage;
                    extraInfo.Add(itemPlace);
                }

                map._placesData.Add(
                    new MapItemInfo {
                    titulo         = slides [m].lotitle,
                    placeExtraInfo = extraInfo
                }
                    );
            }

            //loadPlacesDataSource (imView.indexLO);

            map.iniPlancesList();
            for (int i = 0; i < map._listLinearPlaces.Count; i++)
            {
                map._listLinearPlaces [i].Click        += showPlaceItem;
                map._listLinearPositonPlaces [i].index  = i;
                map._listLinearPositonPlaces [i].Click += showMapPositionPlace;
            }
            //map.listPlaces.ItemClick += ListPlaces_ItemClick;

            //mainLayout.AddView (map);
            //map.listPlaces.ItemClick += ListPlaces_ItemClick;

            //			map.listPlaces.ItemClick += ListPlaces_ItemClick;
        }
Пример #2
0
		void loadPlacesDataSource(int pageIndex)
		{

			map._currentPlaces.Clear ();
			map._placesData.Clear ();
			//var s_listp = vm.LOsInCircle[vm._currentUnidad].stack.StacksList;
			var s_listp = vm.LOsInCircle[0].stack.StacksList;


			if (s_listp [vm._currentSection].PagesList.Count ==1) {
				var myHandler = new Handler ();
				myHandler.Post(()=>{
					Toast.MakeText (this, "No Disponible", ToastLength.Short).Show();
				});	
				OnBackPressed ();
				return;
			}

			map.mapUrl = s_listp [vm._currentSection].PagesList [1].page.url_img;
			map.titulo_map_header = s_listp [vm._currentSection].PagesList [1].page.title;


			map.setMapImage (map.mapUrl,vm._currentCurso,vm._currentUnidad,vm._currentSection);

			var slides = s_listp [vm._currentSection].PagesList [1].content.lopage.loslide;


			for (int m = 1; m < slides.Count; m++) {

				string pos_title = slides [m].lotitle;
				string[] words = pos_title.Split (' ', '\t');

				if (words.Length >= 3) {
					pos_title = "";
					for (int i = 3; i < words.Length; i++) {
						pos_title += words [i] + " ";
					}
				} else {
					var myHandler = new Handler ();
					myHandler.Post(()=>{
						Toast.MakeText (this, "No Disponible", ToastLength.Short).Show();
					});	
					OnBackPressed ();
					return;
				}
				int x = 0;
				int y = 0;
				int tipo = 0;

				if (Regex.IsMatch (words [0], @"^\d+$") && Regex.IsMatch (words [1], @"^\d+$") && Regex.IsMatch (words [2], @"^\d+$")) {

					int.TryParse (words [0], out tipo);
					int.TryParse (words [1], out x);
					int.TryParse (words [2], out y);
				} else {
					var myHandler = new Handler ();
					myHandler.Post(()=>{
						Toast.MakeText (this, "No Disponible", ToastLength.Short).Show();
					});	
					OnBackPressed ();
					return;
				}

				map._currentPlaces.Add (new PlaceItem{ titulo = pos_title , pathIcon = slides[m].loitemize.loitem[0].loimage, tipoIndex=tipo});
				map._positionCurrentPlaces.Add (new Tuple<int,int>(x,y));

				List<PlaceDetalle> extraInfo = new List<PlaceDetalle> ();
				for (int i = 0; i < slides [m].loitemize.loitem.Count; i++) {
					PlaceDetalle itemPlace = new PlaceDetalle ();
					itemPlace.detalle = slides [m].loitemize.loitem [i].lotext;
					itemPlace.url = slides [m].loitemize.loitem [i].loimage;
					extraInfo.Add (itemPlace);
				}

				map._placesData.Add (
					new MapItemInfo {
						titulo = slides [m].lotitle,
						placeExtraInfo = extraInfo
					}
				);
			}

			//loadPlacesDataSource (imView.indexLO);

			map.iniPlancesList ();
			for (int i = 0; i < map._listLinearPlaces.Count; i++) {
				map._listLinearPlaces [i].Click += showPlaceItem;
				map._listLinearPositonPlaces [i].index = i;
				map._listLinearPositonPlaces [i].Click += showMapPositionPlace;
			}
			//map.listPlaces.ItemClick += ListPlaces_ItemClick;

			//mainLayout.AddView (map);
			//map.listPlaces.ItemClick += ListPlaces_ItemClick;

			//			map.listPlaces.ItemClick += ListPlaces_ItemClick;
		}