First create solution

This commit is contained in:
2017-03-08 11:21:27 +01:00
commit a2fb86bacf
5508 changed files with 1082238 additions and 0 deletions
@@ -0,0 +1,435 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Public Enum eControllingDirection
eIn = 0
eOut = 1
eNotSet = -1
End Enum
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
Public Class Controlling
Inherits HCategory
Private _ChartOfAccounts As ChartOfAccounts '5 ötös
Private _ChartOfAccounts2 As ChartOfAccounts '8 nyócas
Private _IsCOCRequired As Boolean = True 'Teljesítési igazolást igényel az adott számra teljesítéshez kötelező az aláírt nyomtatvány
Private _COCAboveAmount As Double 'A teljesítési igazolás nyomtatása nem szükséges ezen összeg alatt
Private _IsParent As Boolean = False
Private _Controllingdirection As eControllingDirection ' Kontrollszám pénzmozgás iránya
Private _IsReInvoiceReason As Boolean = False ' Továbbszámlázási jogcímként is használható?
Private _ReInvoiceDescription As String ' Ha továbbszámlázási jogcím is akkor mi a jogcím megnevezése
Private _TechnicalContractLimit As Double 'Adott CM-re vonatkozó összeghatár ameddig technikai szerződést enged létrehozni
Private _Controlling1 As Controlling
Private _Controlling2 As Controlling
Private _Controlling3 As Controlling
Private _Controlling4 As Controlling
Private _Controlling5 As Controlling
Private _IsAdvancePayment As Boolean 'Előleg, vagy foglaló kontrollszám
Private _IsEstateStatistics As Boolean 'Ingatlan értékesítési statisztikába szűrés
' Nonpersistent --------------------------------------------
Private _CollectionOfControlling As XPCollection(Of Controlling)
Private _RequireCars As Boolean = False
Private _RequireHRPerson As Boolean
Private _RequirePhones As Boolean = False
Public Sub New(ByVal session As Session)
MyBase.New(session)
If session.IsObjectsLoading = False And session.IsObjectsSaving = False Then
Me.Controllingdirection = eControllingDirection.eNotSet
End If
End Sub
Protected Overrides Sub OnDeleting()
MyBase.OnDeleting()
If Me.Parent IsNot Nothing Then
If Me.Parent.Children IsNot Nothing Then
If Me.Parent.Children.Count = 1 Then
TryCast(Me.Parent, Controlling).IsParent = False
End If
End If
End If
End Sub
Protected Overrides Sub OnSaving()
MyBase.OnSaving()
Dim _c As New XPCollection(Session, GetType(Controlling), CriteriaOperator.Parse("Children.Count=0 and IsParent=True"))
Dim _Controlling As Controlling
For Each _Controlling In _c
If _Controlling.Children.Count = 0 Then
_Controlling.IsParent = False
_Controlling.Save()
End If
Next
Dim _c1 As New XPCollection(Session, GetType(Controlling), CriteriaOperator.Parse("Children.Count<>0 and IsParent=False"))
Dim _Controlling1 As Controlling
For Each _Controlling1 In _c1
If _Controlling1.Children.Count <> 0 Then
_Controlling1.IsParent = True
_Controlling1.Save()
End If
Next
Me.ReconfigureGroup(Nothing, Me, False)
End Sub
<ImmediatePostData(True), DataSourceProperty("CollectionOfControlling")>
<NonPersistent>
Property ParentObject As Controlling
Get
Return MyBase.Parent
End Get
Set(value As Controlling)
MyBase.Parent = value
End Set
End Property
<VisibleInListView(False), VisibleInDetailView(False), VisibleInLookupListView(False)>
<Browsable(False)>
<NonPersistent()>
Private ReadOnly Property CollectionOfControlling As XPCollection(Of Controlling)
Get
_CollectionOfControlling = New XPCollection(Of Controlling)(Session, CriteriaOperator.Parse("Oid != ?", Me.Oid))
Return _CollectionOfControlling
End Get
End Property
<Browsable(False)>
Property ChartOfAccounts As ChartOfAccounts
Get
Return (_ChartOfAccounts)
End Get
Set(ByVal value As ChartOfAccounts)
SetPropertyValue("ChartOfAccounts", _ChartOfAccounts, value)
End Set
End Property
<Browsable(False)>
Property ChartOfAccounts2 As ChartOfAccounts
Get
Return (_ChartOfAccounts2)
End Get
Set(ByVal value As ChartOfAccounts)
SetPropertyValue("ChartOfAccounts2", _ChartOfAccounts2, value)
End Set
End Property
Property IsCOCRequired As Boolean
Get
Return _IsCOCRequired
End Get
Set(ByVal value As Boolean)
SetPropertyValue("IsCOCRequired", _IsCOCRequired, value)
End Set
End Property
Property COCAboveAmount As Double
Get
Return _COCAboveAmount
End Get
Set(ByVal value As Double)
SetPropertyValue("COCAboveAmount", _COCAboveAmount, value)
End Set
End Property
Property IsParent As Boolean
Get
Return _IsParent
End Get
Set(ByVal value As Boolean)
SetPropertyValue("IsParent", _IsParent, value)
End Set
End Property
Property Controllingdirection As eControllingDirection
Get
Return _Controllingdirection
End Get
Set(ByVal value As eControllingDirection)
SetPropertyValue("Controllingdirection", _Controllingdirection, value)
End Set
End Property
Property IsReInvoiceReason As Boolean
Get
Return _IsReInvoiceReason
End Get
Set(ByVal value As Boolean)
SetPropertyValue("IsReInvoiceReason", _IsReInvoiceReason, value)
End Set
End Property
Property ReInvoiceDescription As String
Get
Return _ReInvoiceDescription
End Get
Set(ByVal value As String)
SetPropertyValue("ReInvoiceDescription", _ReInvoiceDescription, value)
End Set
End Property
Property TechnicalContractLimit As Double
Get
Return _TechnicalContractLimit
End Get
Set(value As Double)
SetPropertyValue("TechnicalContractLimit", _TechnicalContractLimit, value)
End Set
End Property
Property Controlling1 As Controlling
Get
Return _Controlling1
End Get
Set(value As Controlling)
SetPropertyValue("Controlling1", _Controlling1, value)
End Set
End Property
Property Controlling2 As Controlling
Get
Return _Controlling2
End Get
Set(value As Controlling)
SetPropertyValue("Controlling2", _Controlling2, value)
End Set
End Property
Property Controlling3 As Controlling
Get
Return _Controlling3
End Get
Set(value As Controlling)
SetPropertyValue("Controlling3", _Controlling3, value)
End Set
End Property
Property Controlling4 As Controlling
Get
Return _Controlling4
End Get
Set(value As Controlling)
SetPropertyValue("Controlling4", _Controlling4, value)
End Set
End Property
Property Controlling5 As Controlling
Get
Return _Controlling5
End Get
Set(value As Controlling)
SetPropertyValue("Controlling5", _Controlling5, value)
End Set
End Property
Property IsAdvancePayment As Boolean
Get
Return _IsAdvancePayment
End Get
Set(value As Boolean)
SetPropertyValue("IsAdvancePayment", _IsAdvancePayment, value)
End Set
End Property
Property IsEstateStatistics As Boolean
Get
Return _IsEstateStatistics
End Get
Set(value As Boolean)
SetPropertyValue("IsEstateStatistics", _IsEstateStatistics, value)
End Set
End Property
Property RequireCars As Boolean
Get
Return _RequireCars
End Get
Set(value As Boolean)
SetPropertyValue("RequireCars", _RequireCars, value)
End Set
End Property
Property RequireHRPerson As Boolean
Get
Return _RequireHRPerson
End Get
Set(value As Boolean)
SetPropertyValue("RequireHRPerson", _RequireHRPerson, value)
End Set
End Property
Property RequirePhones As Boolean
Get
Return _RequirePhones
End Get
Set(value As Boolean)
SetPropertyValue("RequirePhones", _RequirePhones, value)
End Set
End Property
Sub ReconfigureGroup(_ObjectSpace As Xpo.XPObjectSpace, _Controlling As Controlling, _WithCommit As Boolean)
Dim _Controlling5 As Controlling = Nothing
Dim _Controlling4 As Controlling = Nothing
Dim _Controlling3 As Controlling = Nothing
Dim _Controlling2 As Controlling = Nothing
Dim _Controlling1 As Controlling = Nothing
_Controlling1 = _Controlling.Parent
If _Controlling1 IsNot Nothing Then
_Controlling2 = _Controlling1.Parent
If _Controlling2 IsNot Nothing Then
_Controlling3 = _Controlling2.Parent
If _Controlling3 IsNot Nothing Then
_Controlling4 = _Controlling3.Parent
If _Controlling4 IsNot Nothing Then
_Controlling5 = _Controlling4.Parent
End If
End If
End If
End If
If _Controlling5 IsNot Nothing Then
_Controlling._Controlling1 = _Controlling5
_Controlling._Controlling2 = _Controlling4
_Controlling._Controlling3 = _Controlling3
_Controlling._Controlling4 = _Controlling2
_Controlling._Controlling5 = _Controlling1
ElseIf _Controlling4 IsNot Nothing Then
_Controlling._Controlling1 = _Controlling4
_Controlling._Controlling2 = _Controlling3
_Controlling._Controlling3 = _Controlling2
_Controlling._Controlling4 = _Controlling1
_Controlling._Controlling5 = _Controlling
ElseIf _Controlling3 IsNot Nothing Then
_Controlling._Controlling1 = _Controlling3
_Controlling._Controlling2 = _Controlling2
_Controlling._Controlling3 = _Controlling1
_Controlling._Controlling4 = _Controlling
_Controlling._Controlling5 = Nothing
ElseIf _Controlling2 IsNot Nothing Then
_Controlling._Controlling1 = _Controlling2
_Controlling._Controlling2 = _Controlling1
_Controlling._Controlling3 = _Controlling
_Controlling._Controlling4 = Nothing
_Controlling._Controlling5 = Nothing
ElseIf _Controlling1 IsNot Nothing Then
_Controlling._Controlling1 = _Controlling1
_Controlling._Controlling2 = _Controlling
_Controlling._Controlling3 = Nothing
_Controlling._Controlling4 = Nothing
_Controlling._Controlling5 = Nothing
ElseIf _Controlling1 Is Nothing Then
_Controlling._Controlling1 = _Controlling
_Controlling._Controlling2 = Nothing
_Controlling._Controlling3 = Nothing
_Controlling._Controlling4 = Nothing
_Controlling._Controlling5 = Nothing
End If
_Controlling.Save()
If _WithCommit Then _ObjectSpace.CommitChanges()
End Sub
Private Sub InContrlollingSet(ByVal _p_InControlling As Controlling)
'----- Rekurzív gráf bejárás az összes gyerekelemnek a BEVÉTEL kontrollszám csoportban --------------
_p_InControlling.Controllingdirection = eControllingDirection.eIn ' Gyökér elem beállítása
If _p_InControlling.Children.Count = 0 Then ' Szülő elem beállítása
_p_InControlling.Controllingdirection = eControllingDirection.eIn
Else
Dim _Controlling As Controlling
For Each _Controlling In _p_InControlling.Children
_Controlling.Controllingdirection = eControllingDirection.eIn ' Levél elemek beállítása
If _Controlling.Children.Count <> 0 Then ' A rekurzió megakasztása
InContrlollingSet(_Controlling)
End If
Next
End If
_p_InControlling.Save()
End Sub
Private Sub OutContrlollingSet(ByVal _p_OutControlling As Controlling)
'----- Rekurzív gráf bejárás az összes gyerekelemnek a KIADÁS kontrollszám csoportban --------------
_p_OutControlling.Controllingdirection = eControllingDirection.eOut ' Gyökér elem beállítása
If _p_OutControlling.Children.Count = 0 Then ' Szülő elem beállítása
_p_OutControlling.Controllingdirection = eControllingDirection.eOut
Else
Dim _Controlling As Controlling
For Each _Controlling In _p_OutControlling.Children
_Controlling.Controllingdirection = eControllingDirection.eOut ' Levél elemek beállítása
If _Controlling.Children.Count <> 0 Then ' A rekurzió megakasztása
OutContrlollingSet(_Controlling)
End If
Next
End If
_p_OutControlling.Save()
End Sub
<Association("Controlling-ControllingYear", GetType(ControllingYear)), VisibleInListView(False), VisibleInLookupListView(False)>
ReadOnly Property ControllingYear As XPCollection(Of ControllingYear)
Get
Return GetCollection(Of ControllingYear)("ControllingYear")
End Get
End Property
Public Function GetChartOfAccounts(_AccountYear As Long, _IsReinvoice As Boolean) As ChartOfAccounts
Dim _ChartOfAccounts As ChartOfAccounts = Nothing
Dim _ControllingYear As ControllingYear
Select Case _IsReinvoice
Case False
_ChartOfAccounts = Me.ChartOfAccounts
For Each _ControllingYear In Me.ControllingYear
If _ControllingYear.AccountYear = _AccountYear Then
_ChartOfAccounts = _ControllingYear.ChartOfAccounts
Exit For
End If
Next
Case True
_ChartOfAccounts = Me.ChartOfAccounts2
For Each _ControllingYear In Me.ControllingYear
If _ControllingYear.AccountYear = _AccountYear Then
_ChartOfAccounts = _ControllingYear.ChartOfAccounts2
Exit For
End If
Next
End Select
Return _ChartOfAccounts
End Function
End Class 'Kontroll számok
<DefaultClassOptions(), NavigationItem(False), CreatableItem(False)>
<RuleCriteria("RuleCriteria ControllingYear-ChartOfAccounts", DefaultContexts.Save, "ChartOfAccounts.Children.Count=0", "Csak gyermek objektum választható ki!", SkipNullOrEmptyValues:=False)>
<RuleCriteria("RuleCriteria ControllingYear-ChartOfAccounts2", DefaultContexts.Save, "ChartOfAccounts2.Children.Count=0", "Csak gyermek objektum választható ki!", SkipNullOrEmptyValues:=False)>
Public Class ControllingYear
Inherits BaseObject
Private _Controlling As Controlling
Private _AccountYear As Long
Private _ChartOfAccounts As ChartOfAccounts
Private _ChartOfAccounts2 As ChartOfAccounts
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<Association("Controlling-ControllingYear", GetType(Controlling))>
Property Controlling As Controlling
Get
Return _Controlling
End Get
Set(value As Controlling)
SetPropertyValue("Controlling", _Controlling, value)
End Set
End Property
Property AccountYear As Long
Get
Return _AccountYear
End Get
Set(value As Long)
SetPropertyValue("AccountYear", _AccountYear, value)
End Set
End Property
<ImmediatePostData(True), DataSourceCriteria("AccountYear='@This.AccountYear'")>
Property ChartOfAccounts As ChartOfAccounts
Get
Return _ChartOfAccounts
End Get
Set(value As ChartOfAccounts)
SetPropertyValue("ChartOfAccounts", _ChartOfAccounts, value)
End Set
End Property
<ImmediatePostData(True), DataSourceCriteria("AccountYear='@This.AccountYear'")>
Property ChartOfAccounts2 As ChartOfAccounts
Get
Return _ChartOfAccounts2
End Get
Set(value As ChartOfAccounts)
SetPropertyValue("ChartOfAccounts2", _ChartOfAccounts2, value)
End Set
End Property
End Class
@@ -0,0 +1,64 @@
Partial Class ControllingVC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aReCreateControlling = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aGenerateControllingfromChartOfAccounts = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aReCreateControlling
'
Me.aReCreateControlling.Caption = "aRe Create Controlling"
Me.aReCreateControlling.ConfirmationMessage = "Do you want to execute command ?"
Me.aReCreateControlling.Id = "aReCreateControlling"
Me.aReCreateControlling.ImageName = Nothing
Me.aReCreateControlling.Shortcut = Nothing
Me.aReCreateControlling.Tag = Nothing
Me.aReCreateControlling.TargetObjectsCriteria = Nothing
Me.aReCreateControlling.TargetViewId = "Controlling_ListView"
Me.aReCreateControlling.ToolTip = Nothing
Me.aReCreateControlling.TypeOfView = Nothing
'
'aGenerateControllingfromChartOfAccounts
'
Me.aGenerateControllingfromChartOfAccounts.Caption = "aGenerate Controllingfrom Chart Of Accounts"
Me.aGenerateControllingfromChartOfAccounts.ConfirmationMessage = "Do you want to execute ?"
Me.aGenerateControllingfromChartOfAccounts.Id = "aGenerateControllingfromChartOfAccounts"
Me.aGenerateControllingfromChartOfAccounts.ImageName = Nothing
Me.aGenerateControllingfromChartOfAccounts.Shortcut = Nothing
Me.aGenerateControllingfromChartOfAccounts.Tag = Nothing
Me.aGenerateControllingfromChartOfAccounts.TargetObjectsCriteria = Nothing
Me.aGenerateControllingfromChartOfAccounts.TargetObjectType = GetType(Nuvolar.[Module].Controlling)
Me.aGenerateControllingfromChartOfAccounts.TargetViewId = Nothing
Me.aGenerateControllingfromChartOfAccounts.ToolTip = Nothing
Me.aGenerateControllingfromChartOfAccounts.TypeOfView = Nothing
End Sub
Friend WithEvents aReCreateControlling As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aGenerateControllingfromChartOfAccounts As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aReCreateControlling.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="aGenerateControllingfromChartOfAccounts.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>185, 17</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,119 @@
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
Public Class ControllingVC
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()
If View.Id = "HCategory_Children_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", False)
End If
If View.Id = "Controlling_LookupListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "HCategory_Children_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", True)
End If
If View.Id = "Controlling_LookupListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
End If
End Sub
Private Sub aReCreateControlling_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aReCreateControlling.Execute
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)().Active.SetItemValue("", False)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _Controlling_Collection As New XPCollection(Of Controlling)(_ocur.Session)
Dim _Controlling As Controlling
RaiseEvent InitWork(1, 1, _Controlling_Collection.Count)
For Each _Controlling In _Controlling_Collection
RaiseEvent DoWork()
_Controlling.ReconfigureGroup(_ocur, _Controlling, True)
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)().Active.SetItemValue("", True)
End Sub
Private Sub aGenerateControllingfromChartOfAccounts_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aGenerateControllingfromChartOfAccounts.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ChartOfAccounts_Collection As New XPCollection(Of ChartOfAccounts)(_onew.Session, CriteriaOperator.Parse("AccountYear=?", Now.Date.Year))
Dim _ChartOfAccounts As ChartOfAccounts
Dim _Controlling As Controlling
Dim _Controlling_Parent As Controlling = Nothing
Dim _ControllingYear As ControllingYear
_ChartOfAccounts_Collection.Sorting.Add(New SortProperty("AccountNumber", DB.SortingDirection.Ascending))
RaiseEvent InitWork(1, 1, _ChartOfAccounts_Collection.Count)
For Each _ChartOfAccounts In _ChartOfAccounts_Collection
RaiseEvent DoWork()
_Controlling = _onew.FindObject(Of Controlling)(CriteriaOperator.Parse("Name=?", _ChartOfAccounts.Name))
If _Controlling Is Nothing Then
_Controlling = _onew.CreateObject(Of Controlling)()
End If
_Controlling.Name = _ChartOfAccounts.Name
_Controlling_Parent = Nothing
If _ChartOfAccounts.Parent IsNot Nothing Then
_Controlling_Parent = _onew.FindObject(Of Controlling)(CriteriaOperator.Parse("Name=?", _ChartOfAccounts.Parent.Name))
End If
If _Controlling_Parent IsNot Nothing Then
_Controlling.Parent = _Controlling_Parent
End If
_onew.CommitChanges()
Dim _ControllingYear_Collection = New XPCollection(Of ControllingYear)(_onew.Session, CriteriaOperator.Parse("Controlling=?", _Controlling))
If _ControllingYear_Collection.Count <= 0 Then
_ControllingYear = _onew.CreateObject(Of ControllingYear)()
_ControllingYear.Controlling = _Controlling
_ControllingYear.AccountYear = Now.Date.Year
_ControllingYear.ChartOfAccounts = _ChartOfAccounts
_ControllingYear.ChartOfAccounts2 = _ChartOfAccounts
End If
Select Case Mid(_ChartOfAccounts.AccountNumber, 1, 1)
Case "5", "8"
_Controlling.Controllingdirection = eControllingDirection.eOut
Case "9"
_Controlling.Controllingdirection = eControllingDirection.eIn
Case Else
_Controlling.Controllingdirection = eControllingDirection.eNotSet
End Select
_onew.CommitChanges()
Next
_onew.CommitChanges()
RaiseEvent FinalWork
End Sub
End Class
@@ -0,0 +1,48 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
Public Class CostHolder
Inherits HCategory
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<VisibleInListView(False), VisibleInLookupListView(False)> _
ReadOnly Property HRPersonCostHolder As XPCollection(Of HRPersonCostHolder)
Get
Return New XPCollection(Of HRPersonCostHolder)(Session, CriteriaOperator.Parse("CostHolder=?", Me))
End Get
End Property
<NonPersistent>
<ImmediatePostData(True), DataSourceProperty("CollectionOfCostHolder")>
Property ParentObject As CostHolder
Get
Return MyBase.Parent
End Get
Set(value As CostHolder)
MyBase.Parent = value
End Set
End Property
<VisibleInListView(False), VisibleInDetailView(False), VisibleInLookupListView(False)> _
<Browsable(False)> _
<NonPersistent()> _
Private ReadOnly Property CollectionOfCostHolder As XPCollection(Of CostHolder)
Get
Dim _CollectionOfCostHolder As New XPCollection(Of CostHolder)(Session, CriteriaOperator.Parse("Oid != ?", Me.Oid))
Return _CollectionOfCostHolder
End Get
End Property
End Class ' Költségviselő
@@ -0,0 +1,52 @@
Partial Class CostHolderVC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aSetCostHolderToHRPerson = New DevExpress.ExpressApp.Actions.PopupWindowShowAction(Me.components)
'
'aSetCostHolderToHRPerson
'
Me.aSetCostHolderToHRPerson.AcceptButtonCaption = Nothing
Me.aSetCostHolderToHRPerson.CancelButtonCaption = Nothing
Me.aSetCostHolderToHRPerson.Caption = "aSet Cost Holder To HRPerson"
Me.aSetCostHolderToHRPerson.ConfirmationMessage = Nothing
Me.aSetCostHolderToHRPerson.Id = "aSetCostHolderToHRPerson"
Me.aSetCostHolderToHRPerson.ImageName = Nothing
Me.aSetCostHolderToHRPerson.Shortcut = Nothing
Me.aSetCostHolderToHRPerson.Tag = Nothing
Me.aSetCostHolderToHRPerson.TargetObjectsCriteria = Nothing
Me.aSetCostHolderToHRPerson.TargetObjectType = GetType(Nuvolar.[Module].HRPersonCostHolder)
Me.aSetCostHolderToHRPerson.TargetViewId = Nothing
Me.aSetCostHolderToHRPerson.TargetViewType = DevExpress.ExpressApp.ViewType.ListView
Me.aSetCostHolderToHRPerson.ToolTip = Nothing
Me.aSetCostHolderToHRPerson.TypeOfView = GetType(DevExpress.ExpressApp.ListView)
End Sub
Friend WithEvents aSetCostHolderToHRPerson As DevExpress.ExpressApp.Actions.PopupWindowShowAction
End Class
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aSetCostHolderToHRPerson.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>220, 17</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,201 @@
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 System.Linq
Imports System.Linq.Expressions
Public Class CostHolderVC
Inherits DevExpress.ExpressApp.ViewController
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 = "SetHRPersonToCostHolder_SetHRPersonToCostHolderCostHolder_ListView" Or View.Id = "SetHRPersonToCostHolder_SetHRPersonToCostHolderHRPerson_ListView" Then
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", False)
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "SetHRPersonToCostHolder_SetHRPersonToCostHolderCostHolder_ListView" Or View.Id = "SetHRPersonToCostHolder_SetHRPersonToCostHolderHRPerson_ListView" Then
Frame.GetController(Of ListViewProcessCurrentObjectController).Active.SetItemValue("", True)
End If
End Sub
Private Sub aSetCostHolderToHRPerson_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aSetCostHolderToHRPerson.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _SetHRPersonToCostHolder As SetHRPersonToCostHolder = _onew.CreateObject(Of SetHRPersonToCostHolder)()
Dim _CostHolder As CostHolder = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, CostHolder)
Dim _HRPerson As HRPerson = TryCast(TryCast(TryCast(View, ListView).CollectionSource, PropertyCollectionSource).MasterObject, HRPerson)
If _HRPerson IsNot Nothing Then
_SetHRPersonToCostHolder.Mode = 1
_SetHRPersonToCostHolder.HRPerson = _onew.GetObject(_HRPerson)
If View.CurrentObject Is Nothing Then
_SetHRPersonToCostHolder.DateFrom = FirstDayOfYear(GetSQLTime(_onew.Session))
_SetHRPersonToCostHolder.DateTo = LastDayOfYear(GetSQLTime(_onew.Session))
Else
_SetHRPersonToCostHolder.DateFrom = TryCast(View.CurrentObject, HRPersonCostHolder).DateFrom
_SetHRPersonToCostHolder.DateTo = TryCast(View.CurrentObject, HRPersonCostHolder).DateTo
End If
e.View = Application.CreateDetailView(_onew, "SetHRPersonToCostHolder_DetailView", False, _SetHRPersonToCostHolder)
ElseIf _CostHolder IsNot Nothing Then
_SetHRPersonToCostHolder.Mode = 0
_SetHRPersonToCostHolder.CostHolder = _onew.GetObject(_CostHolder)
If View.CurrentObject Is Nothing Then
_SetHRPersonToCostHolder.DateFrom = FirstDayOfYear(GetSQLTime(_onew.Session))
_SetHRPersonToCostHolder.DateTo = LastDayOfYear(GetSQLTime(_onew.Session))
Else
_SetHRPersonToCostHolder.DateFrom = TryCast(View.CurrentObject, HRPersonCostHolder).DateFrom
_SetHRPersonToCostHolder.DateTo = TryCast(View.CurrentObject, HRPersonCostHolder).DateTo
End If
e.View = Application.CreateDetailView(_onew, "SetHRPersonToCostHolder_DetailView", False, _SetHRPersonToCostHolder)
End If
End Sub
Private Sub aSetCostHolderToHRPerson_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aSetCostHolderToHRPerson.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _SetHRPersonToCostHolder As SetHRPersonToCostHolder = TryCast(e.PopupWindow.View.SelectedObjects(0), SetHRPersonToCostHolder)
Dim _HRPersonCostHolder As HRPersonCostHolder
Dim _HRPersonCostHolder_Collection As XPCollection(Of HRPersonCostHolder)
Dim _SumWorkPercent As Double = 0
Dim IsValid As Boolean = False
Dim LastItemDate As Date
Dim _HRPersonCostHolder_Query As New XPQuery(Of HRPersonCostHolder)(_ocur.Session)
Dim query = From s In _HRPersonCostHolder_Query
Where s.HRPerson.Oid = _SetHRPersonToCostHolder.HRPerson.Oid And
s.WorkPercent > 0
Group s By s.DateFrom, s.DateTo Into g = Group
Order By DateFrom, DateTo
Select New With {.DateFrom = DateFrom, .DateTo = DateTo}
For Each item In query
If item.DateFrom = _SetHRPersonToCostHolder.DateFrom And item.DateTo = _SetHRPersonToCostHolder.DateTo Then
IsValid = True
Exit For
End If
LastItemDate = item.DateTo
Next
If query.Count = 0 Then
IsValid = True
End If
If IsValid = False Then
If DateDiff(DateInterval.Day, LastItemDate.Date, _SetHRPersonToCostHolder.DateFrom.Date) <> 1 Then
Throw New UserFriendlyException("A beállított dátumoknak meg kell egyezniük egy már létezõ idõszak dátumaival, vagy folytonosan kell követniük az utolsó idõszakot!")
End If
End If
If _SetHRPersonToCostHolder.Mode = 1 Then
Dim _ListPropertyEditor As DevExpress.ExpressApp.Editors.ListPropertyEditor = TryCast(e.PopupWindow.View, DetailView).FindItem("SetHRPersonToCostHolderCostHolder")
For Each _SetHRPersonToCostHolderCostHolder In _ListPropertyEditor.ListView.CollectionSource.Collection
If _SetHRPersonToCostHolderCostHolder.WorkPercent < 0 Or _SetHRPersonToCostHolderCostHolder.WorkPercent > 100 Then
Throw New UserFriendlyException("Az beállított százalékos érték nem lehet nagyobb 100-nál és nem lehet negatív!")
End If
_SumWorkPercent = _SumWorkPercent + _SetHRPersonToCostHolderCostHolder.WorkPercent
Next
If _SumWorkPercent <> 100 Then
Throw New UserFriendlyException("A beállított százalékos értékek összege csak 100 lehet!")
Else
For Each _SetHRPersonToCostHolderCostHolder In _ListPropertyEditor.ListView.CollectionSource.Collection
_HRPersonCostHolder = _ocur.FindObject(Of HRPersonCostHolder)(CriteriaOperator.Parse("CostHolder.Oid=? And HRPerson.Oid=? And DateFrom=? And DateTo=?", _SetHRPersonToCostHolderCostHolder.CostHolder.Oid, _SetHRPersonToCostHolder.HRPerson.Oid, _SetHRPersonToCostHolder.DateFrom, _SetHRPersonToCostHolder.DateTo))
If _HRPersonCostHolder Is Nothing Then
If _SetHRPersonToCostHolderCostHolder.WorkPercent > 0 Then
_HRPersonCostHolder = _ocur.CreateObject(Of HRPersonCostHolder)()
_HRPersonCostHolder.CostHolder = _ocur.GetObjectByKey(Of CostHolder)(_SetHRPersonToCostHolderCostHolder.CostHolder.Oid)
_HRPersonCostHolder.HRPerson = _ocur.GetObjectByKey(Of HRPerson)(_SetHRPersonToCostHolder.HRPerson.Oid)
_HRPersonCostHolder.DateFrom = _SetHRPersonToCostHolder.DateFrom
_HRPersonCostHolder.DateTo = _SetHRPersonToCostHolder.DateTo
_HRPersonCostHolder.WorkPercent = _SetHRPersonToCostHolderCostHolder.WorkPercent
End If
Else
If _SetHRPersonToCostHolderCostHolder.WorkPercent >= 0 Then
_HRPersonCostHolder.WorkPercent = _SetHRPersonToCostHolderCostHolder.WorkPercent
End If
End If
Next
_ocur.CommitChanges()
End If
End If
If _SetHRPersonToCostHolder.Mode = 0 Then
Dim _ListPropertyEditor As DevExpress.ExpressApp.Editors.ListPropertyEditor = TryCast(e.PopupWindow.View, DetailView).FindItem("SetHRPersonToCostHolderHRPerson")
For Each _SetHRPersonToCostHolderHRPerson In _ListPropertyEditor.ListView.CollectionSource.Collection
_SumWorkPercent = 0
If _SetHRPersonToCostHolderHRPerson.WorkPercent < 0 Or _SetHRPersonToCostHolderHRPerson.WorkPercent > 100 Then
Throw New UserFriendlyException("Az beállított százalékos érték nem lehet nagyobb 100-nál és nem lehet negatív!")
End If
_HRPersonCostHolder_Collection = New XPCollection(Of HRPersonCostHolder)(_ocur.Session, CriteriaOperator.Parse("HRPerson.Oid=? And DateFrom=? And DateTo=?", _SetHRPersonToCostHolderHRPerson.HRPerson.Oid, _SetHRPersonToCostHolder.DateFrom, _SetHRPersonToCostHolder.DateTo))
For Each _HRPersonCostHolder_Member In _HRPersonCostHolder_Collection
If _HRPersonCostHolder_Member.CostHolder.Oid = _SetHRPersonToCostHolder.CostHolder.Oid Then
_SumWorkPercent = _SumWorkPercent + _SetHRPersonToCostHolderHRPerson.WorkPercent
Else
_SumWorkPercent = _SumWorkPercent + _HRPersonCostHolder_Member.WorkPercent
End If
Next
If _SumWorkPercent <> 100 And _SumWorkPercent <> 0 Then
Dim _WrongUserName As String = _SetHRPersonToCostHolderHRPerson.HRPerson.displayname
Throw New UserFriendlyException("A következõ munkavállaló foglaltsága nagyobb 100 százaléknál: " & _WrongUserName)
End If
Next
For Each _SetHRPersonToCostHolderHRPerson In _ListPropertyEditor.ListView.CollectionSource.Collection
_HRPersonCostHolder = _ocur.FindObject(Of HRPersonCostHolder)(CriteriaOperator.Parse("CostHolder.Oid=? And HRPerson.Oid=? And DateFrom=? And DateTo=?", _SetHRPersonToCostHolder.CostHolder.Oid, _SetHRPersonToCostHolderHRPerson.HRPerson.Oid, _SetHRPersonToCostHolder.DateFrom, _SetHRPersonToCostHolder.DateTo))
If _HRPersonCostHolder Is Nothing Then
If _SetHRPersonToCostHolderHRPerson.WorkPercent > 0 Then
_HRPersonCostHolder = _ocur.CreateObject(Of HRPersonCostHolder)()
_HRPersonCostHolder.CostHolder = _ocur.GetObjectByKey(Of CostHolder)(_SetHRPersonToCostHolder.CostHolder.Oid)
_HRPersonCostHolder.HRPerson = _ocur.GetObjectByKey(Of HRPerson)(_SetHRPersonToCostHolderHRPerson.HRPerson.Oid)
_HRPersonCostHolder.DateFrom = _SetHRPersonToCostHolder.DateFrom
_HRPersonCostHolder.DateTo = _SetHRPersonToCostHolder.DateTo
_HRPersonCostHolder.WorkPercent = _SetHRPersonToCostHolderHRPerson.WorkPercent
End If
Else
If _SetHRPersonToCostHolderHRPerson.WorkPercent > 0 Then
_HRPersonCostHolder.WorkPercent = _SetHRPersonToCostHolderHRPerson.WorkPercent
End If
End If
Next
_ocur.CommitChanges()
End If
End Sub
End Class
@@ -0,0 +1,39 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
Public Class CostPlace
Inherits HCategory
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<NonPersistent>
<ImmediatePostData(True), DataSourceProperty("CollectionOfCostPlace")>
Property ParentObject As CostPlace
Get
Return MyBase.Parent
End Get
Set(value As CostPlace)
MyBase.Parent = value
End Set
End Property
<VisibleInListView(False), VisibleInDetailView(False), VisibleInLookupListView(False)> _
<Browsable(False)> _
<NonPersistent()> _
Private ReadOnly Property CollectionOfCostPlace As XPCollection(Of CostPlace)
Get
Dim _CollectionOfCostPlace As New XPCollection(Of CostPlace)(Session, CriteriaOperator.Parse("Oid != ?", Me.Oid))
Return _CollectionOfCostPlace
End Get
End Property
End Class 'Költséghely
@@ -0,0 +1,40 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
Public Class JobNumberObjects
Inherits HCategory
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<NonPersistent>
<ImmediatePostData(True), DataSourceProperty("CollectionOfJobNumberObjects")>
Property ParentObject As JobNumberObjects
Get
Return MyBase.Parent
End Get
Set(value As JobNumberObjects)
MyBase.Parent = value
End Set
End Property
<VisibleInListView(False), VisibleInDetailView(False), VisibleInLookupListView(False)> _
<Browsable(False)> _
<NonPersistent()> _
Private ReadOnly Property CollectionOfJobNumberObjects As XPCollection(Of JobNumberObjects)
Get
Dim _CollectionOfJobNumberObjects As New XPCollection(Of JobNumberObjects)(Session, CriteriaOperator.Parse("Oid != ?", Me.Oid))
Return _CollectionOfJobNumberObjects
End Get
End Property
End Class 'Munkaszámok, projectek
@@ -0,0 +1,132 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.ConditionalAppearance
'<Appearance("Disable DateTo - SetHRPersonToCostHolder", AppearanceItemType:="ViewItem", Criteria:="1=1", TargetItems:="DateTo", Enabled:=False)> _
'<Appearance("Disable DateFrom - SetHRPersonToCostHolder", AppearanceItemType:="ViewItem", Criteria:="1=1", TargetItems:="DateFrom", Enabled:=False)> _
<DefaultClassOptions(), NonPersistent(), NavigationItem(False), CreatableItem(False)> _
<Appearance("Hide SetHRPersonToCostHolderHRPerson when Mode=1", AppearanceItemType:="ViewItem", Criteria:="Mode=1", targetitems:="SetHRPersonToCostHolderHRPerson", visibility:=Editors.ViewItemVisibility.Hide)> _
<Appearance("Hide SetHRPersonToCostHolderCostHolder when Mode=0", AppearanceItemType:="ViewItem", Criteria:="Mode=0", targetitems:="SetHRPersonToCostHolderCostHolder", visibility:=Editors.ViewItemVisibility.Hide)> _
Public Class SetHRPersonToCostHolder
Inherits BaseObject
Private _Mode As Long
Private _HRPerson As HRPerson
Private _CostHolder As CostHolder
Private _DateFrom As Date
Private _DateTo As Date
Private _MasterKey As Guid
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
End Sub
<Browsable(False)> Property Mode As Long
Get
Return _Mode
End Get
Set(value As Long)
SetPropertyValue("Mode", _Mode, value)
End Set
End Property
<Browsable(False)> _
Property MasterKey As Guid
Get
Return _MasterKey
End Get
Set(value As Guid)
SetPropertyValue("MasterKey", _MasterKey, value)
End Set
End Property
<Browsable(False)> Property HRPerson As HRPerson
Get
Return _HRPerson
End Get
Set(value As HRPerson)
SetPropertyValue("HRPerson", _HRPerson, value)
End Set
End Property
<Browsable(False)> Property CostHolder As CostHolder
Get
Return _CostHolder
End Get
Set(value As CostHolder)
SetPropertyValue("CostHolder", _CostHolder, value)
End Set
End Property
Property DateFrom As Date
Get
Return _DateFrom
End Get
Set(value As Date)
SetPropertyValue("DateFrom", _DateFrom, value)
End Set
End Property
Property DateTo As Date
Get
Return _DateTo
End Get
Set(value As Date)
SetPropertyValue("DateTo", _DateTo, value)
End Set
End Property
<VisibleInListView(False), VisibleInLookupListView(False)> _
<Appearance("Disable OpeneObject - SetHRPersonToCostHolder", AppearanceItemType.Action, "1=1", TargetItems:="OpenObject", visibility:=Editors.ViewItemVisibility.Hide)> _
ReadOnly Property SetHRPersonToCostHolderHRPerson As XPCollection(Of SetHRPersonToCostHolderHRPerson)
Get
Dim _SetHRPersonToCostHolderHRPerson_Collection As New XPCollection(Of SetHRPersonToCostHolderHRPerson)(Session, CriteriaOperator.Parse("1=2"))
Dim _HRPerson_Collection = New XPCollection(Of HRPerson)(PersistentCriteriaEvaluationBehavior.InTransaction, Session, CriteriaOperator.Parse("1=1"))
Dim _HRPerson As HRPerson
Dim _HRPersonCostHolder As HRPersonCostHolder
Dim _SetHRPersonToCostHolderHRPerson As SetHRPersonToCostHolderHRPerson
For Each _HRPerson In _HRPerson_Collection
_SetHRPersonToCostHolderHRPerson = New SetHRPersonToCostHolderHRPerson(Session)
_SetHRPersonToCostHolderHRPerson.MasterKey = Me._MasterKey
_SetHRPersonToCostHolderHRPerson.HRPerson = _HRPerson
_HRPersonCostHolder = Session.FindObject(Of HRPersonCostHolder)(CriteriaOperator.Parse("CostHolder=? And HRPerson=? And DateFrom=? And DateTo=?", Me.CostHolder, _HRPerson, Me.DateFrom, Me.DateTo))
If _HRPersonCostHolder IsNot Nothing Then
_SetHRPersonToCostHolderHRPerson.WorkPercent = _HRPersonCostHolder.WorkPercent
End If
_SetHRPersonToCostHolderHRPerson_Collection.Add(_SetHRPersonToCostHolderHRPerson)
Next
Return _SetHRPersonToCostHolderHRPerson_Collection
End Get
End Property
<VisibleInListView(False), VisibleInLookupListView(False)> _
ReadOnly Property SetHRPersonToCostHolderCostHolder As XPCollection(Of SetHRPersonToCostHolderCostHolder)
Get
Dim _SetHRPersonToCostHolderCostHolder_Collection As New XPCollection(Of SetHRPersonToCostHolderCostHolder)(Session, CriteriaOperator.Parse("1=2"))
Dim _CostHolder_Collection = New XPCollection(Of CostHolder)(PersistentCriteriaEvaluationBehavior.InTransaction, Session, CriteriaOperator.Parse("1=1"))
Dim _CostHolder As CostHolder
Dim _HRPersonCostHolder As HRPersonCostHolder
Dim _SetHRPersonToCostHolderCostHolder As SetHRPersonToCostHolderCostHolder
For Each _CostHolder In _CostHolder_Collection
_SetHRPersonToCostHolderCostHolder = New SetHRPersonToCostHolderCostHolder(Session)
_SetHRPersonToCostHolderCostHolder.MasterKey = Me._MasterKey
_SetHRPersonToCostHolderCostHolder.CostHolder = _CostHolder
_HRPersonCostHolder = Session.FindObject(Of HRPersonCostHolder)(CriteriaOperator.Parse("CostHolder=? And HRPerson=? And DateFrom=? And DateTo=?", _CostHolder, Me.HRPerson, Me.DateFrom, Me.DateTo))
If _HRPersonCostHolder IsNot Nothing Then
_SetHRPersonToCostHolderCostHolder.WorkPercent = _HRPersonCostHolder.WorkPercent
End If
_SetHRPersonToCostHolderCostHolder_Collection.Add(_SetHRPersonToCostHolderCostHolder)
Next
Return _SetHRPersonToCostHolderCostHolder_Collection
End Get
End Property
End Class
@@ -0,0 +1,53 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.ConditionalAppearance
<DefaultClassOptions(), NonPersistent(), NavigationItem(False), CreatableItem(False)> _
<Appearance("Disable OpeneObject - SetHRPersonToCostHolderCostHolder", AppearanceItemType.Action, "1=1", TargetItems:="OpenObject", visibility:=Editors.ViewItemVisibility.Hide)> _
Public Class SetHRPersonToCostHolderCostHolder
Inherits BaseObject
Private _MasterKey As Guid
Private _CostHolder As CostHolder
Private _WorkPercent As Double
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
End Sub
<Browsable(False)> _
Property MasterKey As Guid
Get
Return _MasterKey
End Get
Set(value As Guid)
SetPropertyValue("MasterKey", _MasterKey, value)
End Set
End Property
Property CostHolder As CostHolder
Get
Return _CostHolder
End Get
Set(value As CostHolder)
SetPropertyValue("CostHolder", _CostHolder, value)
End Set
End Property
Property WorkPercent As Double
Get
Return _WorkPercent
End Get
Set(value As Double)
SetPropertyValue("WorkPercent", _WorkPercent, value)
End Set
End Property
End Class
@@ -0,0 +1,53 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.ConditionalAppearance
<DefaultClassOptions(), NonPersistent(), NavigationItem(False), CreatableItem(False)> _
<Appearance("Disable OpeneObject - SetHRPersonToCostHolderHRPerson", AppearanceItemType.Action, "1=1", TargetItems:="OpenObject", visibility:=Editors.ViewItemVisibility.Hide)> _
Public Class SetHRPersonToCostHolderHRPerson
Inherits BaseObject
Private _MasterKey As Guid
Private _HRPerson As HRPerson
Private _WorkPercent As Double
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
End Sub
<Browsable(False)> _
Property MasterKey As Guid
Get
Return _MasterKey
End Get
Set(value As Guid)
SetPropertyValue("MasterKey", _MasterKey, value)
End Set
End Property
Property HRPerson As HRPerson
Get
Return _HRPerson
End Get
Set(value As HRPerson)
SetPropertyValue("HRPerson", _HRPerson, value)
End Set
End Property
Property WorkPercent As Double
Get
Return _WorkPercent
End Get
Set(value As Double)
SetPropertyValue("WorkPercent", _WorkPercent, value)
End Set
End Property
End Class
@@ -0,0 +1,192 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
<CreatableItem(False)> _
Public Class Rule5DMatrix
Inherits BaseObject
Private _ShortName As String
Private _RequireUniqueObjects As Boolean
Private _RequireJobNumberObjects As Boolean
Private _RequireControlling As Boolean
Private _RequireCostHolder As Boolean
Private _RequireCostPlace As Boolean
Private _VisibleUniqueObjects As Boolean
Private _VisibleJobNumberObjects As Boolean
Private _VisibleControlling As Boolean
Private _VisibleCostHolder As Boolean
Private _VisibleCostPlace As Boolean
Public Sub New(ByVal session As Session)
MyBase.New(session)
' This constructor is used when an object is loaded from a persistent storage.
' Do not place any code here or place it only when the IsLoading property is false:
' if (!IsLoading){
' It is now OK to place your initialization code here.
' }
' or as an alternative, move your initialization code into the AfterConstruction method.
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
' Place here your initialization code.
If Session.IsNewObject(Me) Then
VisibleControlling = True
VisibleCostHolder = True
VisibleCostPlace = True
VisibleJobNumberObjects = True
VisibleUniqueObjects = True
End If
End Sub
Property ShortName As String
Get
Return _ShortName
End Get
Set(value As String)
SetPropertyValue("ShortName", _ShortName, value)
End Set
End Property
Property RequireUniqueObjects As Boolean
Get
Return _RequireUniqueObjects
End Get
Set(value As Boolean)
SetPropertyValue("RequireUniqueObjects", _RequireUniqueObjects, value)
If value = True Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
VisibleUniqueObjects = True
End If
End If
End Set
End Property
Property RequireJobNumberObjects As Boolean
Get
Return _RequireJobNumberObjects
End Get
Set(value As Boolean)
SetPropertyValue("RequireJobNumberObjects", _RequireJobNumberObjects, value)
If value = True Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
VisibleJobNumberObjects = True
End If
End If
End Set
End Property
Property RequireControlling As Boolean
Get
Return _RequireControlling
End Get
Set(value As Boolean)
SetPropertyValue("RequireControlling", _RequireControlling, value)
If value = True Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
VisibleControlling = True
End If
End If
End Set
End Property
Property RequireCostHolder As Boolean
Get
Return _RequireCostHolder
End Get
Set(value As Boolean)
SetPropertyValue("RequireCostHolder", _RequireCostHolder, value)
If value = True Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
VisibleCostHolder = True
End If
End If
End Set
End Property
Property RequireCostPlace As Boolean
Get
Return _RequireCostPlace
End Get
Set(value As Boolean)
SetPropertyValue("RequireCostPlace", _RequireCostPlace, value)
If value = True Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
VisibleCostPlace = True
End If
End If
End Set
End Property
Property VisibleUniqueObjects As Boolean
Get
Return _VisibleUniqueObjects
End Get
Set(value As Boolean)
SetPropertyValue("VisibleUniqueObjects", _VisibleUniqueObjects, value)
If value = False Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
RequireUniqueObjects = False
End If
End If
End Set
End Property
Property VisibleJobNumberObjects As Boolean
Get
Return _VisibleJobNumberObjects
End Get
Set(value As Boolean)
SetPropertyValue("VisibleJobNumberObjects", _VisibleJobNumberObjects, value)
If value = False Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
RequireJobNumberObjects = False
End If
End If
End Set
End Property
Property VisibleControlling As Boolean
Get
Return _VisibleControlling
End Get
Set(value As Boolean)
SetPropertyValue("VisibleControlling", _VisibleControlling, value)
If value = False Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
RequireControlling = False
End If
End If
End Set
End Property
Property VisibleCostHolder As Boolean
Get
Return _VisibleCostHolder
End Get
Set(value As Boolean)
SetPropertyValue("VisibleCostHolder", _VisibleCostHolder, value)
If value = False Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
RequireCostHolder = False
End If
End If
End Set
End Property
Property VisibleCostPlace As Boolean
Get
Return _VisibleCostPlace
End Get
Set(value As Boolean)
SetPropertyValue("VisibleCostPlace", _VisibleCostPlace, value)
If value = False Then
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
RequireCostPlace = False
End If
End If
End Set
End Property
End Class
@@ -0,0 +1,48 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
<CreatableItem(False)> _
Public Class Rule5DforGL
Inherits BaseObject
Private _GLDocumentType As eGLDocumentType
Private _Rule5DMatrix As Rule5DMatrix
Public Sub New(ByVal session As Session)
MyBase.New(session)
' This constructor is used when an object is loaded from a persistent storage.
' Do not place any code here or place it only when the IsLoading property is false:
' if (!IsLoading){
' It is now OK to place your initialization code here.
' }
' or as an alternative, move your initialization code into the AfterConstruction method.
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
' Place here your initialization code.
End Sub
Property Rule5DMatrix As Rule5DMatrix
Get
Return _Rule5DMatrix
End Get
Set(value As Rule5DMatrix)
SetPropertyValue("Rule5DMatrix", _Rule5DMatrix, value)
End Set
End Property
Property GLDocumentType As eGLDocumentType
Get
Return _GLDocumentType
End Get
Set(value As eGLDocumentType)
SetPropertyValue("GLDocumentType", _GLDocumentType, value)
End Set
End Property
End Class
@@ -0,0 +1,73 @@
Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
<DefaultClassOptions()> _
<NavigationItem("FinancialStock")> _
Public Class UniqueObjects
Inherits HCategory
Private _Cars As Cars
Private _Phones As Phones
Private _HRPerson As HRPerson
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
<Browsable(False)> _
Property Cars As Cars
Get
Return _Cars
End Get
Set(value As Cars)
SetPropertyValue("Cars", _Cars, value)
End Set
End Property
<Browsable(False)> _
Property Phones As Phones
Get
Return _Phones
End Get
Set(value As Phones)
SetPropertyValue("Phones", _Phones, value)
End Set
End Property
<Browsable(False)> _
Property HRPerson As HRPerson
Get
Return _HRPerson
End Get
Set(value As HRPerson)
SetPropertyValue("HRPerson", _HRPerson, value)
End Set
End Property
<NonPersistent>
<ImmediatePostData(True), DataSourceProperty("CollectionOfUniqueObjects")>
Property ParentObject As UniqueObjects
Get
Return MyBase.Parent
End Get
Set(value As UniqueObjects)
MyBase.Parent = value
End Set
End Property
<VisibleInListView(False), VisibleInDetailView(False), VisibleInLookupListView(False)> _
<Browsable(False)> _
<NonPersistent()> _
Private ReadOnly Property CollectionOfUniqueObjects As XPCollection(Of UniqueObjects)
Get
Dim _CollectionOfUniqueObjects As New XPCollection(Of UniqueObjects)(Session, CriteriaOperator.Parse("Oid != ?", Me.Oid))
Return _CollectionOfUniqueObjects
End Get
End Property
End Class 'Egyedi azonosítók
@@ -0,0 +1,51 @@
Partial Class UniqueObjects_VC
<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New(ByVal Container As System.ComponentModel.IContainer)
MyClass.New()
'Required for Windows.Forms Class Composition Designer support
Container.Add(Me)
End Sub
'Component overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Component Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Component Designer
'It can be modified using the Component Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.aMergeUniqueObjects = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aMergeUniqueObjects
'
Me.aMergeUniqueObjects.Caption = "aMergeUniqueObjects"
Me.aMergeUniqueObjects.Category = "ObjectsCreation"
Me.aMergeUniqueObjects.ConfirmationMessage = "Do you want to execute?"
Me.aMergeUniqueObjects.Id = "aMergeUniqueObjects"
Me.aMergeUniqueObjects.ImageName = Nothing
Me.aMergeUniqueObjects.SelectionDependencyType = DevExpress.ExpressApp.Actions.SelectionDependencyType.RequireMultipleObjects
Me.aMergeUniqueObjects.Shortcut = Nothing
Me.aMergeUniqueObjects.Tag = Nothing
Me.aMergeUniqueObjects.TargetObjectsCriteria = Nothing
Me.aMergeUniqueObjects.TargetViewId = "UniqueObjects_ListView_Deleted"
Me.aMergeUniqueObjects.TargetViewType = DevExpress.ExpressApp.ViewType.ListView
Me.aMergeUniqueObjects.ToolTip = Nothing
Me.aMergeUniqueObjects.TypeOfView = GetType(DevExpress.ExpressApp.ListView)
End Sub
Friend WithEvents aMergeUniqueObjects As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,126 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="aMergeUniqueObjects.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -0,0 +1,75 @@
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 System.Reflection
Public Class UniqueObjects_VC
Inherits DevExpress.ExpressApp.ViewController
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 = "UniqueObjects_ListView_Deleted" Then
If TryCast(View, ListView) IsNot Nothing Then
If TryCast(View, ListView).CollectionSource IsNot Nothing Then
If TryCast(View, ListView).CollectionSource.Collection IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection) IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection IsNot Nothing Then
If TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, DevExpress.Xpo.XPCollection) IsNot Nothing Then
TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, DevExpress.Xpo.XPCollection).SelectDeleted = True
End If
End If
End If
End If
End If
End If
End If
End Sub
Private Sub aMergeUniqueObjects_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aMergeUniqueObjects.Execute
Try
Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", False)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _Object As Object
Dim _UniqueObjects As UniqueObjects
Dim _UniqueObjectsActive As UniqueObjects
For Each _UniqueObjects In View.SelectedObjects
_UniqueObjectsActive = _onew.FindObject(Of UniqueObjects)(CriteriaOperator.Parse("Name=?", _UniqueObjects.Name))
If _UniqueObjectsActive IsNot Nothing Then
For Each _Object In _onew.Session.CollectReferencingObjects(_onew.GetObjectByKey(Of UniqueObjects)(_UniqueObjects.Oid))
Try
For Each _PropertyInfo As PropertyInfo In _Object.GetType.GetProperties
If _PropertyInfo.PropertyType.Name = "UniqueObjects" Then
_PropertyInfo.SetValue(_Object, _onew.GetObjectByKey(Of UniqueObjects)(_UniqueObjectsActive.Oid), Nothing)
End If
Next
Catch ex As Exception
Throw New Exception(ex.Message)
End Try
Next
End If
Next
_onew.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message)
Finally
Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", True)
End Try
End Sub
End Class