Initial commit
This commit is contained in:
43
Functions/Merge-Templates.ps1
Normal file
43
Functions/Merge-Templates.ps1
Normal file
@@ -0,0 +1,43 @@
|
||||
function Merge-Templates {
|
||||
$Errors = @()
|
||||
[System.Collections.Hashtable] $ConfigurationData = @{}
|
||||
#[System.Collections.Specialized.OrderedDictionary] $ConfigurationData = @{}
|
||||
|
||||
for ($i = 0; $i -lt $selectionList.Items.Count; $i++) {
|
||||
$item = $selectionList.Items[$i]
|
||||
$file = $item.FullName
|
||||
if (-not (Test-Path $file)) { $Errors += "Datei nicht gefunden: $file"; continue }
|
||||
|
||||
try {
|
||||
try {
|
||||
$TemplateData = Import-OrderedPowerShellDataFile -Path $file -ErrorAction Stop
|
||||
}
|
||||
catch {
|
||||
$Errors += "Datei konnte nicht importiert werden"
|
||||
}
|
||||
|
||||
$ConfigurationData = Merge-ConfigurationData -Template $ConfigurationData -Deployment $TemplateData
|
||||
}
|
||||
catch {
|
||||
$Errors += "Fehler beim Verarbeiten $($file): $($_.Exception.Message)"
|
||||
}
|
||||
}
|
||||
|
||||
if ($null -ne $ConfigurationData) {
|
||||
Update-TreeView -ConfigurationData $([TemplateBuilder]::new($ConfigurationData).ResolveDeploymentDataVariables())
|
||||
$statusBar.SetText("Status", "Merge erfolgreich: $($selectionList.Items.Count) Dateien")
|
||||
}
|
||||
else {
|
||||
|
||||
Update-TreeView -ConfigurationData $ConfigurationData
|
||||
$statusLabel.Text = "Merge ergab kein Ergebnis"
|
||||
}
|
||||
|
||||
if ($Errors.Count -gt 0) {
|
||||
[System.Windows.Forms.MessageBox]::Show(($Errors -join "`r`n"), "Merge Warnungen", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Warning)
|
||||
return
|
||||
}
|
||||
else {
|
||||
return $ConfigurationData
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user