Advertisement
BlackGuard26

Eindopdracht XML

Dec 11th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Zet Verbose aan
  2. $VerbosePreference = "continue"
  3.  
  4. #Start logfile
  5. Start-Transcript -Path "C:\BackUp\$CurrentDate _log.txt"
  6.  
  7. #Import functies
  8. Import-Module "C:\Powershell Files\functies.psm1" -DisableNameChecking
  9.  
  10. #Import XML
  11. $data = [Xml](Get-Content("C:\Powershell Files\14 CSWINPS XML Wijzigingen v1.0.xml"))
  12.  
  13. #Vars
  14. $TempData = $null
  15. $CurrentDate = Get-Date -format HHmm_yyyyMMdd
  16.  
  17. #Controleer of XML is ingeladen
  18. if(!$data)
  19. {
  20.     Write-Warning "XML bestand is niet beschikbaar!"
  21. }
  22.  
  23. #Meldt verbose dingen
  24. Write-Verbose "Imported functies"
  25. Write-Verbose "Imported XML"
  26.  
  27. try
  28. {
  29.     #Voer handelingen uit voor alle klanten in XML wijzigen
  30.     foreach($item in $data.klantadministratie.wijzigen.klant)
  31.     {
  32.         $nummer = $item.nummer
  33.         #Voer handeling uit voor alle onderdelen van een klant
  34.         foreach($i in $item.ChildNodes)
  35.         {
  36.             #Geef tempData mee als deze al een waarde heeft
  37.             if(!$TempData)
  38.             {
  39.                 $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer
  40.             }
  41.             else
  42.             {
  43.                 $TempData = Wijzig-KolomVoorKlantnummers -Kolom $i.Name -Inhoud $i.'#text' -Klantnummer $item.nummer -KlantAdm $TempData
  44.             }
  45.         }
  46.         Write-Verbose "Wijzigingen doorgevoerd voor klantnummer $nummer"
  47.     }
  48.  
  49.     #Voer handelingen uit voor alle klanten in XML verwijderen
  50.     foreach($item in $data.klantadministratie.verwijderen.klant)
  51.     {
  52.         $nummer = $item.nummer
  53.         #Geef tempData mee als deze al een waarde heeft
  54.         if(!$TempData)
  55.         {
  56.             $TempData = Verwijder-Klanten -Klantnummer $item.nummer
  57.         }
  58.         else
  59.         {
  60.             $TempData = Verwijder-Klanten -KlantAdm $TempData -Klantnummer $item.nummer
  61.         }
  62.         Write-Verbose "Klant met klantnummer $nummer is verwijderd"
  63.     }
  64.  
  65.     #Voer handelingen uit voor alle klanten in XML toevoegen
  66.     foreach($item in $data.klantadministratie.toevoegen.klant)
  67.     {
  68.         $nummer = $item.nummer
  69.         #Geef tempData mee als deze al een waarde heeft
  70.         #Voer eerst het klantnummer in
  71.         if(!$TempData)
  72.         {
  73.             $TempData = Toevoegen-Klant -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
  74.         }
  75.         else
  76.         {
  77.             $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom "Klantnummer" -Inhoud $item.nummer
  78.         }
  79.  
  80.         #Voer alle andere onderdelelen van een specifieke klant in
  81.         foreach($i in $item.ChildNodes)
  82.         {
  83.             $TempData = Toevoegen-Klant -KlantAdm $TempData -Klantnummer $item.nummer -Kolom $i.Name -Inhoud $i.'#text'
  84.         }
  85.         Write-Verbose "Klant met klantnummer $nummer is toegevoegd"
  86.     }
  87.  
  88.     #Exporteer de var met alle gewijzigde waarde
  89.     $TempData | Export-Csv -Path ("C:\BackUp\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
  90.     Write-Verbose "Data is geëxporteerd"
  91. }
  92. Catch
  93. {
  94.     Write-Error $_.Exception.Message
  95.     Write-Verbose "Vervang gewijzigde data voor backup data"
  96.     Import-Csv "C:\Powershell Files\13 CSWINPS ZorgverzekerdenData_v1.0.csv" -Delimiter ";" | Export-Csv -Path ("C:\BackUp\"+ $CurrentDate +"_Data.csv") -Delimiter ";" -NoTypeInformation
  97.     Write-Verbose "Backup data is geëxporteerd"
  98. }
  99. finally
  100. {
  101.     Stop-Transcript
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement