Files
Nuvolar/Nuvolar.Module.Web/BusinessObjects/GeneralObjects/OperationalLog/OperationalLog_VC.vb
T
2017-03-08 11:21:27 +01:00

186 lines
11 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.Xpo
Imports DevExpress.ExpressApp.Reports
Imports System.Drawing.Imaging
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraPrinting.Preview
Imports DevExpress.ExpressApp.CloneObject
Imports DevExpress.XtraReports.Web
Imports System.IO
Imports DevExpress.Web.ASPxClasses.Internal
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.Reports.Web
Imports DevExpress.Persistent.BaseImpl
Public Class OperationalLog_VC
Inherits Nuvolar.Module.OperationalLog_VC
Dim _XafReport As XafReport
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 = "OperationLog_ViewLogs_PopUp_DetailView" Then
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", False)
End If
If View.Id = "OperationalLog_ListView_Support" Then
Frame.GetController(Of DevExpress.ExpressApp.Web.SystemModule.ListViewController).EditAction.Active.SetItemValue("", False)
End If
If View.Id = "ReportViewer_DetailView" Then
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", False)
End If
If View.Id = "OperationalLog_DetailView_Support" Then
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OperationalLog As OperationalLog = TryCast(View.SelectedObjects(0), OperationalLog)
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User=?", _User))
Dim _WorkPlace As WorkPlace = _ocur.FindObject(Of WorkPlace)(CriteriaOperator.Parse("Customers=?", _Contacts.Customers))
Dim _WorkState As WorkState = _ocur.FindObject(Of WorkState)(CriteriaOperator.Parse("IsOperationalLog = True"))
If _WorkPlace IsNot Nothing And _WorkState IsNot Nothing Then
Dim _OperationalLogParameters As OperationalLogParameters = _ocur.FindObject(Of OperationalLogParameters) _
(CriteriaOperator.Parse("CustomersFrom=? AND WorkPlace=?", _WorkPlace.CustomersFrom, _WorkPlace))
If _OperationalLogParameters IsNot Nothing Then
With _OperationalLog
If .Customers Is Nothing Then .Customers = _Contacts.Customers
If .CustomersFrom Is Nothing Then .CustomersFrom = _WorkPlace.CustomersFrom
If .OperationalLogParameters Is Nothing Then .OperationalLogParameters = _OperationalLogParameters
If .WorkPlace Is Nothing Then .WorkPlace = _WorkPlace
If .WorkState Is Nothing Then .WorkState = _WorkState
End With
End If
'Else
'MsgBox(String.Format("Nincs beállítva munkahely és / vagy munkafolyamat a {0} felhasználóhoz! A naplót nem lehet menteni!", _User.FullName), MsgBoxStyle.OkOnly, "Kérem, ellenõrizze!")
End If
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "OperationLog_ViewLogs_PopUp_DetailView" Then
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", True)
End If
If View.Id = "OperationalLog_ListView_Support" Then
'Frame.GetController(Of DevExpress.ExpressApp.Web.SystemModule.ListViewController).EditAction.Active.SetItemValue("", True)
End If
If View.Id = "ReportViewer_DetailView" Then
Frame.GetController(Of CloneObjectViewController)().Active.SetItemValue("", True)
End If
End Sub
Private Sub aOperationLog_PrintLog_Execute_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aOperationLog_PrintLog_Execute.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OperationLog_ViewLogs_PopUp As OperationLog_ViewLogs_PopUp = TryCast(View.SelectedObjects(0), OperationLog_ViewLogs_PopUp)
Dim _OperationalLog As OperationalLog = _ocur.FindObject(Of OperationalLog)(CriteriaOperator.Parse("WorkPlace.Oid=?", _OperationLog_ViewLogs_PopUp.WorkPlace.Oid))
Dim _ReportData As ReportData
If _OperationalLog IsNot Nothing Then
_ReportData = _OperationalLog.OperationalLogParameters.ReportData
Dim _ActFromDate As Date = New Date(_OperationLog_ViewLogs_PopUp.FromDate.Date.Year, _OperationLog_ViewLogs_PopUp.FromDate.Date.Month, _OperationLog_ViewLogs_PopUp.FromDate.Date.Day, _OperationLog_ViewLogs_PopUp.FromDateHour, _OperationLog_ViewLogs_PopUp.FromDateMin, 0)
Dim _ActToDate As Date = New Date(_OperationLog_ViewLogs_PopUp.ToDate.Date.Year, _OperationLog_ViewLogs_PopUp.ToDate.Date.Month, _OperationLog_ViewLogs_PopUp.ToDate.Date.Day, _OperationLog_ViewLogs_PopUp.ToDateHour, _OperationLog_ViewLogs_PopUp.ToDateMin, 0)
Dim _OperationalLog_Collection As New XPCollection(Of OperationalLog)(_ocur.Session, CriteriaOperator.Parse("WorkPlace.Oid=? AND ObjectCreated<? AND ObjectCreated>?", _
_OperationLog_ViewLogs_PopUp.WorkPlace.Oid, _ActToDate, _ActFromDate))
Dim _OperationalLog_OidArray As String = "Oid in('"
If _OperationalLog_Collection.Count > 0 Then
For Each _OperationalLog_Selected As OperationalLog In _OperationalLog_Collection
_OperationalLog_OidArray += _OperationalLog_Selected.Oid.ToString + "','"
Next
Else
_OperationalLog_OidArray = "1=2"
End If
If _OperationalLog_OidArray.Length > 3 Then
_OperationalLog_OidArray = _OperationalLog_OidArray.Remove(_OperationalLog_OidArray.Length - 2, 2)
_OperationalLog_OidArray += ")"
End If
Frame.GetController(Of WebReportServiceController).ShowPreview(_ReportData, CriteriaOperator.Parse(_OperationalLog_OidArray))
End If
End Sub
Private Sub aOperationLog_PrintLogs_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aOperationLog_PrintLogs.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OperationalLog As OperationalLog = _onew.GetObject(View.SelectedObjects(0))
Dim _OperationLog_ViewLogs_PopUp As OperationLog_ViewLogs_PopUp = _onew.CreateObject(Of OperationLog_ViewLogs_PopUp)()
If View.Id = "OperationalLog_ListView_Support" Then
Dim _User As User = _onew.GetObjectByKey(Of User)(_onew.GetKeyValue(SecuritySystem.CurrentUser))
Dim _Contacts As Contacts = _onew.FindObject(Of Contacts)(CriteriaOperator.Parse("User=?", _User))
Dim _Workplace As WorkPlace = _onew.FindObject(Of WorkPlace)(CriteriaOperator.Parse("Customers=? and OperationalLogType='General'", _Contacts.Customers))
_OperationLog_ViewLogs_PopUp.WorkPlace = _Workplace
End If
If View.Id = "OperationalLog_ListView_Support_HFR" Then
Dim _User As User = _onew.GetObjectByKey(Of User)(_onew.GetKeyValue(SecuritySystem.CurrentUser))
Dim _Contacts As Contacts = _onew.FindObject(Of Contacts)(CriteriaOperator.Parse("User=?", _User))
Dim _Workplace As WorkPlace = _onew.FindObject(Of WorkPlace)(CriteriaOperator.Parse("Customers=? and OperationalLogType='HFR'", _Contacts.Customers))
_OperationLog_ViewLogs_PopUp.WorkPlace = _Workplace
End If
_OperationLog_ViewLogs_PopUp.CustomersFrom = _OperationalLog.CustomersFrom
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OperationLog_ViewLogs_PopUp_DetailView", True, _OperationLog_ViewLogs_PopUp)
e.ShowViewParameters.TargetWindow = TargetWindow.Current
e.ShowViewParameters.NewWindowTarget = NewWindowTarget.Default
End Sub
Private Sub aOperationaLog_CreateNewSupportLog_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aOperationaLog_CreateNewSupportLog.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
Dim _Contacts As Contacts = _ocur.FindObject(Of Contacts)(CriteriaOperator.Parse("User=?", _User))
Dim _WorkPlace As WorkPlace = _ocur.FindObject(Of WorkPlace)(CriteriaOperator.Parse("Customers=?", _Contacts.Customers))
Dim _WorkState As WorkState = _ocur.FindObject(Of WorkState)(CriteriaOperator.Parse("IsOperationalLog = True"))
If _WorkPlace IsNot Nothing And _WorkState IsNot Nothing Then
Dim _OperationalLogParameters As OperationalLogParameters = _ocur.FindObject(Of OperationalLogParameters) _
(CriteriaOperator.Parse("CustomersFrom=? AND WorkPlace=?", _WorkPlace.CustomersFrom, _WorkPlace))
If _OperationalLogParameters IsNot Nothing Then
Dim _OperationalLog As New OperationalLog(_onew.Session)
With _OperationalLog
.Customers = _onew.GetObject(_Contacts.Customers)
.CustomersFrom = _onew.GetObject(_WorkPlace.CustomersFrom)
.OperationalLogParameters = _onew.GetObject(_OperationalLogParameters)
.WorkPlace = _onew.GetObject(_WorkPlace)
.WorkState = _onew.GetObject(_WorkState)
End With
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "OperationalLog_DetailView_Support", True, _OperationalLog)
e.ShowViewParameters.TargetWindow = TargetWindow.Current
e.ShowViewParameters.NewWindowTarget = NewWindowTarget.Default
End If
' Else
' MsgBox(String.Format("Nincs beállítva munkahely és / vagy munkafolyamat a {0} felhasználóhoz!", _User.FullName), MsgBoxStyle.OkOnly, "Kérem, ellenõrizze!")
End If
End Sub
End Class