public NavigatorPageViewModel(string navigationGraphName,
                                      Guid destinationRegionID,
                                      Guid destinationWaypointID,
                                      string destinationWaypointName,
                                      XMLInformation informationXML)

        {
            _firsrDirectionInstructionScaleVale = 1;
            _destinationID           = destinationWaypointID;
            _destinationWaypointName = destinationWaypointName;
            CurrentStepImage         = "waittingscan.gif";

            _instructionLocation = _originalInstructionLocation;
            _navigationModule    = new NavigationModule(navigationGraphName,
                                                        destinationRegionID,
                                                        destinationWaypointID);
            _navigationModule._event._eventHandler += GetNavigationResultEvent;
            const string resourceId = "IndoorNavigation.Resources.AppResources";

            _resourceManager    = new ResourceManager(resourceId, typeof(TranslateExtension).GetTypeInfo().Assembly);
            CurrentWaypointName = _resourceManager.GetString("NULL_STRING", CrossMultilingual.Current.CurrentCultureInfo);
            CurrentStepLabel    = _resourceManager.GetString("NO_SIGNAL_STRING", CrossMultilingual.Current.CurrentCultureInfo);
            var currentLanguage = CrossMultilingual.Current.CurrentCultureInfo;

            if (CrossMultilingual.Current.CurrentCultureInfo.ToString() == "en" || CrossMultilingual.Current.CurrentCultureInfo.ToString() == "en-US")
            {
                _firstDirectionInstruction = NavigraphStorage.LoadFirstDirectionXML(navigationGraphName + "_en-US.xml");
            }
            else if (CrossMultilingual.Current.CurrentCultureInfo.ToString() == "zh" || CrossMultilingual.Current.CurrentCultureInfo.ToString() == "zh-TW")
            {
                _firstDirectionInstruction = NavigraphStorage.LoadFirstDirectionXML(navigationGraphName + "_zh.xml");
            }
            _navigationGraph = NavigraphStorage.LoadNavigationGraphXML(navigationGraphName);
            _xmlInformation  = informationXML;
        }
Пример #2
0
        public DestinationPickPage(string navigationGraphName, CategoryType category)
        {
            InitializeComponent();

            const string resourceId = "IndoorNavigation.Resources.AppResources";

            _resourceManager = new ResourceManager(resourceId, typeof(TranslateExtension).GetTypeInfo().Assembly);

            _destinationItems = new ObservableCollection <DestinationItem>();

            _navigationGraphName = navigationGraphName;

            _navigationGraph = NavigraphStorage.LoadNavigationGraphXML(navigationGraphName);
            if (CrossMultilingual.Current.CurrentCultureInfo.ToString() == "en" || CrossMultilingual.Current.CurrentCultureInfo.ToString() == "en-US")
            {
                _nameInformation = NavigraphStorage.LoadInformationML(navigationGraphName + "_info_en-US.xml");
            }
            else if (CrossMultilingual.Current.CurrentCultureInfo.ToString() == "zh" || CrossMultilingual.Current.CurrentCultureInfo.ToString() == "zh-TW")
            {
                _nameInformation = NavigraphStorage.LoadInformationML(navigationGraphName + "_info_zh.xml");
            }

            NavigationPage.SetBackButtonTitle(this, _resourceManager.GetString("BACK_STRING", CrossMultilingual.Current.CurrentCultureInfo));

            foreach (KeyValuePair <Guid, IndoorNavigation.Models.Region> pairRegion in _navigationGraph.GetRegions())
            {
                string floorName = _nameInformation.GiveRegionName(pairRegion.Value._id);
                if (pairRegion.Value._waypointsByCategory.ContainsKey(category))
                {
                    foreach (Waypoint waypoint in pairRegion.Value._waypointsByCategory[category])
                    {
                        string waypointName = waypoint._name;
                        waypointName = _nameInformation.GiveWaypointName(waypoint._id);
                        if (waypoint._type.ToString() == "terminal" || waypoint._type.ToString() == "landmark")
                        {
                            Console.WriteLine("check type : " + waypoint._type.ToString());
                            _destinationItems.Add(new DestinationItem
                            {
                                _regionID     = pairRegion.Key,
                                _waypointID   = waypoint._id,
                                _waypointName = waypointName,
                                _floor        = floorName
                            });
                        }
                        else
                        {
                            Console.WriteLine("Portal, No need to add!!");
                        }
                    }
                }
            }

            MyListView.ItemsSource = from waypoint in _destinationItems
                                     group waypoint by waypoint._floor into waypointGroup
                                     orderby waypointGroup.Key
                                     select new Grouping <string, DestinationItem>(waypointGroup.Key,
                                                                                   waypointGroup);
        }
Пример #3
0
        public static XMLInformation LoadInformationML(string FileName)
        {
            string filePath = Path.Combine(_informationFolder, FileName);

            var xmlString = File.ReadAllText(filePath);

            if (xmlString == "")
            {
                DeleteFirstDirectionXML(FileName);
            }

            StringReader stringReader = new StringReader(xmlString);
            XmlDocument  document     = new XmlDocument();

            document.Load(filePath);

            XMLInformation xmlInformation = new XMLInformation(document);

            return(xmlInformation);
        }
Пример #4
0
    public XElement getNextLevelInformation(string XMLName, string XMLHeaderName, XElement Level = default(XElement))
    {
        var XMLCOMPLETE = getAllXMLInfortmation(XMLName, XMLHeaderName);

        //Debug.Log(XMLCOMPLETE);
        if (Level == default(XElement))
        {
            list = XMLCOMPLETE;
        }
        else
        {
            foreach (var XMLInformation in XMLCOMPLETE.Elements())
            {
                foreach (var XMLPART in XMLInformation.Elements())
                {
                    list = XMLPART;
                }
            }
        }
        return(list);
    }
Пример #5
0
        public NavigatorPage(string navigationGraphName,
                             Guid destinationRegionID,
                             Guid destinationWaypointID,
                             string destinationWaypointName,
                             XMLInformation informationXML)
        {
            Console.WriteLine(">> NavigatorPage constructor: {0} {1} {2} {3} ",
                              navigationGraphName,
                              destinationRegionID,
                              destinationWaypointID,
                              destinationWaypointName);

            InitializeComponent();

            _viewModel = new NavigatorPageViewModel(navigationGraphName,
                                                    destinationRegionID,
                                                    destinationWaypointID,
                                                    destinationWaypointName,
                                                    informationXML);
            BindingContext = _viewModel;

            Console.WriteLine("<< NavigatorPage constructor");
        }