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

186 lines
10 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.ExpressApp.Utils
Imports DevExpress.ExpressApp.SystemModule
Imports System.Linq
Imports System.Linq.Expressions
Imports DevExpress.Xpo
Public Class OrderInRowsVC
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()
If View.Id = "ORI_ChangeQTT_PopUp_DetailView" Then
AddHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf ORI_ChangeQTT_PopUp_DetailView_AcceptAction_Executing
End If
If View.Id = "OrderInRowsAdvanceBallanceInfo_ListView" Then
AddHandler Frame.GetController(Of RefreshController).RefreshAction.Executed, AddressOf OrderInRowsAdvanceBallanceInfo_ListView_RefreshAction_Executed
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "ORI_ChangeQTT_PopUp_DetailView" Then
RemoveHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf ORI_ChangeQTT_PopUp_DetailView_AcceptAction_Executing
End If
End Sub
Private Sub aMoveOrderInRowsToOtherOrderInHeader_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aMoveOrderInRowsToOtherOrderInHeader.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRows As OrderInRows = TryCast(View.SelectedObjects(0), OrderInRows)
Dim _OrderInHeader_Collectionsource As New CollectionSource(_onew, GetType(OrderInHeader))
_OrderInHeader_Collectionsource.BeginUpdateCriteria()
_OrderInHeader_Collectionsource.Criteria.Add("Criteria", CriteriaOperator.Parse("CustomersFrom=? AND IsEditable=True AND IsStorno=False and Oid !=?", _onew.GetObject(_OrderInRows.OrderInHeader.CustomersFrom), _OrderInRows.OrderInHeader.Oid))
_OrderInHeader_Collectionsource.EndUpdateCriteria()
e.View = Application.CreateListView("OrderInHeader_ListView_Select", _OrderInHeader_Collectionsource, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
Private Sub aMoveOrderInRowsToOtherOrderInHeader_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aMoveOrderInRowsToOtherOrderInHeader.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader_New As OrderInHeader = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader_New Is Nothing Then Throw New Exception("*Nem lett kiválasztva az új bejövõ megrendelés!")
For Each _OrderInRows As OrderInRows In View.SelectedObjects
_OrderInRows.OrderInHeader = _OrderInHeader_New
_OrderInRows.RowIndex = _OrderInHeader_New.OrderInRows.Count
Next
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
Private Sub aMoveOrderInRowsOtherToOtherOrderInHeader_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aMoveOrderInRowsOtherToOtherOrderInHeader.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRowsOther As OrderInRowsOther = TryCast(View.SelectedObjects(0), OrderInRowsOther)
Dim _OrderInHeader_Collectionsource As New CollectionSource(_onew, GetType(OrderInHeader))
_OrderInHeader_Collectionsource.BeginUpdateCriteria()
_OrderInHeader_Collectionsource.Criteria.Add("Criteria", CriteriaOperator.Parse("CustomersFrom=? AND IsEditable=True AND IsStorno=False and Oid !=?", _onew.GetObject(_OrderInRowsOther.OrderInHeader.CustomersFrom), _OrderInRowsOther.OrderInHeader.Oid))
_OrderInHeader_Collectionsource.EndUpdateCriteria()
e.View = Application.CreateListView("OrderInHeader_ListView_Select", _OrderInHeader_Collectionsource, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
Private Sub aMoveOrderInRowsOtherToOtherOrderInHeader_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aMoveOrderInRowsOtherToOtherOrderInHeader.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader_New As OrderInHeader = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader_New Is Nothing Then Throw New Exception("*Nem lett kiválasztva az új bejövõ megrendelés!")
For Each _OrderInRowsOther As OrderInRowsOther In View.SelectedObjects
_OrderInRowsOther.OrderInHeader = _OrderInHeader_New
_OrderInRowsOther.RowIndex = _OrderInHeader_New.OrderInRowsOther.Count
Next
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Hiba!")
End Try
End Sub
Private Sub aORI_ChangeQTT_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_ChangeQTT.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRows As OrderInRows = TryCast(View.SelectedObjects(0), OrderInRows)
Dim _ORI_ChangeQTT_PopUp As New ORI_ChangeQTT_PopUp(_onew.Session)
With _ORI_ChangeQTT_PopUp
.QTT = _OrderInRows.QTT
.QTT_Storaged = _OrderInRows.QTT_Storaged
.QTT_Storaged_Will = _OrderInRows.QTT_Storaged_Will
.OrderInRows = _onew.GetObject(_OrderInRows)
End With
e.View = Application.CreateDetailView(_onew, "ORI_ChangeQTT_PopUp_DetailView", False, _ORI_ChangeQTT_PopUp)
End Sub
Private Sub aORI_ChangeQTT_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_ChangeQTT.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ORI_ChangeQTT_PopUp As ORI_ChangeQTT_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_ChangeQTT_PopUp)
Dim _OrderInRows As OrderInRows = TryCast(View.SelectedObjects(0), OrderInRows)
_OrderInRows.QTT = _ORI_ChangeQTT_PopUp.QTT
_ocur.CommitChanges()
End Sub
Private Sub ORI_ChangeQTT_PopUp_DetailView_AcceptAction_Executing(sender As Object, e As CancelEventArgs)
Try
Dim _ORI_ChangeQTT_PopUp As ORI_ChangeQTT_PopUp = TryCast(View.SelectedObjects(0), ORI_ChangeQTT_PopUp)
If _ORI_ChangeQTT_PopUp IsNot Nothing Then
If _ORI_ChangeQTT_PopUp.QTT < _ORI_ChangeQTT_PopUp.QTT_Storaged Then
e.Cancel = True
Throw New Exception("*A rendelt mennyiség kisebb, mint a már kitárolt mennyiség!")
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub OrderInRowsAdvanceBallanceInfo_ListView_RefreshAction_Executed(sender As Object, e As ActionBaseEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInRowsAdvanceBallanceInfo As OrderInRowsAdvanceBallanceInfo
Dim _InvoiceRows_XPQuery As New XPQuery(Of InvoiceRows)(_ocur.Session)
Dim query1 = From _InvoiceRows In _InvoiceRows_XPQuery
Where String.IsNullOrEmpty(_InvoiceRows.InvoiceHeader.DocumentNumber) = False And
_InvoiceRows.InvoiceHeader.IsEditable = False And
_InvoiceRows.ShortName.ToUpper.Contains("ELÕLEG") And
_InvoiceRows.InvoiceHeader IsNot Nothing
Group _InvoiceRows By _InvoiceRows.InvoiceHeader.Customers Into g = Group
Select New With {.Customers = Customers,
.BallanceHUF_Advance = g.Sum(Function(inv) inv.SumPriceBruttoHUF)}
RaiseEvent InitWork(1, 1, query1.Count)
For Each item In query1
RaiseEvent DoWork()
If Math.Abs(Math.Round(item.BallanceHUF_Advance, 0, MidpointRounding.AwayFromZero)) > 100 Then
_OrderInRowsAdvanceBallanceInfo = _ocur.CreateObject(Of OrderInRowsAdvanceBallanceInfo)()
_OrderInRowsAdvanceBallanceInfo.Customers = item.Customers
_OrderInRowsAdvanceBallanceInfo.BallanceHUF_Advance = item.BallanceHUF_Advance
TryCast(View, ListView).CollectionSource.Add(_OrderInRowsAdvanceBallanceInfo)
Dim _OrderInRows_Collection As New XPCollection(Of OrderInRows)(_ocur.Session, CriteriaOperator.Parse("IsNull(OrderInHeader.GCRecord)=True and IsNull(GCRecord)=True and OrderInHeader.Customers=? and OrderInHeader.IsEditable=True and IsNull(OrderInHeader)=False", item.Customers))
Dim _OrderInRows As OrderInRows
For Each _OrderInRows In _OrderInRows_Collection
_OrderInRowsAdvanceBallanceInfo = _ocur.CreateObject(Of OrderInRowsAdvanceBallanceInfo)()
_OrderInRowsAdvanceBallanceInfo.Customers = item.Customers
_OrderInRowsAdvanceBallanceInfo.BallanceHUF_Advance = 0
_OrderInRowsAdvanceBallanceInfo.OrderInRows = _OrderInRows
TryCast(View, ListView).CollectionSource.Add(_OrderInRowsAdvanceBallanceInfo)
Next
End If
Next
RaiseEvent FinalWork
End Sub
End Class