public UniversalPlatformVersion(string version, string buildVersion,
                                        string versionName, string marketingName,
                                        string codeName, JsonArray contractsArray)
        {
            Version       = version;
            BuildVersion  = buildVersion;
            VersionName   = versionName;
            MarketingName = marketingName;
            CodeName      = codeName;

            if (contractsArray == null)
            {
                return;
            }

            UniversalPlatformContract contract;

            for (uint index = 0; index < contractsArray.Count; index++)
            {
                JsonObject entry = contractsArray.GetObjectAt(index);

                contract = new UniversalPlatformContract(
                    entry["name"].GetString(),
                    entry["version"].GetString()
                    );
                VersionContracts.Add(contract);
                FilteredContracts.Add(contract);
            }
        }
 public static string GetCSharpQuery(UniversalPlatformContract contract)
 {
     if (contract == null)
     {
         return("");
     }
     return(string.Concat("ApiInformation.IsApiContractPresent(\"", contract.Name, "\", ", contract.VersionInt, ")"));
 }
        public static string GetXAMLConditionalNameSpace(UniversalPlatformContract contract)
        {
            if (contract == null)
            {
                return("");
            }

            var splitName = contract.Name.Split(".");
            // Construct a suitable namespace name, most contracts are named "...Contract", so this is a reasonable name suggestion
            var name = string.Concat(splitName[splitName.Length - 1], "Version", contract.VersionInt, "Present");

            return(string.Concat("xmlns:", name,
                                 "=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(",
                                 contract.Name, ", ", contract.VersionInt, ")\""));
        }