Esempio n. 1
0
        public string Format(string xml, dynamic data, OdpiApp app)
        {
            var sb = new StringBuilder();

            foreach (var conf in app.Configs)
            {
                conf.BuildFromData(data);
                sb.Append(conf.BuildSettingsString());
            }

            return(string.Format(xml, sb.ToString(), sb.ToString()));
        }
Esempio n. 2
0
        private static object BuildCscfg(dynamic data, string dir, OdpiApp app)
        {
            var dirName = CloudBackedStore.RootDir + "\\" + dir + "\\Temp\\" + app.Name;

            CreateIfNotExists(dirName);

            var fileName = string.Format("{0}\\ServiceConfiguration.cscfg", dirName);
            // create a writer and open the file
            TextWriter tw = new StreamWriter(fileName);

            // write a line of text to the file
            var templateFile = CloudBackedStore.RootDir + ComponetDir + "\\" + app.ConfName;
            var xml          = File.ReadAllText(templateFile);

            var sb = new StringBuilder();

            foreach (var conf in app.Configs)
            {
                conf.BuildFromData(data);
                sb.Append(conf.BuildSettingsString());
            }


            if (app.CustomConfigWriter == null)
            {
                string tmp = xml.Replace("{0}", "@_(0)_@");
                tmp = tmp.Replace("}", "}}").Replace("{", "{{");
                xml = tmp.Replace("@_(0)_@", "{0}");
                tw.WriteLine(string.Format(xml, sb.ToString()));
            }
            else
            {
                tw.WriteLine(app.CustomConfigWriter.Format(xml, data, app));
            }


            // close the stream
            tw.Close();

            return(fileName);
        }
Esempio n. 3
0
        private void putMapFilesInStorage(dynamic data, OdpiApp app)
        {
            var creds = string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1}", data.storagename, data.storagekey);
            CloudStorageAccount sa            = CloudStorageAccount.Parse(creds);
            CloudBlobClient     bc            = sa.CreateCloudBlobClient();
            CloudBlobContainer  blobContainer = bc.GetContainerReference("mapfiles");

            blobContainer.CreateIfNotExist();
            BlobContainerPermissions permissions = blobContainer.GetPermissions();

            permissions.PublicAccess = BlobContainerPublicAccessType.Container;
            blobContainer.SetPermissions(permissions);

            foreach (var file in app.RequiredFiles.Where(f => f.EndsWith("xml") || f.EndsWith("mapx")))
            {
                if (file.EndsWith("mapx"))
                {
                    MoveMap(file, data);
                }
                var blob = blobContainer.GetBlockBlobReference(file);
                blob.UploadFile(CloudBackedStore.RootDir + "\\" + PackageBuilder.ComponetDir + "\\" + file);
            }
        }