Skip to content

Commit

Permalink
PG-1260
Browse files Browse the repository at this point in the history
  -> moved LinkErpMaterial functionalities from ErpTabs.Material module into according Item Tabs
  • Loading branch information
coolOrange-Public committed Nov 30, 2022
1 parent d9492fe commit 61c1539
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 58 deletions.
2 changes: 1 addition & 1 deletion Files/powerEvents/Events/TransferERPItemTab.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
<Label Content="Number" Grid.Row="0" Grid.Column="0" />
<TextBox Text="{Binding Number}" Grid.Row="0" Grid.Column="1" IsReadOnly="True" />
<Label Content="Description" Grid.Column="0" Grid.Row="1" />
<TextBox Text="{Binding Description}" Grid.Column="1" Grid.Row="1" />
<TextBox x:Name="Description" Text="{Binding Description}" Grid.Column="1" Grid.Row="1" />

<Label Content="Blocked" Grid.Column="0" Grid.Row="2" />
<CheckBox IsChecked="{Binding IsBlocked}" Grid.Column="1" Grid.Row="2" IsEnabled="False" />
Expand Down
21 changes: 20 additions & 1 deletion Files/powerEvents/Events/TransferERPItemViaFileTab.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,26 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'File' -Action {
$erpItemTab_LinkMaterialButton.Add_Click({
param($Sender, $EventArgs)

LinkErpMaterial -ErpItemTab $erpItemTab_control
$foundErpMaterial = OpenErpSearchWindow
if (-not $foundErpMaterial) {
return
}
#TODO: Rename "Part Number" on a german system to "Teilenummer"
$existingEntities = Get-VaultFiles -Properties @{"Part Number" = $foundErpMaterial.Number }
if ($existingEntities) {
$existingEntities = $existingEntities | Where-Object { $_.MasterId -ne $selectedFile.MasterId }
$message = ""
if ($existingEntities) {
$fileNames = $existingEntities._FullPath -join '`n'
$message = "The ERP item $($foundErpMaterial.Number) is already assigned to `n$($fileNames).`n"
}
}

$answer = ShowMessageBox -Message ($message + "Do you really want to link the item '$($foundErpMaterial.Number)'?") -Title "powerGate ERP - Link Item" -Button "YesNo" -Icon "Question"
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) {
SetEntityProperties -erpMaterial $foundErpMaterial -vaultEntity $selectedFile
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
}
})

$materialTypes_combobox.Add_SelectionChanged({
Expand Down
18 changes: 17 additions & 1 deletion Files/powerEvents/Events/TransferERPItemViaItemTab.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,23 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'Item' -Action {
$erpItemTab_LinkMaterialButton.Add_Click({
param($Sender, $EventArgs)

LinkErpMaterial -ErpItemTab $erpItemTab_control
$foundErpMaterial = OpenErpSearchWindow
if (-not $foundErpMaterial) {
return
}
$existingEntity = Get-VaultItem -Number $foundErpMaterial.Number
if ($existingEntity) {
if ($existingEntity.MasterId -ne $selectedItem.MasterId) {
$null = ShowMessageBox -Message "The ERP item $($foundErpMaterial.Number) cannot be assigned!`nAn item with an item number $($selectedItem._Number) already exists." -Button "Ok" -Icon "Warning"
return
}
}

$answer = ShowMessageBox -Message ($message + "Do you really want to link the item '$($foundErpMaterial.Number)'?") -Title "powerGate ERP - Link Item" -Button "YesNo" -Icon "Question"
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) {
SetEntityProperties -erpMaterial $foundErpMaterial -vaultEntity $selectedItem
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
}
})

$materialTypes_combobox.Add_SelectionChanged({
Expand Down
55 changes: 0 additions & 55 deletions Files/powerEvents/Modules/ErpTabs.Material.psm1
Original file line number Diff line number Diff line change
@@ -1,55 +0,0 @@
function CanCreateOrUpdateErpMaterial {
param(
$erpMaterial
)

#TODO: Setup obligatory fields that need to be filled out to activate the 'Create' button
if ($null -ne $erpMaterial.Type -and $erpMaterial.Type -ne "") {
$type = $true
}
if ($null -ne $erpMaterial.Description -and $erpMaterial.Description -ne "") {
$description = $true
}
return $type -and $description
}

function LinkErpMaterial {
param(
$ErpItemTab
)

$erpMaterial = OpenErpSearchWindow
if (-not $erpMaterial) {
return
}

$vaultEntity = $ErpItemTab.DataContext.VaultEntity
if ($vaultEntity._EntityTypeID -eq "ITEM") {
$existingEntity = Get-VaultItem -Number $erpMaterial.Number
if ($existingEntity) {
if ($existingEntity.MasterId -ne $vaultEntity.MasterId) {
$null = ShowMessageBox -Message "The ERP item $($erpMaterial.Number) cannot be assigned!`nAn item with an item number $($existingEntity._Number) already exists." -Button "Ok" -Icon "Warning"
return
}
}
}
elseif ($vaultEntity._EntityTypeID -eq "FILE") {
#TODO: Rename "Part Number" on a german system to "Teilenummer"
$existingEntities = Get-VaultFiles -Properties @{"Part Number" = $erpMaterial.Number }
if ($existingEntities) {
$existingEntities = $existingEntities | Where-Object { $_.MasterId -ne $vaultEntity.MasterId }
$message = ""
if ($existingEntities) {
$fileNames = $existingEntities._FullPath -join '`n'
$message = "The ERP item $($erpMaterial.Number) is already assigned to `n$($fileNames).`n"
}
}
}

$answer = ShowMessageBox -Message ($message + "Do you really want to link the item '$($erpMaterial.Number)'?") -Title "powerGate ERP - Link Item" -Button "YesNo" -Icon "Question"
if ($answer -eq [System.Windows.Forms.DialogResult]::Yes) {
SetEntityProperties -erpMaterial $erpMaterial -vaultEntity $vaultEntity
$ErpItemTab.DataContext.ErpEntity = $erpMaterial
[System.Windows.Forms.SendKeys]::SendWait("{F5}")
}
}

0 comments on commit 61c1539

Please sign in to comment.