Skip to content

Commit

Permalink
PG-1260
Browse files Browse the repository at this point in the history
  -> meved Create & Update related functionalities from ErpTabs.Material module into according Item Tabs
  • Loading branch information
coolOrange-Public committed Nov 30, 2022
1 parent 3cc5bd2 commit d9492fe
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 88 deletions.
49 changes: 34 additions & 15 deletions Files/powerEvents/Events/TransferERPItemViaFileTab.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -76,40 +76,59 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'File' -Action {
if (-not $erpMaterial) {
$statusMessage_label.Content = 'ERP: Create Material'

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Create ERP Item'

$erpItemTab_GoToMaterialButton.IsEnabled = $false

$erpMaterial = NewErpMaterial
$erpMaterial = PrepareErpMaterialForCreate -erpMaterial $erpMaterial -vaultEntity $selectedFile

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Create ERP Item'
$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

$createdErpMaterial = Add-ErpObject -EntitySet "Materials" -Properties $erpMaterial
if ($? -eq $false) {
return
}

$null = ShowMessageBox -Message "$($createdErpMaterial.Number) successfully created" -Title "powerGate ERP - Create Material" -Icon "Information"
SetEntityProperties -erpMaterial $createdErpMaterial -vaultEntity $selectedFile

[System.Windows.Forms.SendKeys]::SendWait("{F5}")
})

$erpItemTab_GoToMaterialButton.IsEnabled = $false
}
else {
$statusMessage_label.Content = 'ERP: View/Update Material'

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Update ERP Item'
$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

$updatedErpMaterial = Update-ERPObject -EntitySet "Materials" -Key $erpMaterial._Keys -Properties $erpMaterial._Properties
if ($? -eq $false) {
return
}
$null = ShowMessageBox -Message "$($updatedErpMaterial.Number) successfully updated" -Title "powerGate ERP - Update Material" -Icon "Information"
})

$erpItemTab_control.FindName('ModifiedDateLabel').Visibility = 'Visible'
$erpItemTab_control.FindName('ModifiedDateTextBox').Visibility = 'Visible'

$erpItemTab_GoToMaterialButton.Add_Click({
param($Sender)

GoToErpMaterial -MaterialTabContext $erpMaterial
if ($erpMaterial.Link) {
Start-Process -FilePath $erpMaterial.Link
}
})

$unitOfMeasure_combobox.IsEnabled = $false
$materialTypes_combobox.IsEnabled = $false
}
$erpItemTab_control.DataContext = $erpMaterial

$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

CreateOrUpdateErpMaterial -MaterialTabContext $erpMaterial
})

$entityUnlocked = $selectedFile._VaultStatus.Status.LockState -ne "Locked" -and $selectedFile.IsCheckedOut -ne $true
$erpItemTab_LinkMaterialButton = $erpItemTab_control.FindName('LinkMaterialButton')
$erpItemTab_LinkMaterialButton.IsEnabled = (IsEntityUnlocked -Entity $selectedFile)
$erpItemTab_LinkMaterialButton.IsEnabled = $entityUnlocked
$erpItemTab_LinkMaterialButton.Add_Click({
param($Sender, $EventArgs)

Expand All @@ -119,16 +138,16 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'File' -Action {
$materialTypes_combobox.Add_SelectionChanged({
param($Sender)

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
})

$erpItemTab_Description = $erpItemTab_control.FindName('Description')
$erpItemTab_Description.Add_TextChanged({
param($Sender)

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
})

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
return $erpItemTab_control
}
49 changes: 35 additions & 14 deletions Files/powerEvents/Events/TransferERPItemViaItemTab.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -75,40 +75,61 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'Item' -Action {
if (-not $erpMaterial) {
$statusMessage_label.Content = 'ERP: Create Material'

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Create ERP Item'

$erpItemTab_GoToMaterialButton.IsEnabled = $false

$erpMaterial = NewErpMaterial
$erpMaterial = PrepareErpMaterialForCreate -erpMaterial $erpMaterial -vaultEntity $selectedItem

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Create ERP Item'
$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

$createdErpMaterial = Add-ErpObject -EntitySet "Materials" -Properties $erpMaterial
if ($? -eq $false) {
return
}

$null = ShowMessageBox -Message "$($createdErpMaterial.Number) successfully created" -Title "powerGate ERP - Create Material" -Icon "Information"
SetEntityProperties -erpMaterial $createdErpMaterial -vaultEntity $selectedItem

[System.Windows.Forms.SendKeys]::SendWait("{F5}")
})

$erpItemTab_GoToMaterialButton.IsEnabled = $false
}
else {
$statusMessage_label.Content = 'ERP: View/Update Material'

$erpItemTab_CreateOrUpdateMaterialButton.Content = 'Update ERP Item'
$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

$updatedErpMaterial = Update-ERPObject -EntitySet "Materials" -Key $erpMaterial._Keys -Properties $erpMaterial._Properties
if ($? -eq $false) {
return
}
$null = ShowMessageBox -Message "$($updatedErpMaterial.Number) successfully updated" -Title "powerGate ERP - Update Material" -Icon "Information"
})

$erpItemTab_control.FindName('ModifiedDateLabel').Visibility = 'Visible'
$erpItemTab_control.FindName('ModifiedDateTextBox').Visibility = 'Visible'

$erpItemTab_GoToMaterialButton.Add_Click({
param($Sender)

GoToErpMaterial -MaterialTabContext $erpMaterial
if ($erpMaterial.Link) {
Start-Process -FilePath $erpMaterial.Link
}
})

$unitOfMeasure_combobox.IsEnabled = $false
$materialTypes_combobox.IsEnabled = $false
}
$erpItemTab_control.DataContext = $erpMaterial

$erpItemTab_CreateOrUpdateMaterialButton.Add_Click({
param($Sender)

CreateOrUpdateErpMaterial -MaterialTabContext $erpMaterial
})
$item = $vault.ItemService.GetLatestItemByItemMasterId($selectedItem.MasterId)
$entityUnlocked =$item.Locked -ne $true

$erpItemTab_LinkMaterialButton = $erpItemTab_control.FindName('LinkMaterialButton')
$erpItemTab_LinkMaterialButton.IsEnabled = (IsEntityUnlocked -Entity $selectedItem)
$erpItemTab_LinkMaterialButton.IsEnabled = $item.Locked -ne $true
$erpItemTab_LinkMaterialButton.Add_Click({
param($Sender, $EventArgs)

Expand All @@ -118,16 +139,16 @@ Add-VaultTab -Name 'ERP Item' -EntityType 'Item' -Action {
$materialTypes_combobox.Add_SelectionChanged({
param($Sender)

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
})

$erpItemTab_Description = $erpItemTab_control.FindName('Description')
$erpItemTab_Description.Add_TextChanged({
param($Sender)

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
})

ValidateErpMaterialTab -ErpItemTab $erpItemTab_control
$erpItemTab_CreateOrUpdateMaterialButton.IsEnabled = $entityUnlocked -and (CanCreateOrUpdateErpMaterial $erpMaterial)
return $erpItemTab_control
}
62 changes: 3 additions & 59 deletions Files/powerEvents/Modules/ErpTabs.Material.psm1
Original file line number Diff line number Diff line change
@@ -1,72 +1,16 @@
function IsEntityUnlocked($Entity) {
if ($Entity._EntityTypeID -eq "ITEM") {
$item = $vault.ItemService.GetLatestItemByItemMasterId($Entity.MasterId)
$entityUnlocked = $item.Locked -ne $true
}
else {
$entityUnlocked = $Entity._VaultStatus.Status.LockState -ne "Locked" -and $Entity.IsCheckedOut -ne $true
}

return $entityUnlocked
}

function ValidateErpMaterialTab {
function CanCreateOrUpdateErpMaterial {
param(
$ErpItemTab
$erpMaterial
)

$erpMaterial = $ErpItemTab.DataContext.ErpEntity

if ($erpMaterial.Number) {
$entityUnlocked = $true
}
else {
$entityUnlocked = (IsEntityUnlocked -Entity $ErpItemTab.DataContext.VaultEntity)
}

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

$ErpItemTab.FindName("CreateOrUpdateMaterialButton").IsEnabled = $enabled
}

function CreateOrUpdateErpMaterial {
param($MaterialTabContext)

if($MaterialTabContext.IsCreate) {
$createdErpMaterial = Add-ErpObject -EntitySet "Materials" -Properties $MaterialTabContext.ErpEntity
if ($? -eq $false) {
return
}

$null = ShowMessageBox -Message "$($createdErpMaterial.Number) successfully created" -Title "powerGate ERP - Create Material" -Icon "Information"
SetEntityProperties -erpMaterial $createdErpMaterial -vaultEntity $MaterialTabContext.VaultEntity

[System.Windows.Forms.SendKeys]::SendWait("{F5}")

return
}

$updatedErpMaterial = Update-ERPObject -EntitySet "Materials" -Key $MaterialTabContext.ErpEntity._Keys -Properties $MaterialTabContext.ErpEntity._Properties
if ($? -eq $false) {
return
}
$null = ShowMessageBox -Message "$($updatedErpMaterial.Number) successfully updated" -Title "powerGate ERP - Update Material" -Icon "Information"
}

function GoToErpMaterial {
param($MaterialTabContext)

if ($MaterialTabContext.ErpEntity.Link) {
Start-Process -FilePath $MaterialTabContext.ErpEntity.Link
}
return $type -and $description
}

function LinkErpMaterial {
Expand Down

0 comments on commit d9492fe

Please sign in to comment.