First create solution
This commit is contained in:
+204
@@ -0,0 +1,204 @@
|
||||
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.Data.Filtering
|
||||
Imports System.Linq
|
||||
Imports DevExpress.Persistent.BaseImpl
|
||||
Imports System.Globalization
|
||||
|
||||
Public Class InvoiceRowsPivotVC
|
||||
Inherits DevExpress.ExpressApp.ViewController
|
||||
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
|
||||
Public Event InitWork2(ByVal _Minimum2 As Long, ByVal _Step2 As Long, ByVal _Maximum2 As Long)
|
||||
Public Event DoWork()
|
||||
Public Event DoWork2()
|
||||
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()
|
||||
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
||||
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
|
||||
|
||||
If View.Id = "InvoiceRowsPivot_ListView_UserEnable" Then
|
||||
Dim _ListView As ListView = TryCast(View, ListView)
|
||||
|
||||
If _ListView IsNot Nothing Then
|
||||
Dim _InvoiceRowsPivot As InvoiceRowsPivot
|
||||
Dim _Criteria As String = ""
|
||||
For Each _InvoiceRowsPivot In _ListView.CollectionSource.List
|
||||
Dim _InvoiceRowsPivotUser As InvoiceRowsPivotUser
|
||||
For Each _InvoiceRowsPivotUser In _InvoiceRowsPivot.InvoiceRowsPivotUser
|
||||
If _InvoiceRowsPivotUser.User.Oid.ToString = _User.Oid.ToString Then
|
||||
If _Criteria = "" Then
|
||||
_Criteria = "Oid in ('" & _InvoiceRowsPivot.Oid.ToString & "'"
|
||||
Else
|
||||
_Criteria += ", '" & _InvoiceRowsPivot.Oid.ToString & "'"
|
||||
End If
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
If _Criteria = "" Then
|
||||
_Criteria = "1=2"
|
||||
Else
|
||||
_Criteria += ")"
|
||||
End If
|
||||
_ListView.CollectionSource.BeginUpdateCriteria()
|
||||
_ListView.CollectionSource.Criteria("ByEnabled") = CriteriaOperator.Parse(_Criteria)
|
||||
_ListView.CollectionSource.EndUpdateCriteria()
|
||||
End If
|
||||
End If
|
||||
|
||||
If View.Id = "InvoiceRowsPivot_ListView_UserCreated" Then
|
||||
Dim _ListView As ListView = TryCast(View, ListView)
|
||||
|
||||
If _ListView IsNot Nothing Then
|
||||
_ListView.CollectionSource.BeginUpdateCriteria()
|
||||
_ListView.CollectionSource.Criteria("ByUser") = CriteriaOperator.Parse("UserCreated=? ", _User)
|
||||
_ListView.CollectionSource.EndUpdateCriteria()
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub aRecalculateBallanceInvoiceRows_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aRecalculateBallanceInvoiceRows.Execute
|
||||
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
||||
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
|
||||
Dim _InvoiceRows As InvoiceRows
|
||||
Dim _InvoiceRowsPivot As InvoiceRowsPivot = TryCast(View.SelectedObjects(0), InvoiceRowsPivot)
|
||||
Dim _Rate As Double = 0
|
||||
Dim _SumBallanceHUF As Double = 0
|
||||
Dim _SumBallanceDEV As Double = 0
|
||||
Dim _SQL As String = ""
|
||||
|
||||
'// Mielõtt bármi történne !!!!!
|
||||
|
||||
_SQL = "UPDATE InvoiceRows SET SumGrossMarginHUF=SumPriceHUF,SumGrossMarginDEV=SumPriceDEV WHERE OrderInRowsOther Is Not NULL"
|
||||
|
||||
Select Case GLOBAL_SQLType
|
||||
Case eSQLType.MSSQL
|
||||
_SQL = "UPDATE InvoiceRows SET SumGrossMarginHUF=SumPriceHUF,SumGrossMarginDEV=SumPriceDEV WHERE OrderInRowsOther Is Not NULL"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
|
||||
_SQL = " UPDATE InvoiceRows t1 JOIN InvoiceHeader t2 ON t1.InvoiceHeader = t2.Oid "
|
||||
_SQL += " SET t1.SumAveragePriceDEV=t1.SumAveragePriceHUF/t2.CurrencyRate,"
|
||||
_SQL += " t1.SumGrossMarginDEV = t1.SumGrossMarginHUF / t2.CurrencyRate"
|
||||
_SQL += " WHERE t2.CurrencyRate > 0"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
Case eSQLType.MySQL
|
||||
_SQL = "UPDATE InvoiceRows SET SumGrossMarginHUF=SumPriceHUF,SumGrossMarginDEV=SumPriceDEV WHERE OrderInRowsOther Is Not NULL"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
|
||||
_SQL = " UPDATE InvoiceRows t1 JOIN InvoiceHeader t2 ON t1.InvoiceHeader = t2.Oid "
|
||||
_SQL += " SET t1.SumAveragePriceDEV=t1.SumAveragePriceHUF/t2.CurrencyRate,"
|
||||
_SQL += " t1.SumGrossMarginDEV = t1.SumGrossMarginHUF / t2.CurrencyRate"
|
||||
_SQL += " WHERE t2.CurrencyRate > 0"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
|
||||
Case eSQLType.PostgreSQL
|
||||
_SQL = "UPDATE ""InvoiceRows"" SET ""SumGrossMarginHUF""=""SumPriceHUF"",""SumGrossMarginDEV""=""SumPriceDEV"" WHERE ""OrderInRowsOther"" Is Not NULL"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
|
||||
_SQL = " UPDATE ""InvoiceRows"" t1 JOIN ""InvoiceHeader"" t2 ON ""t1"".""InvoiceHeader"" = ""t2"".""Oid"" "
|
||||
_SQL += " SET ""t1"".""SumAveragePriceDEV""=""t1"".""SumAveragePriceHUF""/""t2"".""CurrencyRate"","
|
||||
_SQL += " ""t1"".""SumGrossMarginDEV"" = ""t1"".""SumGrossMarginHUF"" / ""t2"".""CurrencyRate"""
|
||||
_SQL += " WHERE ""t2"".""CurrencyRate"" > 0"
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
End Select
|
||||
|
||||
|
||||
RaiseEvent InitWork(1, 1, _InvoiceRowsPivot.InvoiceRows_Table.Count)
|
||||
For Each _InvoiceRows In _InvoiceRowsPivot.InvoiceRows_Table
|
||||
RaiseEvent DoWork()
|
||||
_Rate = 0
|
||||
_SumBallanceHUF = 0
|
||||
_SumBallanceDEV = 0
|
||||
|
||||
Dim cultures() As CultureInfo = {New CultureInfo("en-US"), _
|
||||
New CultureInfo("fr-FR"), _
|
||||
New CultureInfo("it-IT"), _
|
||||
New CultureInfo("de-DE")}
|
||||
|
||||
Dim _PCIGroup As PCIGroup = _ocur.FindObject(Of PCIGroup)(CriteriaOperator.Parse("CustomersFrom=? and Customers=? and PartnerType=0 and ConnectInfo=?", _
|
||||
_InvoiceRows.InvoiceHeader.CustomersFrom, _InvoiceRows.InvoiceHeader.Customers, _InvoiceRows.InvoiceHeader.ConnectInfo))
|
||||
If _PCIGroup IsNot Nothing Then
|
||||
If _PCIGroup.CurrencyName_Account.ShortName = "HUF" Then
|
||||
If _PCIGroup.AmountHUF_Account <> 0 Then
|
||||
_Rate = _PCIGroup.BallanceHUF / _PCIGroup.AmountHUF_Account
|
||||
End If
|
||||
Else
|
||||
If _PCIGroup.AmountDEV_Account <> 0 Then
|
||||
_Rate = _PCIGroup.BallanceDEV / _PCIGroup.AmountDEV_Account
|
||||
End If
|
||||
End If
|
||||
_SumBallanceHUF = Math.Round((_Rate) * _InvoiceRows.SumPriceHUF, 0, MidpointRounding.AwayFromZero)
|
||||
_SumBallanceDEV = Math.Round((_Rate) * _InvoiceRows.SumPriceDEV, 2, MidpointRounding.AwayFromZero)
|
||||
_SQL = ""
|
||||
Select Case GLOBAL_SQLType
|
||||
Case eSQLType.MSSQL
|
||||
_SQL = "update InvoiceRows set SumBallanceHUF=" & _SumBallanceHUF.ToString(New CultureInfo("en-US")) & ",SumBallanceDEV=" & _SumBallanceDEV.ToString(New CultureInfo("en-US"))
|
||||
_SQL += " Where Oid='" & _InvoiceRows.Oid.ToString & "'"
|
||||
Case eSQLType.MySQL
|
||||
_SQL = "update InvoiceRows set SumBallanceHUF=" & _SumBallanceHUF.ToString(New CultureInfo("en-US")) & ",SumBallanceDEV=" & _SumBallanceDEV.ToString(New CultureInfo("en-US"))
|
||||
_SQL += " Where Oid='" & _InvoiceRows.Oid.ToString & "'"
|
||||
Case eSQLType.PostgreSQL
|
||||
_SQL = "update ""InvoiceRows"" set ""SumBallanceHUF""=" & _SumBallanceHUF.ToString(New CultureInfo("en-US")) & ",""SumBallanceDEV""=" & _SumBallanceDEV.ToString(New CultureInfo("en-US"))
|
||||
_SQL += " Where ""Oid""='" & _InvoiceRows.Oid.ToString & "'"
|
||||
End Select
|
||||
_uow.ExecuteNonQuery(_SQL)
|
||||
End If
|
||||
Next
|
||||
RaiseEvent FinalWork
|
||||
View.Refresh()
|
||||
End Sub
|
||||
|
||||
Private Sub aSelectUsers_InvoiceRowsPivot_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aSelectUsers_InvoiceRowsPivot.CustomizePopupWindowParams
|
||||
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
||||
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
||||
Dim _CS As New CollectionSource(_onew, GetType(User))
|
||||
|
||||
e.View = Application.CreateListView("User_ListView_Find", _CS, False)
|
||||
End Sub
|
||||
|
||||
Private Sub aSelectUsers_InvoiceRowsPivot_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aSelectUsers_InvoiceRowsPivot.Execute
|
||||
Dim _InvoiceRowsPivot As InvoiceRowsPivot = TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject
|
||||
|
||||
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
||||
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
|
||||
Dim _User As User
|
||||
Dim _InvoiceRowsPivotUser As InvoiceRowsPivotUser
|
||||
|
||||
If _InvoiceRowsPivot Is Nothing Then Exit Sub
|
||||
|
||||
If e.PopupWindow.View.SelectedObjects.Count > 0 Then
|
||||
|
||||
For Each _User In e.PopupWindow.View.SelectedObjects
|
||||
_InvoiceRowsPivotUser = New InvoiceRowsPivotUser(_uow)
|
||||
_InvoiceRowsPivotUser.InvoiceRowsPivot = _uow.GetObjectByKey(Of InvoiceRowsPivot)(_InvoiceRowsPivot.Oid)
|
||||
_InvoiceRowsPivotUser.User = _uow.GetObjectByKey(Of User)(_User.Oid)
|
||||
Next
|
||||
_uow.CommitChanges()
|
||||
End If
|
||||
|
||||
Dim nestedFrame As NestedFrame = TryCast(Frame, NestedFrame)
|
||||
If nestedFrame IsNot Nothing Then
|
||||
Dim parentView As View = nestedFrame.View
|
||||
parentView.ObjectSpace.Refresh()
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user