Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.Utils
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Public Class ProductsVC
Inherits DevExpress.ExpressApp.ViewController
Dim _Selection As ArrayList
Dim _NoSelect As Boolean = False
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
Public Event DoWork()
Public Event FinalWork
Public Sub New()
MyBase.New()
_Selection = New ArrayList
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
#Region "Overrides"
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
If View.Id = "Products_ListView" Then
AddHandler View.SelectionChanged, AddressOf SelectionChanged
AddHandler Frame.GetController(Of DeleteObjectsViewController).DeleteAction.Executing, AddressOf Products_ListView_DeleteAction_Executing
End If
If View.Id = "Products_LookupListView" Then
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController).Active.SetItemValue("", False)
End If
If View.Id = "Products_Products_BusinessDirectory_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", False)
End If
If View.Id = "Products_ListView_EverUsed" Then
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
End If
If View.Id = "Products_ListView_Deleted" Then
If TryCast(View, ListView) IsNot Nothing Then
If TryCast(View, ListView).CollectionSource IsNot Nothing Then
If TryCast(View, ListView).CollectionSource.Collection IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection) IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection IsNot Nothing Then
If TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection) IsNot Nothing Then
TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection).SelectDeleted = True
End If
End If
End If
End If
End If
End If
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "Products_ListView" Then
RemoveHandler View.SelectionChanged, AddressOf SelectionChanged
End If
If View.Id = "Products_LookupListView" Then
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController).Active.SetItemValue("", True)
End If
If View.Id = "Products_Products_BusinessDirectory_ListView" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", True)
End If
End Sub
#End Region
Private Sub SelectionChanged(sender As Object, e As System.EventArgs)
If _NoSelect = False Then
_Selection.Clear()
For Each _Products As Products In View.SelectedObjects
_Selection.Add(_Products)
Next
End If
End Sub
Private Sub aModifyProductsParameters_CustomizePopupWindowParams(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aModifyProductsParameters.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ModifyProductsParameters As ModifyProductsParameters = _onew.CreateObject(Of ModifyProductsParameters)()
e.View = Application.CreateDetailView(_onew, _ModifyProductsParameters)
End Sub
'''
''' Módosítja a Products objektum adatait csoportosan
'''
'''
'''
Private Sub aModifyProductsParameters_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aModifyProductsParameters.Execute
Dim _ModifyProductsParameters As ModifyProductsParameters = TryCast(e.PopupWindow.View.SelectedObjects(0), ModifyProductsParameters)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
RaiseEvent InitWork(0, 1, View.SelectedObjects.Count)
For Each _Products As Products In _Selection
RaiseEvent DoWork()
If _ModifyProductsParameters.IsParameter_01 Then
_Products.Parameter_01 = _ModifyProductsParameters.Parameter_01
End If
If _ModifyProductsParameters.IsParameter_02 Then
_Products.Parameter_02 = _ModifyProductsParameters.Parameter_02
End If
If _ModifyProductsParameters.IsParameter_03 Then
_Products.Parameter_03 = _ModifyProductsParameters.Parameter_03
End If
If _ModifyProductsParameters.IsParameter_04 Then
_Products.Parameter_04 = _ModifyProductsParameters.Parameter_04
End If
If _ModifyProductsParameters.IsParameter_05 Then
_Products.Parameter_05 = _ModifyProductsParameters.Parameter_05
End If
If _ModifyProductsParameters.IsParameter_06 Then
_Products.Parameter_06 = _ModifyProductsParameters.Parameter_06
End If
If _ModifyProductsParameters.IsParameter_07 Then
_Products.Parameter_07 = _ModifyProductsParameters.Parameter_07
End If
If _ModifyProductsParameters.IsParameter_08 Then
_Products.Parameter_08 = _ModifyProductsParameters.Parameter_08
End If
If _ModifyProductsParameters.IsParameter_09 Then
_Products.Parameter_09 = _ModifyProductsParameters.Parameter_09
End If
If _ModifyProductsParameters.IsParameter_10 Then
_Products.Parameter_10 = _ModifyProductsParameters.Parameter_10
End If
If _ModifyProductsParameters.IsUnits Then
_Products.Units = _ocur.GetObjectByKey(Of Units)(_ModifyProductsParameters.Units.Oid)
End If
If _ModifyProductsParameters.IsVAT Then
_Products.VAT = _ocur.GetObjectByKey(Of VAT)(_ModifyProductsParameters.VAT.Oid)
End If
If _ModifyProductsParameters.IsCurrencyName Then
_Products.CurrencyName = _ocur.GetObjectByKey(Of CurrencyName)(_ModifyProductsParameters.CurrencyName.Oid)
End If
If _ModifyProductsParameters.IsCustomsTariffs Then
_Products.CustomsTariff = _ocur.GetObjectByKey(Of CustomsTariffs)(_ModifyProductsParameters.CustomsTariffs.Oid)
End If
If _ModifyProductsParameters.IsCountryFrom Then
_Products.CountryFrom = _ocur.GetObjectByKey(Of Country)(_ModifyProductsParameters.CountryFrom.Oid)
End If
If _ModifyProductsParameters.IsProductType Then
_Products.ProductType = _ModifyProductsParameters.ProductType
End If
If _ModifyProductsParameters.ProductsGroups IsNot Nothing Then
Dim _ProductsGroups As ProductsGroups = _ocur.GetObjectByKey(Of ProductsGroups)(_ModifyProductsParameters.ProductsGroups.Oid)
If _ProductsGroups IsNot Nothing Then
_Products.ProductGroups = _ProductsGroups
End If
End If
If _ModifyProductsParameters.IsCustomersOrder1 Then
Dim _RowIndex1Avilable As Boolean = False
For Each _CustomersOrderPriority In _Products.CustomersOrderPriority
If _CustomersOrderPriority.RowIndex = 1 Then
_RowIndex1Avilable = True
_CustomersOrderPriority.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder1.Oid)
Exit For
End If
Next
If _RowIndex1Avilable = False Then
Dim _CustomersOrderPriority_New As CustomersOrderPriority = _ocur.CreateObject(Of CustomersOrderPriority)()
_CustomersOrderPriority_New.RowIndex = 1
_CustomersOrderPriority_New.Products = _Products
_CustomersOrderPriority_New.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder1.Oid)
_CustomersOrderPriority_New.Save()
End If
End If
If _ModifyProductsParameters.IsCustomersOrder2 Then
Dim _RowIndex2Avilable As Boolean = False
For Each _CustomersOrderPriority In _Products.CustomersOrderPriority
If _CustomersOrderPriority.RowIndex = 2 Then
_RowIndex2Avilable = True
_CustomersOrderPriority.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder2.Oid)
Exit For
End If
Next
If _RowIndex2Avilable = False Then
Dim _CustomersOrderPriority_New As CustomersOrderPriority = _ocur.CreateObject(Of CustomersOrderPriority)()
_CustomersOrderPriority_New.RowIndex = 2
_CustomersOrderPriority_New.Products = _Products
_CustomersOrderPriority_New.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder2.Oid)
_CustomersOrderPriority_New.Save()
End If
End If
If _ModifyProductsParameters.IsCustomersOrder3 Then
Dim _RowIndex3Avilable As Boolean = False
For Each _CustomersOrderPriority In _Products.CustomersOrderPriority
If _CustomersOrderPriority.RowIndex = 3 Then
_RowIndex3Avilable = True
_CustomersOrderPriority.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder3.Oid)
Exit For
End If
Next
If _RowIndex3Avilable = False Then
Dim _CustomersOrderPriority_New As CustomersOrderPriority = _ocur.CreateObject(Of CustomersOrderPriority)()
_CustomersOrderPriority_New.RowIndex = 3
_CustomersOrderPriority_New.Products = _Products
_CustomersOrderPriority_New.CustomersOrder = _ocur.GetObjectByKey(Of CustomersOrder)(_ModifyProductsParameters.CustomersOrder3.Oid)
_CustomersOrderPriority_New.Save()
End If
End If
If _ModifyProductsParameters.IsListPriceHUF = True Then
_Products.ListPriceOutHUF = _Products.ListPriceOutHUF + (_Products.ListPriceOutHUF * (_ModifyProductsParameters.ListPricePercent / 100))
End If
If _ModifyProductsParameters.IsListPriceDEV = True Then
_Products.ListPriceOutDEV = _Products.ListPriceOutDEV + (_Products.ListPriceOutDEV * (_ModifyProductsParameters.ListPricePercent / 100))
End If
If _ModifyProductsParameters.IsListPriceRegenerate Then
Select Case _ModifyProductsParameters.PriceMode
Case ePriceMode.eDEVToHUF
_Products.ListPriceOutHUF = _Products.ListPriceOutDEV * _ModifyProductsParameters.CurrencyRate
Case (ePriceMode.eHUFToDEV)
_Products.ListPriceOutDEV = _Products.ListPriceOutHUF / _ModifyProductsParameters.CurrencyRate
End Select
End If
If _ModifyProductsParameters.IsProducer Then 'Gyártó
_Products.Producer = _ocur.GetObjectByKey(Of Customers)(_ModifyProductsParameters.Producer.Oid)
End If
If _ModifyProductsParameters.IsDecimalIn Then _Products.DecimalIn = _ModifyProductsParameters.DecimalIn
If _ModifyProductsParameters.IsDecimalOut Then _Products.DecimalOut = _ModifyProductsParameters.DecimalOut
If _ModifyProductsParameters.IsADRPackingUnit Then _Products.ADRPackingUnit = _ModifyProductsParameters.ADRPackingUnit
If _ModifyProductsParameters.CloneDocumentations Then
If _ModifyProductsParameters.ProductsSource IsNot Nothing Then
_ocur.Delete(_Products.ProductsDocumentations)
For Each _ProductsDocumentations As ProductsDocumentations In _ModifyProductsParameters.ProductsSource.ProductsDocumentations
_Products.ProductsDocumentations.Add(_ocur.GetObject(_ProductsDocumentations))
Next
Else
End If
End If
If _ModifyProductsParameters.CloneSentence Then
If _ModifyProductsParameters.ProductsSource IsNot Nothing Then
_ocur.Delete(_Products.ProductsSentence)
For Each _ProductsSentence As ProductsSentence In _ModifyProductsParameters.ProductsSource.ProductsSentence
_Products.ProductsSentence.Add(_ocur.GetObject(_ProductsSentence))
Next
Else
End If
End If
If _ModifyProductsParameters.CloneUNList Then
If _ModifyProductsParameters.ProductsSource IsNot Nothing Then
_ocur.Delete(_Products.ProductsUNList)
For Each _ProductsUNList As ProductsUNList In _ModifyProductsParameters.ProductsSource.ProductsUNList
_Products.ProductsUNList.Add(_ocur.GetObject(_ProductsUNList))
Next
Else
End If
If _Products.ProductsUNList.Count > 0 Then
_Products.UNNumber = _Products.ProductsUNList(0).UNList.ShortName
End If
End If
If _ModifyProductsParameters.IsPacketMode Then
_Products.PacketMode = _ocur.GetObject(_ModifyProductsParameters.PacketMode)
End If
_Products.Save()
Next
_ocur.CommitChanges()
RaiseEvent FinalWork()
End Sub
Private Sub aPrintSelectedProductsBarcode_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPrintSelectedProductsBarcode.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _ReportData As ReportData = _ocur.FindObject(Of ReportData)(CriteriaOperator.Parse("Name=?", "Termékek - etikett"))
If _ReportData Is Nothing Then Throw New Exception("*Nincs beállítva nyomtatvány!")
If View.SelectedObjects.Count = 0 Then Throw New Exception("*Egy sort ki kell jelölni, hogy a raktár azonosítható legyen!")
Dim _OidArray As New ArrayList
For Each _Products As Products In View.SelectedObjects
_OidArray.Add(_Products.Oid)
Next
Dim _InOperator As InOperator = New InOperator("Products.Oid", _OidArray)
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, _InOperator, True)
Catch ext As Exception
MsgBox(ext.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub aViewStorageMoveInfo_Products_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewStorageMoveInfo_Products.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _Products As Products = TryCast(View.SelectedObjects(0), Products)
Dim _StorageMoveInfo As StorageMoveInfo
If _Products IsNot Nothing Then
_StorageMoveInfo = _onew.CreateObject(Of StorageMoveInfo)()
_StorageMoveInfo.Products = _onew.GetObject(_Products)
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "StorageMoveInfo_DetailView", False, _StorageMoveInfo)
End If
End Sub
Private Sub aProductsBarcodeGenerator_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aProductsBarcodeGenerator.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _Products_Collection As New XPCollection(Of Products)(_uow, CriteriaOperator.Parse("IsNull(Barcode)=False AND Barcode!=''"))
_Products_Collection.Sorting.Add(New SortProperty("Barcode", DB.SortingDirection.Descending))
RaiseEvent InitWork(0, 1, View.SelectedObjects.Count)
Dim _StartIndex As Double
If _Products_Collection.Count = 0 Then
_StartIndex = 400000100001
Else
_StartIndex = Convert.ToDouble(Mid(_Products_Collection(0).Barcode, 1, 12)) + 1
End If
For Each _Products As Products In View.SelectedObjects
RaiseEvent DoWork()
If _Products.Barcode Is Nothing Then
_Products.Barcode = EAN13Generator((_StartIndex).ToString)
_StartIndex += 1
End If
Next
_uow.CommitChanges()
RaiseEvent FinalWork
Catch ex As Exception
End Try
End Sub
Private Sub aProductsDocumentations_ChangeGroup_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aProductsDocumentations_ChangeGroup.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = _onew.CreateObject(Of ChangeFileAttachment_PopUp)()
e.View = Application.CreateDetailView(_onew, "ChangeFileAttachment_PopUp_DetailView", True, _ChangeFileAttachment_PopUp)
e.View.Tag = e.Action.Id
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Hiba")
End Try
End Sub
Private Sub aProductsDocumentations_ChangeGroup_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aProductsDocumentations_ChangeGroup.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _ChangeFileAttachment_PopUp As ChangeFileAttachment_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ChangeFileAttachment_PopUp)
For Each _ProductsDocumentations As ProductsDocumentations In View.SelectedObjects
If _ChangeFileAttachment_PopUp.ChangeStatus = True Then
_ProductsDocumentations.Status = _ChangeFileAttachment_PopUp.Status
End If
If _ChangeFileAttachment_PopUp.ChangeRowGroup1 = True Then
_ProductsDocumentations.RowGroup1 = _ChangeFileAttachment_PopUp.RowGroup1
End If
If _ChangeFileAttachment_PopUp.ChangeRowGroup2 = True Then
_ProductsDocumentations.RowGroup2 = _ChangeFileAttachment_PopUp.RowGroup2
End If
Next
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Hiba")
End Try
End Sub
Private Sub aProductsDocumentations_Remove_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProductsDocumentations_Remove.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ListView As ListView = TryCast(View, ListView)
Dim _PropertyCollectionSource As PropertyCollectionSource = TryCast(_ListView.CollectionSource, PropertyCollectionSource)
Dim _Products As Products = TryCast(_PropertyCollectionSource.MasterObject, Products)
For Each _ProductsDocumentations As ProductsDocumentations In e.SelectedObjects
If _Products IsNot Nothing Then
_Products.ProductsDocumentations.Remove(_ProductsDocumentations)
End If
Next
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aProducts_Open_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProducts_Open.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _Products As Products = _onew.GetObject(TryCast(View.SelectedObjects(0), Products))
If _Products Is Nothing Then Throw New Exception("*Nem lehet azonosítani a terméket!")
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "Products_DetailView", True, _Products)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub Products_ListView_DeleteAction_Executing(sender As Object, e As CancelEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _Products As Products
'For Each _Products In View.SelectedObjects
' 'For Each _Object In _ocur.Session.CollectReferencingObjects(_Products)
' ' e.Cancel = True
' ' '// Ide kell vaami model szöveg ...
' 'Next
'Next
End Sub
Private Sub aProducts_CreateBusinessDirectory_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProducts_CreateBusinessDirectory.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
For Each _Products As Products In View.SelectedObjects
Dim _ProductsMasterBusinessDirectory As BusinessDirectory = Nothing
Dim _ProductGroupsMasterBusinessDirectory As BusinessDirectory = Nothing
If _Products.MasterBusinessDirectory Is Nothing Then
If _Products.ProductGroups IsNot Nothing Then
If _Products.ProductGroups.MasterBusinessDirectory IsNot Nothing Then
_ProductGroupsMasterBusinessDirectory = _Products.ProductGroups.MasterBusinessDirectory
Else
Dim _ProductsBaseBusinessDirectory As BusinessDirectory = _ocur.FindObject(Of BusinessDirectory)(CriteriaOperator.Parse("ShortName='Termékek' AND IsNull(BusinessDirectory_Parent)=True"))
If _ProductsBaseBusinessDirectory Is Nothing Then
_ProductsBaseBusinessDirectory = New BusinessDirectory(_ocur.Session)
With _ProductsBaseBusinessDirectory
.ShortName = "Termékek"
.BusinessDirectory_Parent = Nothing
End With
End If
_ProductGroupsMasterBusinessDirectory = New BusinessDirectory(_ocur.Session)
With _ProductGroupsMasterBusinessDirectory
.ShortName = _Products.ProductGroups.ShortName
.BusinessDirectory_Parent = _ProductsBaseBusinessDirectory
End With
_Products.ProductGroups.MasterBusinessDirectory = _ProductGroupsMasterBusinessDirectory
End If
_ProductsMasterBusinessDirectory = New BusinessDirectory(_ocur.Session)
With _ProductsMasterBusinessDirectory
.ShortName = _Products.ShortName
.BusinessDirectory_Parent = _ProductGroupsMasterBusinessDirectory
End With
End If
_Products.MasterBusinessDirectory = _ProductsMasterBusinessDirectory
End If
Next
_ocur.CommitChanges()
End Sub
Private Sub aProducts_GenerateNotUsedList_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProducts_GenerateNotUsedList.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _Products_Collection As New XPCollection(Of Products)(_ocur.Session)
RaiseEvent InitWork(1, 1, _Products_Collection.Count)
For Each _Products As Products In _Products_Collection
If Not _Products.IsStoragEverUsed Then
Dim _StorageInRows_Collection As New XPCollection(Of StorageInRows)(_ocur.Session, CriteriaOperator.Parse("Products=?", _Products))
If _StorageInRows_Collection.Count > 0 Then
_Products.IsStoragEverUsed = True
Else
Dim _OrderInRows_Collection As New XPCollection(Of OrderInRows)(_ocur.Session, CriteriaOperator.Parse("Products=?", _Products))
If _OrderInRows_Collection.Count > 0 Then
_Products.IsStoragEverUsed = True
Else
Dim _OrderOutRows_Collection As New XPCollection(Of OrderOutRows)(_ocur.Session, CriteriaOperator.Parse("Products=?", _Products))
If _OrderOutRows_Collection.Count > 0 Then
_Products.IsStoragEverUsed = True
Else
_Products.IsStoragEverUsed = False
End If
End If
End If
End If
RaiseEvent DoWork()
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
End Sub
End Class