Files
Nuvolar/Nuvolar.Module/BusinessObjects/Business/BusinessTransactions/Orders/OrdersIn/Acknowledgement/OrderInAcknowledgementVC.vb
T
2017-03-08 11:21:27 +01:00

277 lines
19 KiB
VB.net

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.Data.Filtering
Imports DevExpress.Xpo
Public Class OrderInAcknowledgementVC
Inherits DevExpress.ExpressApp.ViewController
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
If View.Id = "OrderInHeader_OrderInAcknowledgementHeader_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
End If
If View.Id = "OrderInAcknowledgementHeader_OrderInAcknowledgementRows_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "OrderInHeader_OrderInAcknowledgementHeader_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
End If
If View.Id = "OrderInAcknowledgementHeader_OrderInAcknowledgementRows_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
End If
End Sub
Private Sub aCreateAcknowledgementFromOrderIn_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateAcknowledgementFromOrderIn.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
Dim _OrderInAcknowledgementPopup As OrderInAcknowledgementPopup = _onew.CreateObject(Of OrderInAcknowledgementPopup)()
e.View = Application.CreateDetailView(_onew, "OrderInAcknowledgementPopup_DetailView", False, _OrderInAcknowledgementPopup)
End Sub
Private Sub aCreateAcknowledgementFromOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateAcknowledgementFromOrderIn.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInAcknowledgementHeader_New As OrderInAcknowledgementHeader = _ocur.CreateObject(Of OrderInAcknowledgementHeader)()
Dim _OrderInHeader As OrderInHeader = _ocur.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
Dim _OrderInAcknowledgementRows_New As OrderInAcknowledgementRows
Dim _OrderInRows As OrderInRows
Dim _OrderInRowsOther As OrderInRowsOther
Dim i As Integer = 0
'----- FEJLÉC ADATOK ÁTADÁSA --------------------------------------------------------------------------
_OrderInAcknowledgementHeader_New.OrderInHeader = _OrderInHeader
_OrderInAcknowledgementHeader_New.DateCreated = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInAcknowledgementPopup).DateCreated)
_OrderInAcknowledgementHeader_New.DocumentNumber = _OrderInHeader.OrderInParameters.NumberGeneratorAcknowledgement.GetNewNumber(_OrderInHeader.OrderInParameters.NumberGeneratorAcknowledgement)
_OrderInAcknowledgementHeader_New.NoteHeader = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInAcknowledgementPopup).NoteHeader)
_OrderInAcknowledgementHeader_New.PaymentOption = _OrderInHeader.PaymentOption
_OrderInAcknowledgementHeader_New.ShipmentOption = _OrderInHeader.ShipmentOption
_OrderInAcknowledgementHeader_New.Save()
_OrderInHeader.OrderInRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
'----- SOROK ÁTADÁSA ----------------------------------------------------------------------------------
For i = 0 To _OrderInHeader.OrderInRows.Count - 1
_OrderInRows = _ocur.GetObject(_OrderInHeader.OrderInRows(i))
_OrderInAcknowledgementRows_New = _ocur.CreateObject(Of OrderInAcknowledgementRows)()
_OrderInAcknowledgementRows_New.OrderInAcknowledgementHeader = _OrderInAcknowledgementHeader_New
_OrderInAcknowledgementRows_New.FinalPriceDEV = _OrderInRows.FinalPriceDEV
_OrderInAcknowledgementRows_New.FinalPriceHUF = _OrderInRows.FinalPriceHUF
_OrderInAcknowledgementRows_New.Description = _OrderInRows.Description
_OrderInAcknowledgementRows_New.QTT = _OrderInRows.QTT
_OrderInAcknowledgementRows_New.QualityOption = _OrderInRows.QualityOption
_OrderInAcknowledgementRows_New.RowGroup1 = _OrderInRows.RowGroup1
_OrderInAcknowledgementRows_New.RowGroup2 = _OrderInRows.RowGroup2
_OrderInAcknowledgementRows_New.Units = _OrderInRows.Products.Units
_OrderInAcknowledgementRows_New.VAT = _OrderInRows.VAT
_OrderInAcknowledgementRows_New.SumPriceHUF = _OrderInRows.FinalPriceHUF * _OrderInRows.QTT
_OrderInAcknowledgementRows_New.SumPriceDEV = _OrderInRows.FinalPriceDEV * _OrderInRows.QTT
_OrderInAcknowledgementRows_New.ShortName = _OrderInRows.Products.ShortName
_OrderInAcknowledgementRows_New.RowIndex = i
_OrderInAcknowledgementRows_New.OrderInRows = _OrderInRows
_OrderInAcknowledgementRows_New.Save()
Next
For y = 0 To _OrderInHeader.OrderInRowsOther.Count - 1
_OrderInRowsOther = _ocur.GetObject(_OrderInHeader.OrderInRowsOther(y))
_OrderInAcknowledgementRows_New = _ocur.CreateObject(Of OrderInAcknowledgementRows)()
_OrderInAcknowledgementRows_New.OrderInAcknowledgementHeader = _OrderInAcknowledgementHeader_New
_OrderInAcknowledgementRows_New.FinalPriceDEV = _OrderInRowsOther.ListPriceDEV - _OrderInRowsOther.DiscountPriceDEV
_OrderInAcknowledgementRows_New.FinalPriceHUF = _OrderInRowsOther.ListPriceHUF - _OrderInRowsOther.DiscountPriceHUF
_OrderInAcknowledgementRows_New.Description = _OrderInRowsOther.Description
_OrderInAcknowledgementRows_New.QTT = _OrderInRowsOther.QTT
_OrderInAcknowledgementRows_New.QualityOption = _OrderInRowsOther.QualityOption
_OrderInAcknowledgementRows_New.RowGroup1 = _OrderInRowsOther.RowGroup1
_OrderInAcknowledgementRows_New.RowGroup2 = _OrderInRowsOther.RowGroup2
_OrderInAcknowledgementRows_New.Units = _OrderInRowsOther.Units
_OrderInAcknowledgementRows_New.VAT = _OrderInRowsOther.VAT
_OrderInAcknowledgementRows_New.SumPriceHUF = (_OrderInRowsOther.ListPriceHUF - _OrderInRowsOther.DiscountPriceHUF) * _OrderInRowsOther.QTT
_OrderInAcknowledgementRows_New.SumPriceDEV = (_OrderInRowsOther.ListPriceDEV - _OrderInRowsOther.DiscountPriceDEV) * _OrderInRowsOther.QTT
_OrderInAcknowledgementRows_New.OrderInRowsOther = _OrderInRowsOther
If i = 0 Then
_OrderInAcknowledgementRows_New.RowIndex = y
Else
_OrderInAcknowledgementRows_New.RowIndex = y + i + 1
End If
_OrderInAcknowledgementRows_New.ShortName = _OrderInRowsOther.ShortName
_OrderInAcknowledgementRows_New.Save()
Next
_OrderInAcknowledgementHeader_New.RecalculateOrderInAcknowledgement(_OrderInAcknowledgementHeader_New, _ocur)
_ocur.CommitChanges()
End Sub
Private Sub aCreateContractsFromAcknowledgement_CustomizePopupWindowParams(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateContractsFromAcknowledgement.CustomizePopupWindowParams
Dim _OrderInAcknowledgementHeader As OrderInAcknowledgementHeader = TryCast(View.SelectedObjects(0), OrderInAcknowledgementHeader)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ContractsFromAcknowledgement_PopUp As ContractsFromAcknowledgement_PopUp = _onew.CreateObject(Of ContractsFromAcknowledgement_PopUp)()
_ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader = _OrderInAcknowledgementHeader
_ContractsFromAcknowledgement_PopUp.CustomersFrom = _onew.GetObject(_OrderInAcknowledgementHeader.OrderInHeader.CustomersFrom)
_ContractsFromAcknowledgement_PopUp.Save()
e.View = Application.CreateDetailView(_onew, _ContractsFromAcknowledgement_PopUp, True)
End Sub
Private Sub aCreateContractsFromAcknowledgement_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateContractsFromAcknowledgement.Execute
'A szerződés sor jelölő adatai itt nem fontosak így a függvény élettartamára kikapcsoljuk a validálást
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)().Active.SetItemValue("", False)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ContractsFromAcknowledgement_PopUp As ContractsFromAcknowledgement_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ContractsFromAcknowledgement_PopUp)
Dim _Contracts As Contracts
Dim _ContractRows As ContractRows
Dim _ContractTemplate As ContractTemplate = _ocur.FindObject(Of ContractTemplate)(CriteriaOperator.Parse("Oid=?", _ContractsFromAcknowledgement_PopUp.ContractTemplate.Oid))
_Contracts = _ocur.CreateObject(Of Contracts)()
_Contracts.ContractTemplate = _ContractTemplate
_Contracts.State = State.Ready
_Contracts.DocumentNumber = _Contracts.ContractTemplate.NumberGenerator.GetNewNumber(_Contracts.ContractTemplate.NumberGenerator)
_Contracts.CustomersFrom = _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.OrderInHeader.CustomersFrom
_Contracts.Customers = _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.OrderInHeader.Customers
_Contracts.DateCreated = GetSQLTime(_ocur.Session)
_Contracts.CRM_Opportunities = _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.OrderInHeader.CRM_Opportunities
_Contracts.ShortName = _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.DocumentNumber & " számú rendelés visszaigazolás szerződése"
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
_ContractRows = _ocur.CreateObject(Of ContractRows)()
_ContractRows.Contracts = _Contracts
_ContractRows.ShortName = _OrderInAcknowledgementRows.ShortName
_ContractRows.DateExecution = _OrderInAcknowledgementRows.DateExecution
_ContractRows.Units = _OrderInAcknowledgementRows.Units
_ContractRows.VAT = _OrderInAcknowledgementRows.VAT
_ContractRows.ContractRowsType = eContractRowsType.eFix
_ContractRows.CurrencyName = _ContractsFromAcknowledgement_PopUp.OrderInAcknowledgementHeader.OrderInHeader.OrderInParameters.CurrencyName
_ContractRows.NettoPriceHUF = _OrderInAcknowledgementRows.FinalPriceHUF
_ContractRows.NettoPriceDEV = _OrderInAcknowledgementRows.FinalPriceDEV
_ContractRows.RowGroup1 = _OrderInAcknowledgementRows.RowGroup1
_ContractRows.RowGroup2 = _OrderInAcknowledgementRows.RowGroup2
Next
_ocur.CommitChanges()
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)().Active.SetItemValue("", True)
End Sub
Private Sub aAcknowledgementRows_Up_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aAcknowledgementRows_Up.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInAcknowledgementRowsSelected As OrderInAcknowledgementRows = TryCast(View.SelectedObjects(0), OrderInAcknowledgementRows)
If _OrderInAcknowledgementRowsSelected Is Nothing Then Throw New Exception("*Nincs kiválasztva egyetlen sor sem!")
If _OrderInAcknowledgementRowsSelected.RowIndex = 0 Then
_OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
Dim _RowIndex As Long = 1
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
_OrderInAcknowledgementRows.RowIndex = _RowIndex
_RowIndex += 1
Next
Else
Dim _HaveZeroIndex As Boolean = False
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
If _OrderInAcknowledgementRows.RowIndex = 0 Then
_HaveZeroIndex = True
Exit For
End If
Next
If _HaveZeroIndex Then
Dim _RowIndex As Long = 1
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
_OrderInAcknowledgementRows.RowIndex = _RowIndex
_RowIndex += 1
Next
Else
If _OrderInAcknowledgementRowsSelected.RowIndex = 1 Then Throw New Exception("*A kiválasztott sor a legelső a listában!")
Dim _OrderInAcknowledgementRowsPrev As OrderInAcknowledgementRows = _ocur.FindObject(Of OrderInAcknowledgementRows) _
(CriteriaOperator.Parse("OrderInAcknowledgementHeader=? AND RowIndex=?", _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader, _OrderInAcknowledgementRowsSelected.RowIndex - 1))
If _OrderInAcknowledgementRowsPrev IsNot Nothing Then
_OrderInAcknowledgementRowsSelected.RowIndex -= 1
_OrderInAcknowledgementRowsPrev.RowIndex += 1
End If
End If
End If
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
Private Sub aAcknowledgementRows_Down_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aAcknowledgementRows_Down.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInAcknowledgementRowsSelected As OrderInAcknowledgementRows = TryCast(View.SelectedObjects(0), OrderInAcknowledgementRows)
If _OrderInAcknowledgementRowsSelected Is Nothing Then Throw New Exception("*Nincs kiválasztva egyetlen sor sem!")
If _OrderInAcknowledgementRowsSelected.RowIndex = 0 Then
_OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
Dim _RowIndex As Long = 1
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
_OrderInAcknowledgementRows.RowIndex = _RowIndex
_RowIndex += 1
Next
Else
Dim _HaveZeroIndex As Boolean = False
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
If _OrderInAcknowledgementRows.RowIndex = 0 Then
_HaveZeroIndex = True
Exit For
End If
Next
If _HaveZeroIndex Then
Dim _RowIndex As Long = 1
For Each _OrderInAcknowledgementRows As OrderInAcknowledgementRows In _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows
_OrderInAcknowledgementRows.RowIndex = _RowIndex
_RowIndex += 1
Next
Else
If _OrderInAcknowledgementRowsSelected.RowIndex = _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader.OrderInAcknowledgementRows.Count Then Throw New Exception("*A kiválasztott sor a legutolsó a listában!")
Dim _OrderInAcknowledgementRowsNext As OrderInAcknowledgementRows = _ocur.FindObject(Of OrderInAcknowledgementRows) _
(CriteriaOperator.Parse("OrderInAcknowledgementHeader=? AND RowIndex=?", _OrderInAcknowledgementRowsSelected.OrderInAcknowledgementHeader, _OrderInAcknowledgementRowsSelected.RowIndex + 1))
If _OrderInAcknowledgementRowsNext IsNot Nothing Then
_OrderInAcknowledgementRowsSelected.RowIndex += 1
_OrderInAcknowledgementRowsNext.RowIndex -= 1
End If
End If
End If
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
End Class