void AddWindowsTargets(List <MetaData> metadata, string platform, List <IAppLinkTarget> targets)
        {
            var urls     = metadata.Where(m => m.Property.Equals(META_TAG_PREFIX + ":" + platform + ":" + KEY_URL, StringComparison.InvariantCultureIgnoreCase));
            var appIds   = metadata.Where(m => m.Property.Equals(META_TAG_PREFIX + ":" + platform + ":" + KEY_APP_ID, StringComparison.InvariantCultureIgnoreCase));
            var appNames = metadata.Where(m => m.Property.Equals(META_TAG_PREFIX + ":" + platform + ":" + KEY_APP_NAME, StringComparison.InvariantCultureIgnoreCase));

            if (urls != null)
            {
                for (int i = 0; i < urls.Count(); i++)
                {
                    var target = new WindowsAppLinkTarget();

                    if (platform == KEY_WINDOWSUNIVERSAL)
                    {
                        target = new WindowsUniversalAppLinkTarget();
                    }
                    else if (platform == KEY_WINDOWSPHONE)
                    {
                        target = new WindowsPhoneAppLinkTarget();
                    }

                    try {
                        target.Url = new Uri(urls.ElementAt(i).Content);
                    } catch {
                        continue;
                    }

                    if (appIds != null)
                    {
                        var m = appIds.ElementAtOrDefault(i);
                        target.AppId = m != null ? m.Content : null;
                    }
                    if (appNames != null)
                    {
                        var m = appNames.ElementAtOrDefault(i);
                        target.AppName = m != null ? m.Content : null;
                    }

                    targets.Add(target);
                }
            }
        }
Пример #2
0
		void AddWindowsTargets(List<MetaData> metadata, string platform, List<IAppLinkTarget> targets)
		{
			var urls = metadata.Where (m => m.Property.Equals (META_TAG_PREFIX + ":" + platform + ":" + KEY_URL, StringComparison.InvariantCultureIgnoreCase));
			var appIds = metadata.Where (m => m.Property.Equals (META_TAG_PREFIX + ":" + platform + ":" + KEY_APP_ID, StringComparison.InvariantCultureIgnoreCase));
			var appNames =  metadata.Where (m => m.Property.Equals (META_TAG_PREFIX + ":" + platform + ":" + KEY_APP_NAME, StringComparison.InvariantCultureIgnoreCase));

			if (urls != null) {
				for (int i = 0; i < urls.Count(); i++) {

					var target = new WindowsAppLinkTarget ();

					if (platform == KEY_WINDOWSUNIVERSAL)
						target = new WindowsUniversalAppLinkTarget ();
					else if (platform == KEY_WINDOWSPHONE)
						target = new WindowsPhoneAppLinkTarget ();

					try {
						target.Url = new Uri(urls.ElementAt(i).Content);
					} catch {
						continue;
					}

					if (appIds != null) {
						var m = appIds.ElementAtOrDefault (i);
						target.AppId = m != null ? m.Content : null;
					}
					if (appNames != null) {
						var m = appNames.ElementAtOrDefault (i);
						target.AppName = m != null ? m.Content : null;
					}

					targets.Add (target);
				}
			}
		}