Files
Nuvolar/Nuvolar.Module/BusinessObjects/Business/Pricing/PricingActionVC.vb
T
2017-03-08 11:21:27 +01:00

118 lines
5.9 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 DevExpress.ExpressApp.SystemModule
Public Class PricingActionVC
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()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
End Sub
Private Sub aGeneratePricingAction_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGeneratePricingAction.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _PricingActionHeader As PricingActionHeader = _uow.GetObjectByKey(Of PricingActionHeader)(TryCast(View.SelectedObjects(0), PricingActionHeader).Oid)
Dim _PricingActionRows As PricingActionRows
Dim I As Long = 0
_uow.Delete(_PricingActionHeader.PricingActionRows)
Dim _Products_Collection As New XPCollection(Of Products)(_uow)
_Products_Collection.Criteria = _uow.ParseCriteria(_PricingActionHeader.Criterion)
RaiseEvent InitWork(1, 1, _Products_Collection.Count)
For Each _Products In _Products_Collection
RaiseEvent DoWork()
_PricingActionRows = New PricingActionRows(_uow)
_PricingActionRows.PricingActionHeader = _PricingActionHeader
_PricingActionRows.Products = _Products
_PricingActionRows.QTT_From = 1
_PricingActionRows.QTT_To = 999999
_PricingActionRows.IsAdditionalDiscount = False
_PricingActionRows.ListPriceHUF = _Products.ListPriceOutHUF
_PricingActionRows.ListPriceDEV = _Products.ListPriceOutDEV
I += 1
If I Mod 1000 = 0 Then _uow.CommitChanges()
Next
_uow.CommitChanges()
RaiseEvent FinalWork
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
Private Sub aSetPricingActionGroups_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aSetPricingActionGroups.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PricingActionRowsSet_PopUp As PricingActionRowsSet_PopUp = _onew.CreateObject(Of PricingActionRowsSet_PopUp)()
e.View = Application.CreateDetailView(_onew, "PricingActionRowsSet_PopUp_DetailView", False, _PricingActionRowsSet_PopUp)
End Sub
Private Sub aSetPricingActionGroups_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aSetPricingActionGroups.Execute
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _PricingActionRowsSet_PopUp As PricingActionRowsSet_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), PricingActionRowsSet_PopUp)
If _PricingActionRowsSet_PopUp Is Nothing Then Throw New Exception("*Nem várt hiba történt, a folyamat megszakadt!")
Dim _ListPriceHUFPercent As Double = _PricingActionRowsSet_PopUp.ListPriceHUFPercent
Dim _ListPriceHUFPercent_Change As Boolean = _PricingActionRowsSet_PopUp.ListPriceHUFPercent_Change
Dim _IsAdditionalDiscount As Boolean = _PricingActionRowsSet_PopUp.IsAdditionalDiscount
Dim _IsAdditionalDiscount_Change As Boolean = _PricingActionRowsSet_PopUp.IsAdditionalDiscount_Change
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _PricingActionRows As PricingActionRows In View.SelectedObjects
If _ListPriceHUFPercent_Change Then
If _ListPriceHUFPercent = 0 Then
_PricingActionRows.ListPriceHUF = _PricingActionRows.Products.ListPriceOutHUF
Else
_PricingActionRows.ListPriceHUF = _PricingActionRows.Products.ListPriceOutHUF - (_PricingActionRows.Products.ListPriceOutHUF * (_ListPriceHUFPercent / 100))
_PricingActionRows.ListPriceDEV = _PricingActionRows.Products.ListPriceOutDEV - (_PricingActionRows.Products.ListPriceOutDEV * (_ListPriceHUFPercent / 100))
End If
End If
If _IsAdditionalDiscount_Change Then
_PricingActionRows.IsAdditionalDiscount = _IsAdditionalDiscount
End If
RaiseEvent DoWork()
Next
RaiseEvent FinalWork
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly)
End Try
End Sub
Private Sub aViewStorageMoveInfo_PricingActionRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewStorageMoveInfo_PricingActionRows.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _PricingActionRows As PricingActionRows = TryCast(View.SelectedObjects(0), PricingActionRows)
Dim _StorageMoveInfo As StorageMoveInfo
If _PricingActionRows IsNot Nothing Then
_StorageMoveInfo = _onew.CreateObject(Of StorageMoveInfo)()
_StorageMoveInfo.Products = _onew.GetObject(_PricingActionRows.Products)
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "StorageMoveInfo_DetailView", False, _StorageMoveInfo)
End If
End Sub
End Class