SelectSingleNode() public method

public SelectSingleNode ( [ xpath ) : IXmlNode
xpath [
return IXmlNode
        internal XmlRpcMethodResponse(string responseText)
        {
            try
            {
                // analyze the response text to determine the content of the response
                XmlDocument document = new XmlDocument();
                if (responseText != null)
                {
                    responseText = responseText.TrimStart(' ', '\t', '\r', '\n');
                }
                document.LoadXml(responseText);
                IXmlNode responseValue = document.SelectSingleNode("/methodResponse/params/param/value");
                if (responseValue != null)
                {
                    _response = responseValue;
                }
                else
                {
                    // fault occurred
                    _faultOccurred = true;

                    IXmlNode errorCode = document.SelectSingleNode("/methodResponse/fault/value/struct/member[name='faultCode']/value");
                    _faultCode = errorCode.InnerText;

                    IXmlNode errorString = document.SelectSingleNode("/methodResponse/fault/value/struct/member[name='faultString']/value");
                    _faultString = errorString.InnerText;
                }
            }
            catch (Exception ex)
            {
                throw new XmlRpcClientInvalidResponseException(responseText, ex);
            }
        }
 private static void SetToatAudio(XmlDocument xml)
 {
     var node = xml.SelectSingleNode("/toast");
     var audio = xml.CreateElement("audio");
     audio.SetAttribute("src", "ms-winsoundevent:Notification.IM");
     node.AppendChild(audio);
 }
        private async void SaveMatch(object sender, RoutedEventArgs e)
        {
            FolderPicker folderPicker = new FolderPicker();

            folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
            folderPicker.FileTypeFilter.Add("*");
            StorageFolder folder = await folderPicker.PickSingleFolderAsync();

            ((Matchimpro)list_of_matches.SelectedItem).Save(folder);

            ToastNotifier ToastNotifier = ToastNotificationManager.CreateToastNotifier();

            Windows.Data.Xml.Dom.XmlDocument toastXml      = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);
            Windows.Data.Xml.Dom.XmlNodeList toastNodeList = toastXml.GetElementsByTagName("text");
            var resourceLoader = Windows.ApplicationModel.Resources.ResourceLoader.GetForCurrentView();

            toastNodeList.Item(0).AppendChild(toastXml.CreateTextNode(resourceLoader.GetString("ExportTitle")));
            toastNodeList.Item(1).AppendChild(toastXml.CreateTextNode(resourceLoader.GetString("ExportMessage")));
            Windows.Data.Xml.Dom.IXmlNode toastNode = toastXml.SelectSingleNode("/toast");

            ToastNotification toast = new ToastNotification(toastXml);

            toast.ExpirationTime = DateTime.Now.AddSeconds(1);
            ToastNotifier.Show(toast);
        }
        public static ToastNotification DisplayToast(string content)
        {
            string xml = $@"<toast activationType='foreground'>
                                            <visual>
                                                <binding template='ToastGeneric'>
                                                    <text>Extended Execution</text>
                                                </binding>
                                            </visual>
                                        </toast>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);

            var binding = doc.SelectSingleNode("//binding");

            var el = doc.CreateElement("text");
            el.InnerText = content;
            binding.AppendChild(el); //Add content to notification

            var toast = new ToastNotification(doc);

            ToastNotificationManager.CreateToastNotifier().Show(toast); //Show the toast

            return toast;
        }
        public static ToastNotification PopToast(string title, string content, string tag, string group)
        {
            string xml = $@"<toast activationType='foreground'>
                                            <visual>
                                                <binding template='ToastGeneric'>
                                                </binding>
                                            </visual>
                                        </toast>";

            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml);

            var binding = doc.SelectSingleNode("//binding");

            var el = doc.CreateElement("text");
            el.InnerText = title;

            binding.AppendChild(el);

            el = doc.CreateElement("text");
            el.InnerText = content;
            binding.AppendChild(el);

            return PopCustomToast(doc, tag, group);
        }
Beispiel #6
0
        public static void Toast(string msg)
        {
            //1. create element
            ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
            XmlDocument       toastXml      = ToastNotificationManager.GetTemplateContent(toastTemplate);
            //2.设置消息文本
            XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");

            toastTextElements[0].AppendChild(toastXml.CreateTextNode(msg));
            //3. 图标
            Windows.Data.Xml.Dom.XmlNodeList toastImageAttributes = toastXml.GetElementsByTagName("image");
            ((XmlElement)toastImageAttributes[0]).SetAttribute("src", $"ms-appx:///Assets/StoreLogo.png");
            ((XmlElement)toastImageAttributes[0]).SetAttribute("alt", "logo");
            // 4. duration
            IXmlNode toastNode = toastXml.SelectSingleNode("/toast");

            ((XmlElement)toastNode).SetAttribute("duration", "short");

            // 5. audio
            XmlElement audio = toastXml.CreateElement("audio");

            audio.SetAttribute("src", $"ms-winsoundevent:Notification.SMS");
            toastNode.AppendChild(audio);

            ToastNotification toast = new ToastNotification(toastXml);

            ToastNotificationManager.CreateToastNotifier().Show(toast);
        }
Beispiel #7
0
        private async void SaveAsync(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            var actieAnswer = false;

            if (Validate())
            {
                if (actieObject != null)
                {
                    actieObject.Beschrijving = Beschrijving.Text;
                    var      dateObject   = Datum.Date.Date.ToString().Substring(0, 10) + " " + Time.Time.ToString();
                    DateTime myDateObject = DateTime.Parse(dateObject);
                    actieObject.GeldigTot = myDateObject;
                    actieAnswer           = await actieViewModel.bewerkActieAsync(actieObject);

                    if (actieAnswer)
                    {
                        this.Frame.Navigate(typeof(BeheerOndernemerPage));
                        ToastTemplateType toastTemplate       = ToastTemplateType.ToastText02;
                        XmlDocument       toastXml            = ToastNotificationManager.GetTemplateContent(toastTemplate);
                        XmlNodeList       toastTekstElementen = toastXml.GetElementsByTagName("text");
                        toastTekstElementen[0].AppendChild(toastXml.CreateTextNode("Actie"));
                        toastTekstElementen[1].AppendChild(toastXml.CreateTextNode(actieObject.Beschrijving + " aangepast"));
                        IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
                        ((XmlElement)toastNode).SetAttribute("duration", "long");
                        ToastNotification toast = new ToastNotification(toastXml);
                        ToastNotificationManager.CreateToastNotifier().Show(toast);
                    }
                }

                else
                {
                    var      date   = Datum.Date.Date.ToString().Substring(0, 10) + " " + Time.Time.ToString();
                    DateTime myDate = DateTime.Parse(date);
                    Actie    actie  = new Actie(
                        Beschrijving.Text,
                        myDate, Int32.Parse(bedrijf)


                        );
                    actieAnswer = await actieViewModel.addActieAsync(actie);

                    if (actieAnswer)
                    {
                        this.Frame.Navigate(typeof(BeheerOndernemerPage));
                        ToastTemplateType toastTemplate       = ToastTemplateType.ToastText02;
                        XmlDocument       toastXml            = ToastNotificationManager.GetTemplateContent(toastTemplate);
                        XmlNodeList       toastTekstElementen = toastXml.GetElementsByTagName("text");
                        toastTekstElementen[0].AppendChild(toastXml.CreateTextNode("Actie"));
                        toastTekstElementen[1].AppendChild(toastXml.CreateTextNode(actie.Beschrijving + " werd toegevoegd aan je acties"));
                        IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
                        ((XmlElement)toastNode).SetAttribute("duration", "long");
                        ToastNotification toast = new ToastNotification(toastXml);
                        ToastNotificationManager.CreateToastNotifier().Show(toast);
                    }
                }
            }
        }
        private string Parse(string s, string name)
        {
            XMLDocument doc = new XMLDocument();

            doc.LoadXml(s);
            IXmlNode node = doc.SelectSingleNode(name);

            return(node.InnerText);
        }
Beispiel #9
0
        /// <summary>
        /// Gets the concatenated values of the node and all its child nodes.
        /// </summary>
        /// <param name="target">The xml document</param>
        /// <param name="nodePath">A node path separated by /</param>
        /// <returns>The concatenated values of the node and all its child nodes.</returns>
        public static string GetNodeInnerText(this Windows.Data.Xml.Dom.XmlDocument target, string nodePath)
        {
            var val = target.SelectSingleNode(nodePath);

            if (val == null)
            {
                return("");
            }
            else
            {
                return(val.InnerText);
            }
        }
Beispiel #10
0
        public void Load()
        {
            this.Conference = new Conference();

            XmlDocument xDoc = new XmlDocument();
            xDoc.LoadXml(xml);

            IXmlNode nodeSchedule = xDoc.SelectSingleNode("schedule");
            IXmlNode nodeConference = nodeSchedule.SelectSingleNode("conference");
            LoadConferenceData(nodeConference);

            XmlNodeList nodesDays = nodeSchedule.SelectNodes("day");
            foreach (IXmlNode item in nodesDays)
            {
                LoadConferenceDayData(item);
            }
        }
Beispiel #11
0
 private void ShowToastNotification()
 {
     for (int i = 0; i < ViewModel.AllItems.Count; i++)
     {
         if (ViewModel.AllItems[i].date.Day == DateTime.Now.Day)
         {
             ToastTemplateType toastTemplate                    = ToastTemplateType.ToastImageAndText01;
             Windows.Data.Xml.Dom.XmlDocument toastXml          = ToastNotificationManager.GetTemplateContent(toastTemplate);
             Windows.Data.Xml.Dom.XmlNodeList toastTextElements = toastXml.GetElementsByTagName("text");
             toastTextElements[0].AppendChild(toastXml.CreateTextNode(ViewModel.AllItems[i].title + "\n" + ViewModel.AllItems[i].description));
             Windows.Data.Xml.Dom.XmlNodeList toastImageAttributes = toastXml.GetElementsByTagName("image");
             IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
             ((Windows.Data.Xml.Dom.XmlElement)toastImageAttributes[0]).SetAttribute("src", "Assets//2015071504.jpg");
             Windows.Data.Xml.Dom.XmlElement audio = toastXml.CreateElement("audio");
             ((Windows.Data.Xml.Dom.XmlElement)toastNode).SetAttribute("duration", "long");
             audio.SetAttribute("silent", "true");
             ToastNotification toast = new ToastNotification(toastXml);
             ToastNotificationManager.CreateToastNotifier().Show(toast);
         }
     }
 }
Beispiel #12
0
        private static void SetSilent(bool useSound, XmlDocument toastXml)
        {
            var audio = toastXml.GetElementsByTagName("audio").FirstOrDefault();

            if (audio == null)
            {
                audio = toastXml.CreateElement("audio");
                var toastNode = ((XmlElement)toastXml.SelectSingleNode("/toast"));

                if (toastNode != null)
                {
                    toastNode.AppendChild(audio);
                }
            }

            var attribute = toastXml.CreateAttribute("silent");
            attribute.Value = (!useSound).ToString().ToLower();
            audio.Attributes.SetNamedItem(attribute);
        }
        private async void IconicTile_Toggled(object sender, RoutedEventArgs e)
        {
            if (IconicTile.IsOn)
            {
                iconicTile = new SecondaryTile(
                            "IconicTile",
                            "Iconic",
                            "Arguments",
                            new Uri("ms-appx:///Assets/yellow.150x150.png", UriKind.Absolute),
                            TileSize.Square150x150);
                await iconicTile.RequestCreateAsync();

                tileXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
                tileImage = tileXml.SelectSingleNode("/badge") as XmlElement;
                tileImage.SetAttribute("value", "31");

                BadgeNotification badgeNotification = new BadgeNotification(tileXml);
                BadgeUpdateManager.CreateBadgeUpdaterForSecondaryTile(iconicTile.TileId).Update(badgeNotification);

                tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileSquare150x150IconWithBadge);

                tileImage = tileXml.GetElementsByTagName("image")[0] as XmlElement;
                tileImage.SetAttribute("src", "ms-appx:///Assets/icon.130x202.png");

                notif = new TileNotification(tileXml);
                TileUpdateManager.CreateTileUpdaterForSecondaryTile(iconicTile.TileId).Update(notif);

                tileXml = TileUpdateManager.GetTemplateContent(TileTemplateType.TileWide310x150IconWithBadgeAndText);

                tileImage = tileXml.GetElementsByTagName("image")[0] as XmlElement;
                tileImage.SetAttribute("src", "ms-appx:///Assets/icon.70x110.png");

                tileList = tileXml.GetElementsByTagName("text");
                (tileList[0] as XmlElement).InnerText = "Header text";
                (tileList[1] as XmlElement).InnerText = "First line of text";
                (tileList[2] as XmlElement).InnerText = "Second line of text";

                notif = new TileNotification(tileXml);
                TileUpdateManager.CreateTileUpdaterForApplication().Update(notif);
            }
            else
            {
                TileUpdateManager.CreateTileUpdaterForApplication().Clear();
                await iconicTile.RequestDeleteAsync();
            }
        }
        public async Task<XmlRpcResponse> CallRpc(string methodName, List<XmlRpcValue> parameters) {

            var sb = new StringBuilder();

            var writer = XmlWriter.Create(sb);
            writer.WriteStartDocument();

            writer.WriteStartElement("methodCall");

            writer.WriteElementString("methodName", methodName);


            if (parameters != null && parameters.Count() > 0)
            {
                writer.WriteStartElement("params");

                foreach (var parm in parameters)
                {
                    writer.WriteStartElement("param");

                    writer.WriteStartElement("value");

                    parm.BuildXml(writer);

                    writer.WriteEndElement();

                    writer.WriteEndElement();
                }
                writer.WriteEndElement();
            }

            writer.WriteEndElement();

            writer.WriteEndDocument();
            writer.Flush();
            writer.Dispose();

            try
            {
                var client = new HttpClient();

                if (Useragent != null)
                {
                    client.DefaultRequestHeaders.UserAgent.Add(new Windows.Web.Http.Headers.HttpProductInfoHeaderValue(Useragent));
                }

                var inputPars = sb.ToString();

                var result = await client.PostAsync(_uri, new HttpStringContent(inputPars, Windows.Storage.Streams.UnicodeEncoding.Utf8, "text/xml"));

                var results = await result.Content.ReadAsStringAsync();

                result.EnsureSuccessStatusCode();

                result.Dispose();
                client.Dispose();

                sb.Clear();

                var resultDoc = new Windows.Data.Xml.Dom.XmlDocument();
                var settings = new XmlLoadSettings()
                {
                    ElementContentWhiteSpace = false
                };

                resultDoc.LoadXml(results.Trim(), settings);

                var node = resultDoc.SelectSingleNode("methodResponse");

                if (node != null)
                {
                    var ret = new XmlRpcResponse(node);
                    return ret;
                }
                throw new XmlRpcException(801, "Response failed to return proper XML response");

            }
            catch (Exception ex)
            {
                if (ex is XmlRpcException)
                {
                    throw ex;
                }
                else
                {
                    throw new XmlRpcException(800, ex.Message);
                }
            }

            return null;
        }
Beispiel #15
0
 public PodcastFeed(XmlDocument dom) : base(dom.SelectSingleNode("/rss/channel"))
 {
     Document = dom;
 }
/*
        private void SetToastImage(XmlDocument xml)
        {
            var nodes = xml.GetElementsByTagName("image");
            ((XmlElement)nodes[0]).SetAttribute("src", "ms-appx:///Assets/PomodoroTimerLogo.png");
            ((XmlElement)nodes[0]).SetAttribute("alt", "Pomodoro Timer");
        }
*/

        private static void SetToastDuration(XmlDocument xml)
        {
            var node = xml.SelectSingleNode("/toast");
            ((XmlElement)node).SetAttribute("duration", "long");
        }
        private async void BadgeToggleSwitch_Toggled(object sender, RoutedEventArgs e)
        {
            if (Badge.IsOn)
            {
                badgeTile = new SecondaryTile(
                            "BadgeTile",
                            "Badge",
                            "Arguments",
                            new Uri("ms-appx:///Assets/green.150x150.png", UriKind.Absolute),
                            TileSize.Square150x150);
                await badgeTile.RequestCreateAsync();

                tileXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeGlyph);
                tileImage = tileXml.SelectSingleNode("/badge") as XmlElement;
                tileImage.SetAttribute("value", "alert");

                BadgeNotification badgeNotification = new BadgeNotification(tileXml);
                BadgeUpdateManager.CreateBadgeUpdaterForSecondaryTile(badgeTile.TileId).Update(badgeNotification);

                tileXml = BadgeUpdateManager.GetTemplateContent(BadgeTemplateType.BadgeNumber);
                tileImage = tileXml.SelectSingleNode("/badge") as XmlElement;
                tileImage.SetAttribute("value", "31");
                badgeNotification = new BadgeNotification(tileXml);
                BadgeUpdateManager.CreateBadgeUpdaterForApplication().Update(badgeNotification);
            }
            else
            {
                BadgeUpdateManager.CreateBadgeUpdaterForApplication().Clear();
                await badgeTile.RequestDeleteAsync();
            }
        }
        public async override Task <bool> ReadFromWeb()
        {
            if (this.Busy)
            {
                return(false);
            }
            this.Busy = true;

            try
            {
                // including user agent, otherwise FB rejects the request
                var _Client    = new HttpClient();
                var _UserAgent = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
                _Client.DefaultRequestHeaders.Add("user-agent", _UserAgent);

                // fetch as string to avoid error
                var _Uri      = new Uri(this.SourceUrl);
                var _Response = await _Client.GetAsync(_Uri);

                var _String = await _Response.Content.ReadAsStringAsync();

                // convert to xml (will validate, too)
                var _XmlDocument = new Windows.Data.Xml.Dom.XmlDocument();
                _XmlDocument.LoadXml(_String);

                // parse

                var _Point1 = _XmlDocument.SelectSingleNode("//parameters[@applicable-location='point1']");

                var _Highs = _Point1.SelectNodes("//temperature[@type='maximum']/value")
                             .Select((x, i) => new { ShortIndex = i, Value = x.InnerText });

                var _LowNodes = _Point1.SelectNodes("//temperature[@type='minimum']/value");
                var _Lows     = _LowNodes
                                .Select((x, i) => new { ShortIndex = _LowNodes.Count == 6 ? i + 1 : i, Value = x.InnerText });

                var _Rains = _Point1.SelectNodes("//probability-of-precipitation/value")
                             .Select((x, i) => new { LongIndex = i, Value = string.IsNullOrEmpty(x.InnerText) ? "0" : x.InnerText });

                var _Summaries = _Point1.SelectNodes("//weather/weather-conditions/@weather-summary")
                                 .Select((x, i) => new { LongIndex = i, Value = x.InnerText });

                var _Descriptions = _Point1.SelectNodes("//wordedForecast/text")
                                    .Select((x, i) => new { LongIndex = i, Value = x.InnerText });

                var _Icons = _Point1.SelectNodes("//conditions-icon/icon-link")
                             .Select((x, i) => new { LongIndex = i, Value = x.InnerText });

                var _LongList = _XmlDocument
                                .SelectNodes("//time-layout[layout-key = 'k-p12h-n13-1' or layout-key = 'k-p12h-n14-1' or layout-key = 'k-p12h-n15-1']/start-valid-time")
                                .Select((x, i) => new { Index = i, Period = x.Attributes[0].InnerText, Text = x.InnerText })
                                .Where(x => !x.Period.ToLower().Contains("night"))
                                .Select(x => new Values
                {
                    Summary = x.Period.Equals("Today") ? DateTime.Now.ToString("dddd") :
                              x.Period.ToLower().Contains("afternoon") ? DateTime.Now.ToString("dddd") : x.Period,
                    LongIndex = x.Index,
                    Date      = x.Text,
                });
                var _ShortList = _XmlDocument
                                 .SelectNodes("//time-layout[layout-key = 'k-p24h-n7-1' or layout-key = 'k-p24h-n7-2' or layout-key = 'k-p24h-n8-1']/start-valid-time")
                                 .Where(x => !x.Attributes[0].InnerText.ToLower().Contains("night"))
                                 .Select((x, i) => new { Index = i, Period = x.Attributes[0].InnerText, Text = x.InnerText })
                                 .Select(x => new Values
                {
                    Summary = x.Period.Equals("Today") ? DateTime.Now.ToString("dddd") :
                              x.Period.ToLower().Contains("afternoon") ? DateTime.Now.ToString("dddd") : x.Period,
                    ShortIndex = x.Index,
                    Date       = x.Text,
                });
                var _List =
                    from _Long in _LongList
                    join _Short in _ShortList on _Long.Date equals _Short.Date
                    select new Values
                {
                    LongIndex  = _Long.LongIndex,
                    ShortIndex = _Short.ShortIndex,
                    Date       = _Long.Date,
                    High       = _Highs.Any(x => x.ShortIndex == _Short.ShortIndex)
                            ? _Highs.First(x => x.ShortIndex == _Short.ShortIndex).Value : "N/A",
                    Low = _Lows.Any(x => x.ShortIndex == _Short.ShortIndex)
                            ? _Lows.First(x => x.ShortIndex == _Short.ShortIndex).Value : "N/A",
                    Rain = _Rains.Any(x => x.LongIndex == _Long.LongIndex)
                            ? _Rains.First(x => x.LongIndex == _Long.LongIndex).Value : "N/A",
                    Summary = _Summaries.Any(x => x.LongIndex == _Long.LongIndex)
                            ? _Summaries.First(x => x.LongIndex == _Long.LongIndex).Value : "N/A",
                    Details = _Descriptions.Any(x => x.LongIndex == _Long.LongIndex)
                            ? _Descriptions.First(x => x.LongIndex == _Long.LongIndex).Value : "N/A",
                    Icon = _Icons.Any(x => x.LongIndex == _Long.LongIndex)
                            ? _Icons.First(x => x.LongIndex == _Long.LongIndex).Value : string.Empty,
                };

                this.Articles.Clear();
                foreach (var item in _List)
                {
                    this.Articles.Add(item.ToWeatherArticle());
                }
                await base.WriteToCache();

                this.InError = false;
                return(true);
            }
            catch
            {
                // weather
                Debug.WriteLine("Error reading: " + this.SourceUrl);
                System.Diagnostics.Debugger.Break();
                // setting inerror to true will remove it from the UI
                this.InError = true;
                return(false);
            }
            finally { this.Busy = false; }
        }
Beispiel #19
0
        private async void SaveAsync(object sender, Windows.UI.Xaml.RoutedEventArgs e)
        {
            if (Validate())
            {
                if (comp != null)
                {
                    comp.Naam        = Naam.Text;
                    comp.Openingsuur = Openingsuur.Text;
                    comp.Sluituur    = Sluitsuur.Text;
                    comp.Categorie   = await categorieViewModel.getCategorie(Categorie.SelectedValue.ToString());

                    comp.Gemeente        = Gemeente.Text;
                    comp.Straat          = Straat.Text;
                    comp.Land            = Land.Text;
                    comp.Website         = Website.Text;
                    comp.Telefooonnummer = Telefoonnummer.Text;
                    comp.Information     = Beschrijving.Text;
                    var ondernemingAnswer = await ondernemingenViewModel.bewerkOnderneming(comp);

                    if (ondernemingAnswer)
                    {
                        this.Frame.Navigate(typeof(BeheerOndernemenPage_Mobile));
                        ToastTemplateType toastTemplate       = ToastTemplateType.ToastText02;
                        XmlDocument       toastXml            = ToastNotificationManager.GetTemplateContent(toastTemplate);
                        XmlNodeList       toastTekstElementen = toastXml.GetElementsByTagName("text");
                        toastTekstElementen[0].AppendChild(toastXml.CreateTextNode("Onderneming"));
                        toastTekstElementen[1].AppendChild(toastXml.CreateTextNode(comp.Naam + " werd aangepast"));
                        IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
                        ((XmlElement)toastNode).SetAttribute("duration", "long");
                        ToastNotification toast = new ToastNotification(toastXml);
                        ToastNotificationManager.CreateToastNotifier().Show(toast);
                    }
                }
                else
                {
                    var categorie = await categorieViewModel.getCategorie(Categorie.SelectedValue.ToString());

                    Onderneming onderneming = new Onderneming(
                        Naam.Text,
                        Openingsuur.Text,
                        Sluitsuur.Text,
                        categorie.Id,
                        Gemeente.Text,
                        Straat.Text,
                        Land.Text,
                        Website.Text,
                        Telefoonnummer.Text,
                        Beschrijving.Text,
                        ((App)Application.Current).gebruiker.Id
                        );
                    var ondernemingAnswer = await ondernemingenViewModel.addOnderneming(onderneming);

                    if (ondernemingAnswer)
                    {
                        this.Frame.Navigate(typeof(BeheerOndernemenPage_Mobile));
                        ToastTemplateType toastTemplate       = ToastTemplateType.ToastText02;
                        XmlDocument       toastXml            = ToastNotificationManager.GetTemplateContent(toastTemplate);
                        XmlNodeList       toastTekstElementen = toastXml.GetElementsByTagName("text");
                        toastTekstElementen[0].AppendChild(toastXml.CreateTextNode("Onderneming"));
                        toastTekstElementen[1].AppendChild(toastXml.CreateTextNode(onderneming.Naam + " werd toegevoegd aan je ondernemingen"));
                        IXmlNode toastNode = toastXml.SelectSingleNode("/toast");
                        ((XmlElement)toastNode).SetAttribute("duration", "long");
                        ToastNotification toast = new ToastNotification(toastXml);
                        ToastNotificationManager.CreateToastNotifier().Show(toast);
                    }
                }
            }
        }
Beispiel #20
0
        private async void GetCity(double lat, double lon)
        {
            HttpClient hc = new HttpClient();
            try
            {
                //string text = await hc.GetStringAsync("http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=" + lat + "," + lon);
                string text = await hc.GetStringAsync("http://maps.googleapis.com/maps/api/geocode/xml?latlng=" + lat + "," + lon + "&sensor=true&language=zh-CN");
                XmlDocument doc = new XmlDocument();//创建XML文档对象
                if (!string.IsNullOrEmpty(text))
                {
                    doc.LoadXml(text);//加载xml字符串

                    //获取状态信息
                    string xpath = @"GeocodeResponse/status";
                    var node = doc.SelectSingleNode(xpath);
                    string status = node.InnerText.ToString();

                    if (status == "OK")
                    {
                        //获取地址信息
                        xpath = @"GeocodeResponse/result/formatted_address";
                        node = doc.SelectSingleNode(xpath);
                        text = node.InnerText.ToString();
                        text = text.Contains("中国") ? text.Remove(0, 2) : text;

                        string s1 = "";
                        decimal d1 = 0.0M;
                        //if (text.Contains("省"))
                        //{
                        //    int index = text.IndexOf("省");
                        //    text = text.Substring(index + 1);
                        //}
                        foreach (string name in cities.Keys)
                        {
                            decimal mm = LevenshteinDistance.Instance.LevenshteinDistancePercent(text, name);
                            if (mm > d1)
                            {
                                s1 = name;
                                d1 = mm;
                            }
                        }
                        searched.Add(cities[s1]);
                        cityList.ItemsSource = searched;
                        tb_locaInfo.Text = "若定位有误请手动搜索";
                        pb_loca.Visibility = Visibility.Collapsed;
                    }
                    else
                    {
                        tb_locaInfo.Text = "位置获取失败,请手动搜索";
                        pb_loca.Visibility = Visibility.Collapsed;
                    }

                }
                else
                {
                    tb_locaInfo.Text = "位置获取失败,请手动搜索";
                    pb_loca.Visibility = Visibility.Collapsed;
                }
                //text = text.Substring(text.IndexOf('"') + 1);
                //text = text.Substring(0, text.IndexOf('"'));
                
            }
            catch (Exception)
            {
                tb_locaInfo.Text = "位置获取失败,请手动搜索";
                pb_loca.Visibility = Visibility.Collapsed;
            }
        }