251 lines
15 KiB
VB.net
251 lines
15 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.Xpo
|
|
Imports System.Linq
|
|
Imports System.Linq.Expressions
|
|
Imports DevExpress.Data.Filtering
|
|
Imports DevExpress.ExpressApp.Utils
|
|
|
|
Public Class ContractRowsVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
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()
|
|
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
|
|
Frame.GetController(Of ContractRowsVC).aDescriptionChanger_ContractRows.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ContractRowsVC).aShortNameChanger_ContractRows.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ContractRowsVC).aModifyContractRowsData.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ContractRowsVC).aConnectContractRowToInvoiceRow.Active.SetItemValue("", False)
|
|
If View.Id = "ContractRows_DetailView" Then
|
|
Frame.GetController(Of ContractRowsVC).aDescriptionChanger_ContractRows.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ContractRowsVC).aShortNameChanger_ContractRows.Active.SetItemValue("", True)
|
|
End If
|
|
|
|
If View.Id = "ContractRows_ListView_Invoice_Not_MileStone" Or _
|
|
View.Id = "ContractRows_ListView_Invoice_MileStone" Or _
|
|
View.Id = "ContractRows_ListView_Invoice_CustomRate" Or _
|
|
View.Id = "ContractRows_ListView_Invoice_Advance" Then
|
|
Frame.GetController(Of ContractRowsVC).aModifyContractRowsData.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ContractRowsVC).aConnectContractRowToInvoiceRow.Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
Frame.GetController(Of ContractRowsVC).aDescriptionChanger_ContractRows.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ContractRowsVC).aShortNameChanger_ContractRows.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ContractRowsVC).aModifyContractRowsData.Active.SetItemValue("", False)
|
|
End Sub
|
|
|
|
Private Sub aDescriptionChanger_ContractRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aDescriptionChanger_ContractRows.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace()
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRows_DescriptionChanger_PopUp As InvoiceHeader_DescriptionChanger_PopUp
|
|
Dim _CS_Description As New CollectionSource(_onew, GetType(InvoiceHeader_DescriptionChanger_PopUp))
|
|
|
|
Dim _ContractRows_xpquery = New XPQuery(Of ContractRows)(_ocur.Session)
|
|
Dim query = From _ContractRows In _ContractRows_xpquery _
|
|
Where _ContractRows.Description IsNot Nothing _
|
|
Group _ContractRows By _ContractRows.Description Into g = Group _
|
|
Select New With {Key .Description = Description}
|
|
For Each item In query
|
|
_ContractRows_DescriptionChanger_PopUp = _onew.CreateObject(Of InvoiceHeader_DescriptionChanger_PopUp)()
|
|
_ContractRows_DescriptionChanger_PopUp.Description = item.Description
|
|
_CS_Description.Add(_ContractRows_DescriptionChanger_PopUp)
|
|
Next
|
|
e.View = Application.CreateListView("InvoiceHeader_DescriptionChanger_PopUp_ListView", _CS_Description, False)
|
|
End Sub
|
|
Private Sub aDescriptionChanger_ContractRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aDescriptionChanger_ContractRows.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRows As ContractRows = TryCast(View.SelectedObjects(0), ContractRows)
|
|
For Each _Description In e.PopupWindow.View.SelectedObjects
|
|
If _ContractRows.Description Is Nothing Then
|
|
_ContractRows.Description = TryCast(_Description, InvoiceHeader_DescriptionChanger_PopUp).Description
|
|
Else
|
|
_ContractRows.Description += vbNewLine & TryCast(_Description, InvoiceHeader_DescriptionChanger_PopUp).Description
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub aShortNameChanger_ContractRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aShortNameChanger_ContractRows.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace()
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRows_ShortNameChanger_PopUp As InvoiceHeader_DescriptionChanger_PopUp
|
|
Dim _CS_ShortName As New CollectionSource(_onew, GetType(InvoiceHeader_DescriptionChanger_PopUp))
|
|
|
|
Dim _ContractRows_xpquery = New XPQuery(Of ContractRows)(_ocur.Session)
|
|
Dim query = From _ContractRows In _ContractRows_xpquery _
|
|
Where _ContractRows.Description IsNot Nothing _
|
|
Group _ContractRows By _ContractRows.ShortName Into g = Group _
|
|
Select New With {Key .ShortName = ShortName}
|
|
For Each item In query
|
|
_ContractRows_ShortNameChanger_PopUp = _onew.CreateObject(Of InvoiceHeader_DescriptionChanger_PopUp)()
|
|
_ContractRows_ShortNameChanger_PopUp.Description = item.ShortName
|
|
_CS_ShortName.Add(_ContractRows_ShortNameChanger_PopUp)
|
|
Next
|
|
e.View = Application.CreateListView("InvoiceHeader_DescriptionChanger_PopUp_ListView", _CS_ShortName, False)
|
|
End Sub
|
|
Private Sub aShortNameChanger_ContractRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aShortNameChanger_ContractRows.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRows As ContractRows = TryCast(View.SelectedObjects(0), ContractRows)
|
|
For Each _ShortName In e.PopupWindow.View.SelectedObjects
|
|
If _ContractRows.ShortName Is Nothing Then
|
|
_ContractRows.ShortName = TryCast(_ShortName, InvoiceHeader_DescriptionChanger_PopUp).Description
|
|
Else
|
|
_ContractRows.ShortName += " " & TryCast(_ShortName, InvoiceHeader_DescriptionChanger_PopUp).Description
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Private Sub aModifyContractRowsData_CustomizePopupWindowParams(sender As System.Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aModifyContractRowsData.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace()
|
|
Dim _ContractRowsModifyData As ContractRowsModifyData = _onew.CreateObject(Of ContractRowsModifyData)()
|
|
|
|
e.View = Application.CreateDetailView(_onew, "ContractRowsModifyData_DetailView", False, _ContractRowsModifyData)
|
|
End Sub
|
|
Private Sub aModifyContractRowsData_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aModifyContractRowsData.Execute
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRowsModifyData As ContractRowsModifyData = e.PopupWindow.View.SelectedObjects(0)
|
|
Dim _ArrayList As ArrayList = New ArrayList()
|
|
Dim _uow_lock As New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _User As DevExpress.Persistent.BaseImpl.User = _ocur.GetObject(TryCast(SecuritySystem.CurrentUser, DevExpress.Persistent.BaseImpl.User))
|
|
Try
|
|
Dim _ContractRows As ContractRows
|
|
For Each _ContractRows In e.SelectedObjects
|
|
If Not LockingModule.LockObject(_uow_lock, GetType(ContractRows), _ContractRows.Oid.ToString(), _User) Then
|
|
Dim _LockingObject As LockingObject = _ocur.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(ContractRows).Name + "-" + _ContractRows.Oid.ToString()))
|
|
_ArrayList.Add(_ContractRows)
|
|
End If
|
|
Next
|
|
|
|
If _ArrayList.Count = 0 Then
|
|
For Each _ContractRows In e.SelectedObjects
|
|
If _ContractRowsModifyData.IsDateExecution Then _ContractRows.DateExecution = _ContractRowsModifyData.DateExecution
|
|
If _ContractRowsModifyData.IsPaymentOption Then _ContractRows.PaymentOption = _ocur.GetObjectByKey(Of PaymentOption)(_ContractRowsModifyData.PaymentOption.Oid)
|
|
If _ContractRowsModifyData.IsNettoPriceHUF Then _ContractRows.NettoPriceHUF = _ContractRowsModifyData.NettoPriceHUF
|
|
If _ContractRowsModifyData.IsNettoPriceDEV Then _ContractRows.NettoPriceDEV = _ContractRowsModifyData.NettoPriceDEV
|
|
If _ContractRowsModifyData.IsDescription Then _ContractRows.Description = _ContractRowsModifyData.Description
|
|
If _ContractRowsModifyData.IsShortName Then _ContractRows.ShortName = _ContractRowsModifyData.ShortName
|
|
If _ContractRowsModifyData.IsInvoicePeriod Then _ContractRows.InvoicePeriod = _ContractRowsModifyData.InvoicePeriod
|
|
If _ContractRowsModifyData.IsVAT = True Then _ContractRows.VAT = _ocur.GetObjectByKey(Of VAT)(_ContractRowsModifyData.VAT.Oid)
|
|
If _ContractRowsModifyData.IsJobNumberObjects Then _ContractRows.JobNumberObjects = _ocur.GetObjectByKey(Of JobNumberObjects)(_ContractRowsModifyData.JobNumberObjects.Oid)
|
|
If _ContractRowsModifyData.IsUniqueObjects Then _ContractRows.UniqueObjects = _ocur.GetObjectByKey(Of UniqueObjects)(_ContractRowsModifyData.UniqueObjects.Oid)
|
|
If _ContractRowsModifyData.IsControlling Then _ContractRows.Controlling = _ocur.GetObjectByKey(Of Controlling)(_ContractRowsModifyData.Controlling.Oid)
|
|
If _ContractRowsModifyData.IsCostHolder Then _ContractRows.CostHolder = _ocur.GetObjectByKey(Of CostHolder)(_ContractRowsModifyData.CostHolder.Oid)
|
|
Next
|
|
_ocur.CommitChanges()
|
|
End If
|
|
|
|
If Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
' View.Refresh()
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
|
|
Finally
|
|
If _ArrayList.Count > 0 Then
|
|
Dim ModifyError As String = "Objektum(ok) zárolva van(nak) :" + vbNewLine + vbNewLine
|
|
|
|
For Each item As ContractRows In _ArrayList
|
|
ModifyError += item.Contracts.DocumentNumber.ToString() + " " + item.ShortName.ToString() + vbNewLine
|
|
Next
|
|
ModifyError += vbNewLine + "Ezért a csoportos módosítás nem lett végrehajtva!"
|
|
|
|
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")
|
|
MsgBox(String.Format(ModifyError), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
|
|
|
|
End If
|
|
For Each _ContractRows In e.SelectedObjects
|
|
LockingModule.UnLockObject(_uow_lock, GetType(ContractRows), _ContractRows.Oid.ToString(), _User)
|
|
Next
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub aConnectContractRowToInvoiceRow_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aConnectContractRowToInvoiceRow.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ContractRows As ContractRows = TryCast(View.SelectedObjects(0), ContractRows)
|
|
Dim _CS As CollectionSource = New CollectionSource(_onew, GetType(InvoiceRows))
|
|
|
|
_CS.BeginUpdateCriteria()
|
|
_CS.Criteria.Add("Criteria", CriteriaOperator.Parse("isnull(ContractRows)=True and InvoiceHeader.CustomersFrom.Oid=? and InvoiceHeader.Customers.Oid=? and InvoiceHeader.IsEditable=False and InvoiceHeader.IsStorno=False and InvoiceHeader.IsProforma=False", _
|
|
_ContractRows.Contracts.CustomersFrom.Oid, _ContractRows.Contracts.Customers.Oid))
|
|
_CS.EndUpdateCriteria()
|
|
|
|
e.View = Application.CreateListView("InvoiceRows_ListView_ContractRows", _CS, False)
|
|
|
|
End Sub
|
|
Private Sub aConnectContractRowToInvoiceRow_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aConnectContractRowToInvoiceRow.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ContractRows As ContractRows = TryCast(View.SelectedObjects(0), ContractRows)
|
|
Dim _InvoiceRows As InvoiceRows = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), InvoiceRows))
|
|
|
|
If _InvoiceRows IsNot Nothing Then
|
|
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", False)
|
|
_InvoiceRows.ContractRows = _ContractRows
|
|
_ContractRows.InvoiceRows = _InvoiceRows
|
|
_ocur.CommitChanges()
|
|
|
|
Frame.GetController(Of Validation.PersistenceValidationController)?.Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub aSyncImmovables_Execute(sender As Object, e As SimpleActionExecuteEventArgs)
|
|
'Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
'Dim _ContractRows_Collection As New XPCollection(Of ContractRows)(_onew.Session, CriteriaOperator.Parse("isnull(UniqueObjects)=False"))
|
|
'Dim _ContractRows As ContractRows
|
|
|
|
'Dim _Apartments As Apartments
|
|
'Dim _Garages As Garages
|
|
'Dim _Offices As Offices
|
|
'Dim _Container As Container
|
|
|
|
'RaiseEvent InitWork(1, 1, _ContractRows_Collection.Count)
|
|
|
|
'For Each _ContractRows In _ContractRows_Collection
|
|
' RaiseEvent DoWork()
|
|
' _Apartments = _onew.FindObject(Of Apartments)(CriteriaOperator.Parse("UniqueObjects=?", _ContractRows.UniqueObjects))
|
|
' If _Apartments IsNot Nothing Then
|
|
' _ContractRows.Apartments = _Apartments
|
|
' End If
|
|
|
|
' _Garages = _onew.FindObject(Of Garages)(CriteriaOperator.Parse("UniqueObjects=?", _ContractRows.UniqueObjects))
|
|
' If _Garages IsNot Nothing Then
|
|
' _ContractRows.Garages = _Garages
|
|
' End If
|
|
|
|
' _Offices = _onew.FindObject(Of Offices)(CriteriaOperator.Parse("UniqueObjects=?", _ContractRows.UniqueObjects))
|
|
' If _Offices IsNot Nothing Then
|
|
' _ContractRows.Offices = _Offices
|
|
' End If
|
|
|
|
' _Container = _onew.FindObject(Of Container)(CriteriaOperator.Parse("UniqueObjects=?", _ContractRows.UniqueObjects))
|
|
' If _Container IsNot Nothing Then
|
|
' _ContractRows.Container = _Container
|
|
' End If
|
|
' _onew.CommitChanges()
|
|
'Next
|
|
'RaiseEvent FinalWork
|
|
|
|
End Sub
|
|
End Class
|