Files
Nuvolar/Nuvolar.Module.Win/BusinessObjects/Financial/FinancialObjects/Projectplan/ProjectPlanVC.vb
T
2017-03-08 11:21:27 +01:00

281 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.ExpressApp.PivotGrid.Win
Imports DevExpress.XtraPivotGrid
Imports DevExpress.Data.Filtering
Imports DevExpress.Xpo
Public Class ProjectPlanVC
Inherits Nuvolar.Module.ProjectPlanVC
Private _PivotGridListEditor As PivotGridListEditor
Private _PivotGrdidControl As PivotGridControl
Private _Criteria As String = ""
Dim _WaitFormClass As New WaitFormClass
Public Sub New()
MyBase.New()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Private Sub aBindPlan_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBindPlan.Execute
Dim _form As New ProjectPlanForm
_form.StartForm(TryCast(View.ObjectSpace, Xpo.XPObjectSpace).Session)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Frame.GetController(Of ProjectPlanVC).aProjectPlanViewFactPivot.Active.SetItemValue("", False)
AddHandler DoWork, AddressOf _WaitFormClass.DoWork
AddHandler InitWork, AddressOf _WaitFormClass.Initwork
AddHandler FinalWork, AddressOf _WaitFormClass.Finalwork
If View.Id = "ProjectPlan_ProjectPlanRows_ListView_Pivot" Or View.Id = "ProjectPlan_ProjectPlanRows_ListView_Pivot_Controlling" Then
Frame.GetController(Of ProjectPlanVC).aProjectPlanViewFactPivot.Active.SetItemValue("", True)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If _PivotGrdidControl IsNot Nothing Then
RemoveHandler _PivotGrdidControl.CellClick, AddressOf PivotGrdidControl_CellClick
End If
RemoveHandler DoWork, AddressOf _WaitFormClass.DoWork
RemoveHandler InitWork, AddressOf _WaitFormClass.Initwork
RemoveHandler FinalWork, AddressOf _WaitFormClass.Finalwork
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "ProjectPlan_ProjectPlanRows_ListView_Pivot" Or View.Id = "ProjectPlan_ProjectPlanRows_ListView_Pivot_Controlling" Then
_PivotGridListEditor = TryCast(TryCast(View, ListView).Editor, PivotGridListEditor)
If _PivotGridListEditor IsNot Nothing Then
_PivotGrdidControl = _PivotGridListEditor.PivotGridControl
AddHandler _PivotGrdidControl.CellClick, AddressOf PivotGrdidControl_CellClick
End If
End If
End Sub
Private Sub PivotGrdidControl_CellClick(sender As Object, e As PivotCellEventArgs)
Dim _RowPivotGridField As PivotGridField
Dim _ColumnPivotGridField As PivotGridField
Dim s As String
If e.RowValueType = PivotGridValueType.Value Then
If e.ColumnValueType = PivotGridValueType.Value Then
_Criteria = ""
For Each _RowPivotGridField In e.GetRowFields
s = CStr(_PivotGrdidControl.GetFieldValue(_RowPivotGridField, e.RowIndex))
If LTrim(RTrim(s)) <> "" Then
If _Criteria = "" Then
_Criteria = _RowPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
Else
_Criteria = _Criteria & " and " & _RowPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
End If
End If
Next
For Each _ColumnPivotGridField In e.GetColumnFields
s = CStr(_PivotGrdidControl.GetFieldValue(_ColumnPivotGridField, e.ColumnIndex))
If LTrim(RTrim(s)) <> "" Then
If _Criteria = "" Then
_Criteria = _ColumnPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
Else
_Criteria = _Criteria & " and " & _ColumnPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
End If
End If
Next
ElseIf e.ColumnValueType = PivotGridValueType.GrandTotal Then
_Criteria = ""
For Each _RowPivotGridField In e.GetRowFields
s = CStr(_PivotGrdidControl.GetFieldValue(_RowPivotGridField, e.RowIndex))
If LTrim(RTrim(s)) <> "" Then
If _Criteria = "" Then
_Criteria = _RowPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
Else
_Criteria = _Criteria & " and " & _RowPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
End If
End If
Next
For Each _ColumnPivotGridField In e.GetColumnFields
s = CStr(_PivotGrdidControl.GetFieldValue(_ColumnPivotGridField, e.ColumnIndex))
If LTrim(RTrim(s)) <> "" Then
If _Criteria = "" Then
_Criteria = _ColumnPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
Else
_Criteria = _Criteria & " and " & _ColumnPivotGridField.ExpressionFieldName.ToString & "='"
_Criteria = _Criteria & s & "'" & Chr(13) & Chr(10)
End If
End If
Next
End If
End If
End Sub
Private Sub aProjectPlanViewFactPivot_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanViewFactPivot.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ProjectPlan As ProjectPlan = Nothing
If TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource) IsNot Nothing Then
_ProjectPlan = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, ProjectPlan)
Else
If TryCast(View, ListView).CollectionSource.List.Count > 0 Then
_ProjectPlan = TryCast(TryCast(View, ListView).CollectionSource.List(0), ProjectPlanRows).ProjectPlan
End If
End If
If _ProjectPlan Is Nothing Then Exit Sub
If LTrim(RTrim(_Criteria <> "")) Then
Dim _ProjectPlanRows As ProjectPlanRows = _onew.FindObject(Of ProjectPlanRows)(CriteriaOperator.Parse(_Criteria))
If _ProjectPlanRows IsNot Nothing Then
Dim _GLRows_Controlling As New CollectionSource(_onew, GetType(GLRows))
'_GLRows.GLHeader.DateExecution.Date
_GLRows_Controlling.BeginUpdateCriteria()
_GLRows_Controlling.Criteria("Plan1") = CriteriaOperator.Parse("(DebitChartOfAccounts.AccountNumber=? or CreditChartOfAccounts.AccountNumber=?)", _ProjectPlanRows.AccountNumber, _ProjectPlanRows.AccountNumber)
If _ProjectPlanRows.Controlling Is Nothing Then
_GLRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("isnull(Controlling)=True")
Else
_GLRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("Controlling=?", _ProjectPlanRows.Controlling)
End If
If _ProjectPlanRows.CostHolder Is Nothing Then
_GLRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("isnull(CostHolder)=True")
Else
_GLRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("CostHolder=?", _ProjectPlanRows.CostHolder)
End If
If _ProjectPlanRows.CostPlace Is Nothing Then
_GLRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("isnull(CostPlace)=True")
Else
_GLRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("CostPlace=?", _ProjectPlanRows.CostPlace)
End If
If _ProjectPlanRows.JobNumberObjects Is Nothing Then
_GLRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("isnull(JobNumberObjects)=True")
Else
_GLRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("JobNumberObjects=?", _ProjectPlanRows.JobNumberObjects)
End If
If _ProjectPlanRows.UniqueObjects Is Nothing Then
_GLRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("isnull(UniqueObjects)=True")
Else
_GLRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("UniqueObjects=?", _ProjectPlanRows.UniqueObjects)
End If
_GLRows_Controlling.Criteria("DateExecution") = CriteriaOperator.Parse("GetYear(GLHeader.DateExecution)=? and GetMonth(GLHeader.DateExecution)=? and GLHeader.IsEditable=False and GLHeader.CustomersFrom=?", _ProjectPlanRows.DateYear, _ProjectPlanRows.DateMonth, _ProjectPlanRows.ProjectPlan.CustomersFrom)
_GLRows_Controlling.EndUpdateCriteria()
e.ShowViewParameters.CreatedView = Application.CreateListView("GLRows_ListView_ProjectPlan", _GLRows_Controlling, True)
End If
End If
End Sub
Private Sub aProjectPlanEditPlan_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanEditPlan.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ProjectPlan As ProjectPlan = Nothing
If TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource) IsNot Nothing Then
_ProjectPlan = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, ProjectPlan)
Else
If TryCast(View, ListView).CollectionSource.List.Count > 0 Then
_ProjectPlan = TryCast(TryCast(View, ListView).CollectionSource.List(0), ProjectPlanRows).ProjectPlan
End If
End If
If _ProjectPlan Is Nothing Then Exit Sub
If LTrim(RTrim(_Criteria <> "")) Then
Dim _ProjectPlanRows_Collection As New CollectionSource(_onew, GetType(ProjectPlanRows))
_ProjectPlanRows_Collection.BeginUpdateCriteria()
_ProjectPlanRows_Collection.Criteria("Criteris") = CriteriaOperator.Parse(_Criteria)
_ProjectPlanRows_Collection.EndUpdateCriteria()
e.ShowViewParameters.CreatedView = Application.CreateListView("ProjectPlanRows_ListView_Controlling", _ProjectPlanRows_Collection, True)
End If
End Sub
Private Sub aProjectPlanViewContractsPivot_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aProjectPlanViewContractsPivot.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ProjectPlan As ProjectPlan = Nothing
If TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource) IsNot Nothing Then
_ProjectPlan = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, ProjectPlan)
Else
If TryCast(View, ListView).CollectionSource.List.Count > 0 Then
_ProjectPlan = TryCast(TryCast(View, ListView).CollectionSource.List(0), ProjectPlanRows).ProjectPlan
End If
End If
If _ProjectPlan Is Nothing Then Exit Sub
If LTrim(RTrim(_Criteria <> "")) Then
Dim _ProjectPlanRows As ProjectPlanRows = _onew.FindObject(Of ProjectPlanRows)(CriteriaOperator.Parse(_Criteria))
If _ProjectPlanRows IsNot Nothing Then
Dim _ContractRows_Controlling As New CollectionSource(_onew, GetType(ContractRows))
'_ContractRows.GLHeader.DateExecution.Date
_ContractRows_Controlling.BeginUpdateCriteria()
If _ProjectPlanRows.Controlling Is Nothing Then
_ContractRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("isnull(Controlling)=True")
Else
_ContractRows_Controlling.Criteria("Controlling") = CriteriaOperator.Parse("Controlling=?", _ProjectPlanRows.Controlling)
End If
If _ProjectPlanRows.CostHolder Is Nothing Then
_ContractRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("isnull(CostHolder)=True")
Else
_ContractRows_Controlling.Criteria("CostHolder") = CriteriaOperator.Parse("CostHolder=?", _ProjectPlanRows.CostHolder)
End If
If _ProjectPlanRows.CostPlace Is Nothing Then
_ContractRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("isnull(CostPlace)=True")
Else
_ContractRows_Controlling.Criteria("CostPlace") = CriteriaOperator.Parse("CostPlace=?", _ProjectPlanRows.CostPlace)
End If
If _ProjectPlanRows.JobNumberObjects Is Nothing Then
_ContractRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("isnull(JobNumberObjects)=True")
Else
_ContractRows_Controlling.Criteria("JobNumberObjects") = CriteriaOperator.Parse("JobNumberObjects=?", _ProjectPlanRows.JobNumberObjects)
End If
If _ProjectPlanRows.UniqueObjects Is Nothing Then
_ContractRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("isnull(UniqueObjects)=True")
Else
_ContractRows_Controlling.Criteria("UniqueObjects") = CriteriaOperator.Parse("UniqueObjects=?", _ProjectPlanRows.UniqueObjects)
End If
_ContractRows_Controlling.Criteria("DateExecution") = CriteriaOperator.Parse("GetYear(DateExecution)=? and GetMonth(DateExecution)=? and Contracts.CustomersFrom=?", _ProjectPlanRows.DateYear, _ProjectPlanRows.DateMonth, _ProjectPlanRows.ProjectPlan.CustomersFrom)
_ContractRows_Controlling.EndUpdateCriteria()
e.ShowViewParameters.CreatedView = Application.CreateListView("ContractRows_ListView_ProjectPlan", _ContractRows_Controlling, True)
End If
End If
End Sub
End Class