From 89640f1e9f26c6b27b834bc535683808eb20c9b8 Mon Sep 17 00:00:00 2001 From: Tomasz Kostrzewa Date: Tue, 1 Apr 2025 22:56:21 +0200 Subject: [PATCH] new file: menu_example/menu_example.ps1 --- menu_example/menu_example.ps1 | 180 ++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 menu_example/menu_example.ps1 diff --git a/menu_example/menu_example.ps1 b/menu_example/menu_example.ps1 new file mode 100644 index 0000000..757dd79 --- /dev/null +++ b/menu_example/menu_example.ps1 @@ -0,0 +1,180 @@ +# toko +<# +Opis +#> + +# zmienne +$path_main = "C:\scripts\todolista" +$path_csv = "$($path_main)\todolista.csv" +$path_log = "$($path_main)\todolista.log" + +$systemy = @( + "System 01", + "System 02", + "System 03", + "System 04" +) +$priorytety = @( + 0,1,2,3 +) + +$tmp_task = [PSCustomObject]@{ + id = $null + data_utworzenia = $null + system = $null + rfc_jira = $null + opis = $null + komentarz = $null + priorytet = $null + przypisano = $null + przewidziane_zamkniecie = $null + data_modyfikacji = $null + data_zamkniecia = $null + czas_trwania = $null + utworzony_przez = $null + modyfikowany_przez = $null + zakonczony_przez = $null +} + + +$menu = @( + "1. Wyświetl zadania", + "2. Dodaj zadanie", + "3. Wyświetl wszystkie zadania", + "Q. Zakończ skrypt" +) +$menu_01 = @( + "1. Wyświetl zadania ->" + " 1. Modyfikuj zadanie", + " 2. Zakończ zadanie", + " B. Powrót poziom wyżej" +) +$menu_02 = @( + "2. Dodaj zadanie ->" + " 1. Dodaj kolejne" + " B. Powrót" +) +$menu_03 = @( + "3. Wyświetl wszystkie zadania ->" + " B. Powrót" +) + +# funckje +function main-menu { + do { + Clear-Host + $menu + $choice = Read-Host "Wybierz opcję" + switch ($choice) { + 1 { + Get-zadania + } + 2 { + Add-zadania + } + 3 { + Get-WszystkieZadania + } + "Q" { + "Q. Zakończ skrypt ->" + " Zamykam..." + Start-Sleep 1 + exit + } + Default { + Write-Host "Wybrano błędną opcję..." + Start-Sleep 1 + } + } + } until ( + $choice -in (1,2,3,"Q") + ) +} +function Get-zadania { + do { + Clear-Host + "Tutaj wyświetlanie zadań" + $menu_01 + $choice_01 = Read-Host "Wybierz opcję" + switch ($choice_01) { + 1 { Modify-Zadania } + 2 { Close-Zadania } + "B" { main-menu } + Default { Write-Host "Wybierz poprawną opcję"; Start-Sleep 1 } + } + } until ( + $choice_01 -in (1,2,"B") + ) +} +function Add-zadania { + do { + Clear-Host + "Tutaj dodajemy zadanie" + $menu_02 + $choice_02 = Read-Host "Wybierz opcję" + switch ($choice_02) { + 1 { Add-zadania } + "B" { main-menu } + Default { Write-Host "Wybierz poprawną opcję"; Start-Sleep 1 } + } + } until ( + $choice_02 -in (1,"B") + ) +} +function Get-WszystkieZadania { + do { + Clear-Host + "Tutaj wyświetlanie wszystkich zadań" + $menu_03 + $choice_03 = Read-Host "Wybierz opcję" + switch ($choice_03) { + "B" { main-menu } + Default { Write-Host "Wybierz poprawną opcję"; Start-Sleep 1 } + } + } until ( + $choice_03 -in ("B") + ) +} +function Modify-Zadania { + $choice_modify = Read-Host "Podaj ID do modyfikacji" + "Tutaj funkcja od modyfikacji wskazanego ID" + Start-Sleep 1 + Get-zadania +} +function Close-Zadania { + $choice_modify = Read-Host "Podaj ID do zamknięcia" + "Tutaj funkcja od zamknięcia wskazanego ID" + Start-Sleep 1 + Get-zadania +} + +function przewidziane_zamkniecie { + param ( + [int]$priorytet + ) + $tmp = ((get-date $tmp_task.data_utworzenia).AddDays($priorytet * 7)).ToString("yyyy-MM-dd") + return $tmp +} + +# skrypt + +if (-not (Test-Path -path $path_csv)) { + $tmp_task.id = 1 + $tmp_task.data_utworzenia = (Get-Date).ToString("yyyy-MM-dd") + $tmp_task.system = $systemy[0] + $tmp_task.rfc_jira = "123456" + $tmp_task.opis = "Przykładowy opis" + $tmp_task.komentarz = "Przykładowy komentarz" + $tmp_task.priorytet = $priorytety[0] + $tmp_task.przypisano = $env:USERNAME + $tmp_task.przewidziane_zamkniecie = przewidziane_zamkniecie + $tmp_task.data_modyfikacji = (Get-Date).ToString("yyyy-MM-dd") + $tmp_task.data_zamkniecia = (Get-Date).ToString("yyyy-MM-dd") + $tmp_task.czas_trwania = 0 + $tmp_task.utworzony_przez = $env:USERNAME + $tmp_task.modyfikowany_przez = $env:USERNAME + $tmp_task.zakonczony_przez = $env:USERNAME + $tmp_task | Export-Csv -Path $path_csv -NoTypeInformation -Encoding utf8 -Force +} + +main-menu \ No newline at end of file