Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Zet Verbose aan
- $VerbosePreference = "continue"
- #Maak folders als deze niet bestaan
- $FolderDate = Get-Date -format MMMM-yyyy
- $LogDir = "C:\Backup\Log\"+ $FolderDate
- $FileDir = "C:\BackUp\File\"+ $FolderDate
- if(!(Test-Path -Path $LogDir ))
- {
- New-Item -ItemType Directory -Path $LogDir
- }
- if(!(Test-Path -Path $FileDir))
- {
- New-Item -ItemType Directory -Path $FileDir
- }
- #Start logfile
- Start-Transcript -Path ("C:\BackUp\Log\"+ $FolderDate +"\"+ $CurrentDate +"_log.txt")
- #Import functies
- Import-Module "C:\Powershell Files\functies.psm1" -DisableNameChecking -Force
- #Import XML
- $data = [Xml](Get-Content("C:\Powershell Files\14 CSWINPS XML Wijzigingen v1.0.xml"))
- #Vars
- $TempData = $null
- $CurrentDate = Get-Date -format HHmm_yyyyMMdd
- #Kijk hoeveel handelingen er gedaan moeten worden
- [int]$TotaalDoen = 1
- foreach($item in $data.klantadministratie.wijzigen.klant)
- {
- foreach($i in $item.ChildNodes){ $TotaalDoen++ }
- }
- foreach($item in $data.klantadministratie.verwijderen.klant){ $TotaalDoen++ }
- foreach($item in $data.klantadministratie.toevoegen.klant)
- {
- $TotaalDoen++
- foreach($i in $item.ChildNodes){ $TotaalDoen++ }
- }
- $TeDoen = $TotaalDoen
- #Comprimeer mappen indien nodig
- Check-Comprimeren -LogDir "C:\BackUp\Log"
- $TeDoen--
- #Werk Progressbar bij
- $percentage = (($TotaalDoen - $TeDoen) / $TotaalDoen)*100
- Write-Progress -Activity "Uitvoeren XML bestand" -PercentComplete $percentage
- #Controleer of XML is ingeladen
- if(!$data)
- {
- Write-Warning "XML bestand is niet beschikbaar!"
- }
- #Meldt verbose dingen
- Write-Verbose "Imported functies"
- Write-Verbose "Imported XML"
- try
- {
- #Voer handelingen uit voor alle klanten in XML wijzigen
- foreach($item in $data.klantadministratie.wijzigen.klant)
- {
- $nummer = $item.nummer
- #Voer handeling uit voor alle onderdelen van een klant
- foreach($i in $item.ChildNodes)
- {
- #Geef tempData mee als deze al een waarde heeft
- if(!$TempData)
- {
- $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer
- }
- else
- {
- $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer -KlantAdm $TempData
- }
- $TeDoen--
- $percentage = (($TotaalDoen - $TeDoen) / $TotaalDoen)*100
- Write-Progress -Activity "Uitvoeren XML bestand" -PercentComplete $percentage
- }
- Write-Verbose "Wijzigingen doorgevoerd voor klantnummer $nummer"
- }
- #Voer handelingen uit voor alle klanten in XML verwijderen
- foreach($item in $data.klantadministratie.verwijderen.klant)
- {
- $nummer = $item.nummer
- #Geef tempData mee als deze al een waarde heeft
- if(!$TempData)
- {
- $TempData = Verwijder-Klanten -Klantnummer $item.nummer
- }
- else
- {
- $TempData = Verwijder-Klanten -KlantAdm $TempData -Klantnummer $item.nummer
- }
- Write-Verbose "Klant met klantnummer $nummer is verwijderd"
- $TeDoen--
- $percentage = (($TotaalDoen - $TeDoen) / $TotaalDoen)*100
- Write-Progress -Activity "Uitvoeren XML bestand" -PercentComplete $percentage
- }
- #Voer handelingen uit voor alle klanten in XML toevoegen
- foreach($item in $data.klantadministratie.toevoegen.klant)
- {
- $nummer = $item.nummer
- #Geef tempData mee als deze al een waarde heeft
- #Voer eerst het klantnummer in
- if(!$TempData)
- {
- $TempData = Toevoegen-Klant -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
- }
- else
- {
- $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
- }
- $TeDoen--
- $percentage = (($TotaalDoen - $TeDoen) / $TotaalDoen)*100
- Write-Progress -Activity "Uitvoeren XML bestand" -PercentComplete $percentage
- #Voer alle andere onderdelelen van een specifieke klant in
- foreach($i in $item.ChildNodes)
- {
- $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom $i.Name -Inhoud $i.'#text'
- $TeDoen--
- $percentage = (($TotaalDoen - $TeDoen) / $TotaalDoen)*100
- Write-Progress -Activity "Uitvoeren XML bestand" -PercentComplete $percentage
- }
- Write-Verbose "Klant met klantnummer $nummer is toegevoegd"
- }
- #Exporteer de var met alle gewijzigde waarde
- $TempData | Export-Csv -Path ("C:\BackUp\File\"+ $FolderDate +"\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
- Write-Verbose "Data is geƫxporteerd"
- }
- Catch
- {
- Write-Error $_.Exception.Message
- Write-Verbose "Vervang gewijzigde data voor backup data"
- #Plaats backup van CSV terug
- Import-Csv "C:\Powershell Files\13 CSWINPS ZorgverzekerdenData_v1.0.csv" -Delimiter ";" | Export-Csv -Path ("C:\BackUp\File\"+ $FolderDate +"\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
- Write-Verbose "Backup data is geƫxporteerd"
- }
- finally
- {
- Stop-Transcript
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement