Пример #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());
        }
Пример #2
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);
            }
        }
Пример #3
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;
        }