public string Format(string xml, dynamic data, OdiApp 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()); }
private static object BuildCscfg(dynamic data, string dir, OdiApp 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) tw.WriteLine(string.Format(xml, sb.ToString())); else tw.WriteLine(app.CustomConfigWriter.Format(xml, data, app)); // close the stream tw.Close(); return fileName; }
private void putMapFilesInStorage(dynamic data, OdiApp 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); } }