309 lines
16 KiB
VB.net
309 lines
16 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.Data.Filtering
|
|
Imports DevExpress.ExpressApp.SystemModule
|
|
Imports DevExpress.ExpressApp.Web.SystemModule
|
|
|
|
Public Class Support_VC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
|
|
Public Sub New()
|
|
MyBase.New()
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
If View.Id = "SupportRoles_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
End If
|
|
If View.Id = "CRM_Opportunities_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User = ?", _ocur.GetObject(SecuritySystem.CurrentUser)))
|
|
|
|
If _Contacts IsNot Nothing Then
|
|
If _Contacts.Customers IsNot Nothing Then
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("Customers.Oid = ?", _Contacts.Customers.Oid)
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
End If
|
|
If View.Id = "OfferOutHeader_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User = ?", _ocur.GetObject(SecuritySystem.CurrentUser)))
|
|
|
|
If _Contacts IsNot Nothing Then
|
|
If _Contacts.Customers IsNot Nothing Then
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("Customers.Oid = ?", _Contacts.Customers.Oid)
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
|
|
End If
|
|
If View.Id = "WorkSheet_Header_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User = ?", _ocur.GetObject(SecuritySystem.CurrentUser)))
|
|
|
|
If _Contacts IsNot Nothing Then
|
|
If _Contacts.Customers IsNot Nothing Then
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("Customers.Oid = ?", _Contacts.Customers.Oid)
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
End If
|
|
If View.Id = "Contracts_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User = ?", _ocur.GetObject(SecuritySystem.CurrentUser)))
|
|
|
|
If _Contacts IsNot Nothing Then
|
|
If _Contacts.Customers IsNot Nothing Then
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("Customers.Oid = ?", _Contacts.Customers.Oid)
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
End If
|
|
If View.Id = "PCIGroup_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User = ?", _ocur.GetObject(SecuritySystem.CurrentUser)))
|
|
|
|
If _Contacts IsNot Nothing Then
|
|
If _Contacts.Customers IsNot Nothing Then
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("Customers.Oid = ?", _Contacts.Customers.Oid)
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
Else
|
|
TryCast(View, ListView).CollectionSource.Criteria("ByPartner") = CriteriaOperator.Parse("1=2")
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
If View.Id = "SupportRoles_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "CRM_Opportunities_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "OfferOutHeader_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "WorkSheet_Header_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "Contracts_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
|
|
End If
|
|
If View.Id = "PCIGroup_ListView_Support" Then
|
|
Frame.GetController(Of ListViewController).EditAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub aSupportNavigationEnable_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aSupportNavigationEnable.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _MasterKey As Guid = SecuritySystem.CurrentUserId
|
|
|
|
Dim _ModelNavigation_Collection As New XPCollection(Of ModelNavigation)(_uow, CriteriaOperator.Parse("MasterKey=?", _MasterKey))
|
|
_uow.Delete(_ModelNavigation_Collection)
|
|
_uow.CommitChanges()
|
|
|
|
If View.SelectedObjects.Count = 1 Then
|
|
Dim _SupportRoles As SupportRoles = TryCast(View.SelectedObjects(0), SupportRoles)
|
|
If _SupportRoles IsNot Nothing Then
|
|
Dim _NavigationItemRole_Collection As New XPCollection(Of NavigationItemRole)(_onew.Session, CriteriaOperator.Parse("SupportRoles.Oid=?", _SupportRoles.Oid))
|
|
Dim _NavigationItemRole As NavigationItemRole
|
|
|
|
Dim _ModelNavigation As ModelNavigation
|
|
|
|
Dim _IModelNavigationItems As IModelNavigationItems
|
|
Dim _IModelNavigationItem As IModelNavigationItem
|
|
|
|
Dim _NavigationItems As IModelRootNavigationItems = DirectCast(Application.Model, IModelApplicationNavigationItems).NavigationItems
|
|
_IModelNavigationItems = TryCast(_NavigationItems.Items, IModelNavigationItems)
|
|
For Each _IModelNavigationItem In _IModelNavigationItems
|
|
RecursiveAddModelNavigation(_uow, _MasterKey, Nothing, _IModelNavigationItem)
|
|
Next
|
|
_uow.CommitChanges()
|
|
|
|
Dim _CS As CollectionSource = New CollectionSource(_onew, GetType(ModelNavigation))
|
|
|
|
_CS.BeginUpdateCriteria()
|
|
_CS.Criteria.Add("Filter1", CriteriaOperator.Parse("MasterKey=?", _MasterKey))
|
|
_CS.EndUpdateCriteria()
|
|
_CS.Sorting.Add(New SortProperty("Index", DB.SortingDirection.Ascending))
|
|
|
|
For Each _ModelNavigation In _CS.Collection
|
|
For Each _NavigationItemRole In _NavigationItemRole_Collection
|
|
If _NavigationItemRole.ChoiceActionItemId = _ModelNavigation.Name Then
|
|
RecursiveDeny(_ModelNavigation)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
e.View = Application.CreateListView("ModelNavigation_ListView", _CS, False)
|
|
If _SupportRoles IsNot Nothing Then
|
|
e.View.Caption += " (" & _SupportRoles.ShortName & ")"
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub aSupportNavigationEnable_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aSupportNavigationEnable.Execute
|
|
Dim _ModelNavigation As ModelNavigation
|
|
Dim _NavigationItemRole As NavigationItemRole
|
|
Dim _ocur As IObjectSpace = View.ObjectSpace
|
|
|
|
Dim _SupportRoles As SupportRoles
|
|
|
|
For Each _SupportRoles In View.SelectedObjects
|
|
For Each _ModelNavigation In e.PopupWindow.View.SelectedObjects
|
|
_NavigationItemRole = _ocur.FindObject(Of NavigationItemRole)(CriteriaOperator.Parse("SupportRoles.Oid=? and ChoiceActionItemId=?", _SupportRoles.Oid, _ModelNavigation.Name))
|
|
If _NavigationItemRole IsNot Nothing Then
|
|
_ocur.Delete(_NavigationItemRole)
|
|
End If
|
|
Next
|
|
Next
|
|
_ocur.CommitChanges()
|
|
End Sub
|
|
|
|
Private Sub aSupportNavigationDisable_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aSupportNavigationDisable.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
|
|
Dim _MasterKey As Guid = SecuritySystem.CurrentUserId
|
|
|
|
Dim _ModelNavigation_Collection As New XPCollection(Of ModelNavigation)(_uow, CriteriaOperator.Parse("MasterKey=?", _MasterKey))
|
|
_uow.Delete(_ModelNavigation_Collection)
|
|
_uow.CommitChanges()
|
|
|
|
If View.SelectedObjects.Count = 1 Then
|
|
Dim _SupportRoles As SupportRoles = TryCast(View.SelectedObjects(0), SupportRoles)
|
|
If _SupportRoles IsNot Nothing Then
|
|
Dim _NavigationItemRole_Collection As New XPCollection(Of NavigationItemRole)(_onew.Session, CriteriaOperator.Parse("SupportRoles.Oid=?", _SupportRoles.Oid))
|
|
Dim _NavigationItemRole As NavigationItemRole
|
|
|
|
Dim _ModelNavigation As ModelNavigation
|
|
|
|
Dim _IModelNavigationItems As IModelNavigationItems
|
|
Dim _IModelNavigationItem As IModelNavigationItem
|
|
|
|
Dim _NavigationItems As IModelRootNavigationItems = DirectCast(Application.Model, IModelApplicationNavigationItems).NavigationItems
|
|
_IModelNavigationItems = TryCast(_NavigationItems.Items, IModelNavigationItems)
|
|
For Each _IModelNavigationItem In _IModelNavigationItems
|
|
RecursiveAddModelNavigation(_uow, _MasterKey, Nothing, _IModelNavigationItem)
|
|
Next
|
|
_uow.CommitChanges()
|
|
|
|
Dim _CS As CollectionSource = New CollectionSource(_onew, GetType(ModelNavigation))
|
|
|
|
_CS.BeginUpdateCriteria()
|
|
_CS.Criteria.Add("Filter1", CriteriaOperator.Parse("MasterKey=?", _MasterKey))
|
|
_CS.EndUpdateCriteria()
|
|
_CS.Sorting.Add(New SortProperty("Index", DB.SortingDirection.Ascending))
|
|
|
|
For Each _ModelNavigation In _CS.Collection
|
|
For Each _NavigationItemRole In _NavigationItemRole_Collection
|
|
If _NavigationItemRole.ChoiceActionItemId = _ModelNavigation.Name Then
|
|
RecursiveDeny(_ModelNavigation)
|
|
End If
|
|
Next
|
|
Next
|
|
|
|
e.View = Application.CreateListView("ModelNavigation_ListView", _CS, False)
|
|
If _SupportRoles IsNot Nothing Then
|
|
e.View.Caption += " (" & _SupportRoles.ShortName & ")"
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub aSupportNavigationDisable_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aSupportNavigationDisable.Execute
|
|
Dim _ModelNavigation As ModelNavigation
|
|
Dim _NavigationItemRole As NavigationItemRole
|
|
Dim _ocur As IObjectSpace = View.ObjectSpace
|
|
|
|
Dim _SupportRoles As SupportRoles
|
|
|
|
For Each _SupportRoles In View.SelectedObjects
|
|
For Each _ModelNavigation In e.PopupWindow.View.SelectedObjects
|
|
_NavigationItemRole = _ocur.FindObject(Of NavigationItemRole)(CriteriaOperator.Parse("SupportRoles.Oid=? and ChoiceActionItemId=?", _SupportRoles.Oid, _ModelNavigation.Name))
|
|
If _NavigationItemRole Is Nothing Then
|
|
_NavigationItemRole = _ocur.CreateObject(Of NavigationItemRole)()
|
|
_NavigationItemRole.SupportRoles = _ocur.GetObject(_SupportRoles)
|
|
_NavigationItemRole.ChoiceActionItemId = _ModelNavigation.Name
|
|
End If
|
|
Next
|
|
Next
|
|
_ocur.CommitChanges()
|
|
End Sub
|
|
Sub RecursiveAddModelNavigation(_uow As UnitOfWork, _MasterKey As Guid, _ModelNavigationParent As ModelNavigation, _IModelNavigationItem As IModelNavigationItem)
|
|
Dim _ModelNavigation As ModelNavigation
|
|
Dim _IModelNavigationItem_Child As IModelNavigationItem
|
|
|
|
_ModelNavigation = New ModelNavigation(_uow)
|
|
|
|
_ModelNavigation.Parent = _ModelNavigationParent
|
|
_ModelNavigation.Name = _IModelNavigationItem.Id
|
|
_ModelNavigation.Navigation_Caption = _IModelNavigationItem.Caption
|
|
_ModelNavigation.Navigation_ImageName = _IModelNavigationItem.ImageName
|
|
_ModelNavigation.MasterKey = _MasterKey
|
|
|
|
_uow.CommitChanges()
|
|
|
|
If _IModelNavigationItem.Items.Count > 0 Then
|
|
For Each _IModelNavigationItem_Child In _IModelNavigationItem.Items
|
|
RecursiveAddModelNavigation(_uow, _MasterKey, _ModelNavigation, _IModelNavigationItem_Child)
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
Sub RecursiveDeny(_ModelNavigation As ModelNavigation)
|
|
Dim _ModelNavigation_Children As ModelNavigation
|
|
_ModelNavigation.Navigation_Enabled = False
|
|
If _ModelNavigation.Children.Count > 0 Then
|
|
For Each _ModelNavigation_Children In _ModelNavigation.Children
|
|
RecursiveDeny(_ModelNavigation_Children)
|
|
Next
|
|
End If
|
|
End Sub
|
|
End Class
|