<html><head>
    <meta charset="utf-8">
    <title>CRM Pictures</title>
    <script src="../../../ClientGlobalContext.js.aspx" type="text/javascript"></script>

    <script src="../javascripts/ConfigurationPage" type="text/javascript"></script>
    
    <script src="../javascripts/xrmsvctoolkit" type="text/javascript"></script>
    <script src="../javascripts/SdkMetaData" type="text/javascript"></script>

    <script src="../javascripts/JSon2" type="text/javascript"></script>
    <script src="../javascripts/jquery" type="text/javascript"></script>
      <script src="../javascripts/SdkSoap" type="text/javascript"></script>
    <script src="../javascripts/SdkRest" type="text/javascript"></script>
    <script>
        $(document).ready(function () {
           // debugger;
		    //var IsValidUser = validateLicense();
            //if (IsValidUser == true) {
			
            buildConfigurationPage();
			//}
            // else {
               
            //    alert("License Key Requried.");
            //}
        });
		   function validateLicense() {
		   
		       var licenseKey = ""; var prdctName = "";
            var licenseRecord = ExecuteRequest(); //RetrieveMultiple("mtc_licensing", null, new Array("mtc_name","mtc_licensekey")); //
			
			if(licenseRecord.length>0){
			
			
			var record=licenseRecord[0];
			prdctName=record["mtc_name"];
			licenseKey=record["mtc_isvalid"];
			
			 if ((prdctName == "MultiFileUploader") && licenseKey == "true"){
			 return true;
			 }else{
			  return false;
			 
			 }
                
           
			
			}			
          
           
		   }
		   function ExecuteRequest() {
		   var data=new Array();
		         var produci="MultiFileUploader";   
              var req = new XMLHttpRequest();
             req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.0/mtc_licensings?$filter=mtc_name eq '"+produci+"'&$orderby=mtc_name", true);
            req.setRequestHeader("OData-MaxVersion", "4.0");
           req.setRequestHeader("OData-Version", "4.0");
            req.setRequestHeader("Accept", "application/json");
           req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
          req.onreadystatechange = function () {
            if (this.readyState === 4) {
            req.onreadystatechange = null;
            if (this.status === 200) {
                //debugger;
                var results = JSON.parse(this.response);
                data = results.value;
             
               
                     
            } else {
                Xrm.Utility.alertDialog(this.statusText);
            }
           }
        };
       req.send();
			   
			   
			   
		      
		           return data;
		      
			   
		   }

		   function getServerUrl() {///<summary>
		       /// Private function used to establish the path to the SOAP endpoint based on context
		       /// provided by the Xrm.Page object or the context object returned by the GlobalContext object.
		       ///</summary>
		       //var url = parent.Xrm.Page.context.getServerUrl();
		       var url = null;
		       try {
		           url = parent.Xrm.Page.context.getClientUrl();
		       }
		       catch (ex) {
		           url = parent.Xrm.Page.context.getClientUrl();
		       }
		       if (url.match(/\/$/)) {
		           url = url.substring(0, url.length - 1);
		       }
		       var locationhref = location.href;
		       if (locationhref.indexOf(url) == -1) {
		           var serverIndex = url.lastIndexOf("/");

		           var serverUrl = url.substring(0, serverIndex);
		           url = url.replace(serverUrl, locationhref.substring(0, locationhref.indexOf(url.substring(serverIndex))));
		       }
		       return url;
		   }
		   function _getError(faultXml) {
		       ///<summary>
		       /// Parses the WCF fault returned in the event of an error.
		       ///</summary>
		       ///<param name="faultXml" Type="XML">
		       /// The responseXML property of the XMLHttpRequest response.
		       ///</param>
		       var errorMessage = "Unknown Error (Unable to parse the fault)";
		       if (typeof faultXml == "object") {
		           try {
		               var bodyNode = faultXml.firstChild.firstChild;
		               //Retrieve the fault node
		               for (var i = 0; i < bodyNode.childNodes.length; i++) {
		                   var node = bodyNode.childNodes[i];
		                   //NOTE: This comparison does not handle the case where the XML namespace changes
		                   if ("s:Fault" == node.nodeName) {
		                       for (var j = 0; j < node.childNodes.length; j++) {
		                           var faultStringNode = node.childNodes[j];
		                           if ("faultstring" == faultStringNode.nodeName) {
		                               errorMessage = faultStringNode.text;
		                               break;
		                           }
		                       }
		                       break;
		                   }
		               }
		           }
		           catch (e) { };
		       }
		       return  Xrm.Utility.alertDialog(errorMessage);
		   }
		   getSOAPWrapper = function (request) {
		       var SOAP = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Body>";
		       SOAP += request;
		       SOAP += "</soapenv:Body></soapenv:Envelope>";
		       return SOAP;
		   }
   function getRequestXML() {
            var request = '<Execute xmlns="http://schemas.microsoft.com/xrm/2011/Contracts/Services">';
            request += '<request xmlns:d4p1="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">';
            request += '<d4p1:Parameters xmlns:d5p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">';
            request += '<d4p1:KeyValuePairOfstringanyType>';
            request += '<d5p1:key>Query</d5p1:key>';
            request += '<d5p1:value i:type="d4p1:QueryExpression">';
            request += '<d4p1:ColumnSet>';
            request += '<d4p1:AllColumns>true</d4p1:AllColumns>';
            request += '<d4p1:Columns xmlns:d9p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />';
            request += '</d4p1:ColumnSet>';
            request += '<d4p1:Criteria>';
            request += '<d4p1:Conditions><d4p1:ConditionExpression><d4p1:AttributeName>mtc_name</d4p1:AttributeName><d4p1:Operator>In</d4p1:Operator>';
            request += '<d4p1:Values xmlns:d11p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><d11p1:anyType xmlns:d12p1="http://www.w3.org/2001/XMLSchema" i:type="d12p1:string">';
            request += 'MultiFileUploader</d11p1:anyType></d4p1:Values></d4p1:ConditionExpression></d4p1:Conditions><d4p1:FilterOperator>And</d4p1:FilterOperator><d4p1:Filters />';
            request += '</d4p1:Criteria><d4p1:Distinct>false</d4p1:Distinct>';
            request += '<d4p1:EntityName>mtc_licensing</d4p1:EntityName>';
            request += '<d4p1:LinkEntities /><d4p1:Orders />';
            request += '<d4p1:PageInfo i:nil="true" />';
            request += '<d4p1:NoLock>false</d4p1:NoLock>';
            request += '</d5p1:value>';
            request += '</d4p1:KeyValuePairOfstringanyType>';
            request += '</d4p1:Parameters>';
            request += '<d4p1:RequestId i:nil="true" /><d4p1:RequestName>RetrieveMultiple</d4p1:RequestName></request></Execute>';
            return request;
			
			
   }

    </script>
	 
<meta></head>
<body style="word-wrap: break-word;">


</body></html>