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,86 @@
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(False), CreatableItem(False)> _
Public Class RRFCQueryHeader
Inherits BaseObject
Private _CustomersFrom As CustomersFrom
Private _ShortName As String
Private _ObjectCreated As Date
Private _UserCreated As User
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
Protected Overrides Sub OnSaving()
MyBase.OnSaving()
If Session.IsNewObject(Me) Then
ObjectCreated = GetSQLTime(Session)
UserCreated = Session.GetObjectByKey(Of User)(Session.GetKeyValue(SecuritySystem.CurrentUser))
End If
End Sub
<RuleRequiredField("RRFCQueryHeader-CustomersFrom", DefaultContexts.Save)> _
Property CustomersFrom As CustomersFrom
Get
Return _CustomersFrom
End Get
Set(value As CustomersFrom)
SetPropertyValue("CustomersFrom", _CustomersFrom, value)
End Set
End Property
<RuleRequiredField("RRFCQueryHeader-ShortName", DefaultContexts.Save)> _
Property ShortName As String
Get
Return _ShortName
End Get
Set(value As String)
SetPropertyValue("ShortName", _ShortName, value)
End Set
End Property
<NonCloneable> _
Property ObjectCreated As Date
Get
Return _ObjectCreated
End Get
Set(ByVal value As Date)
SetPropertyValue("ObjectCreated", _ObjectCreated, value)
End Set
End Property
<NonCloneable> _
Property UserCreated As User
Get
Return _UserCreated
End Get
Set(value As User)
SetPropertyValue("UserCreated", _UserCreated, value)
End Set
End Property
<VisibleInListView(False)> _
<Association("RRFCQueryHeader-RRFCQueryRows", GetType(RRFCQueryRows))> _
ReadOnly Property RRFCQueryRows As XPCollection(Of RRFCQueryRows)
Get
Return GetCollection(Of RRFCQueryRows)("RRFCQueryRows")
End Get
End Property
End Class
@@ -0,0 +1,68 @@
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()> _
<DeferredDeletion(False)> _
<NavigationItem(False), CreatableItem(False)> _
Public Class RRFCQueryRows
Inherits BaseObject
Private _RRFCQueryHeader As RRFCQueryHeader
Private _InvoiceRows As InvoiceRows
Private _RegistryHeader As RegistryHeader
Private _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
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
<Association("RRFCQueryHeader-RRFCQueryRows", GetType(RRFCQueryHeader))> _
Property RRFCQueryHeader As RRFCQueryHeader
Get
Return _RRFCQueryHeader
End Get
Set(value As RRFCQueryHeader)
SetPropertyValue("RRFCQueryHeader", _RRFCQueryHeader, value)
End Set
End Property
Property InvoiceRows As InvoiceRows
Get
Return _InvoiceRows
End Get
Set(value As InvoiceRows)
SetPropertyValue("InvoiceRows", _InvoiceRows, value)
End Set
End Property
Property RegistryHeader As RegistryHeader
Get
Return _RegistryHeader
End Get
Set(value As RegistryHeader)
SetPropertyValue("RegistryHeader", _RegistryHeader, value)
End Set
End Property
Property RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Get
Return _RegistryRowsFinancialControlling
End Get
Set(value As RegistryRowsFinancialControlling)
SetPropertyValue("RegistryRowsFinancialControlling", _RegistryRowsFinancialControlling, value)
End Set
End Property
End Class
@@ -0,0 +1,78 @@
Partial Class RRFCQueryVC
<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.aViewRegistry_RRFC = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aViewAttachments_RRFC = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
Me.aQueryRRFC = New DevExpress.ExpressApp.Actions.SimpleAction(Me.components)
'
'aViewRegistry_RRFC
'
Me.aViewRegistry_RRFC.Caption = "View registry"
Me.aViewRegistry_RRFC.ConfirmationMessage = Nothing
Me.aViewRegistry_RRFC.Id = "aViewRegistry_RRFC"
Me.aViewRegistry_RRFC.ImageName = "document_pinned"
Me.aViewRegistry_RRFC.Shortcut = Nothing
Me.aViewRegistry_RRFC.Tag = Nothing
Me.aViewRegistry_RRFC.TargetObjectsCriteria = Nothing
Me.aViewRegistry_RRFC.TargetViewId = "RRFCQueryHeader_RRFCQueryRows_ListView"
Me.aViewRegistry_RRFC.ToolTip = Nothing
Me.aViewRegistry_RRFC.TypeOfView = Nothing
'
'aViewAttachments_RRFC
'
Me.aViewAttachments_RRFC.Caption = "View attachments"
Me.aViewAttachments_RRFC.ConfirmationMessage = Nothing
Me.aViewAttachments_RRFC.Id = "aViewAttachments_RRFC"
Me.aViewAttachments_RRFC.ImageName = "printer_view"
Me.aViewAttachments_RRFC.Shortcut = Nothing
Me.aViewAttachments_RRFC.Tag = Nothing
Me.aViewAttachments_RRFC.TargetObjectsCriteria = Nothing
Me.aViewAttachments_RRFC.TargetViewId = "RRFCQueryHeader_RRFCQueryRows_ListView"
Me.aViewAttachments_RRFC.ToolTip = Nothing
Me.aViewAttachments_RRFC.TypeOfView = Nothing
'
'aQueryRRFC
'
Me.aQueryRRFC.Caption = "Run query"
Me.aQueryRRFC.ConfirmationMessage = Nothing
Me.aQueryRRFC.Id = "aQueryRRFC"
Me.aQueryRRFC.ImageName = "stopwatch_run"
Me.aQueryRRFC.Shortcut = Nothing
Me.aQueryRRFC.Tag = Nothing
Me.aQueryRRFC.TargetObjectsCriteria = Nothing
Me.aQueryRRFC.TargetViewId = "RRFCQueryHeader_DetailView"
Me.aQueryRRFC.ToolTip = Nothing
Me.aQueryRRFC.TypeOfView = Nothing
End Sub
Friend WithEvents aViewRegistry_RRFC As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aViewAttachments_RRFC As DevExpress.ExpressApp.Actions.SimpleAction
Friend WithEvents aQueryRRFC As DevExpress.ExpressApp.Actions.SimpleAction
End Class
@@ -0,0 +1,132 @@
<?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="aViewRegistry_RRFC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="aViewAttachments_RRFC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>178, 17</value>
</metadata>
<metadata name="aQueryRRFC.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>364, 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,117 @@
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.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports System.Linq
Imports System.Linq.Expressions
Imports DevExpress.Persistent.BaseImpl
Public Class RRFCQueryVC
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()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
If View.Id = "RRFCQueryHeader_RRFCQueryRows_ListView" Then
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
End If
If View.Id = "RRFCQueryHeader_ListView" Then
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).DeleteAction.TargetObjectsCriteria = "UserCreated.Oid='" & _User.Oid.ToString & "'"
End If
If View.Id = "RRFCQueryHeader_DetailView" Then
Frame.GetController(Of DeleteObjectsViewController).DeleteAction.TargetObjectsCriteria = "UserCreated.Oid='" & _User.Oid.ToString & "'"
Frame.GetController(Of RRFCQueryVC).aQueryRRFC.TargetObjectsCriteria = "UserCreated.Oid='" & _User.Oid.ToString & "'"
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "RRFCQueryHeader_ListView" Then
Frame.GetController(Of CloneObjectViewController).Active.SetItemValue("", True)
End If
End Sub
Private Sub aQueryRRFC_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aQueryRRFC.Execute
'Frame.GetController(Of ModificationsController).SaveAction.DoExecute()
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
Dim _RRFCQueryHeader As RRFCQueryHeader = _uow.GetObjectByKey(Of RRFCQueryHeader)(TryCast(View.SelectedObjects(0), RRFCQueryHeader).Oid)
Dim _RRFCQueryRows As RRFCQueryRows
Dim _RRFCQueryRows_Collection As New XPCollection(_uow, GetType(RRFCQueryRows), _
CriteriaOperator.Parse("RRFCQueryHeader=?", _RRFCQueryHeader))
_uow.Delete(_RRFCQueryRows_Collection)
Dim _RowIndex As Long = 0
Dim _RRFC_xpquery = New XPQuery(Of RegistryRowsFinancialControlling)(_uow)
Dim query = From _RRFC In _RRFC_xpquery
Where _RRFC.RegistryHeader.CustomersFrom Is _RRFCQueryHeader.CustomersFrom And _
_RRFC.ReInvoice_ContractRows.InvoiceRows IsNot Nothing And _
_RRFC.ReInvoice_ContractRows.InvoiceRows.InvoiceHeader.IsEditable = False
Select New With {Key .CustomersFrom = _RRFC.RegistryHeader.CustomersFrom, _
Key .RegistryHeader = _RRFC.RegistryHeader, _
Key .RegistryRowsFinancialControlling = _RRFC.Oid, _
Key .InvoiceRows = _RRFC.ReInvoice_ContractRows.InvoiceRows}
RaiseEvent InitWork(1, 1, query.Count)
For Each item In query
RaiseEvent DoWork()
_RRFCQueryRows = New RRFCQueryRows(_uow)
_RRFCQueryRows.RRFCQueryHeader = _RRFCQueryHeader
_RRFCQueryRows.RegistryHeader = item.RegistryHeader
_RRFCQueryRows.InvoiceRows = item.InvoiceRows
_RRFCQueryRows.RegistryRowsFinancialControlling = _uow.GetObjectByKey(Of RegistryRowsFinancialControlling)(item.RegistryRowsFinancialControlling)
_RowIndex += 1
If _RowIndex Mod 100 = 0 Then _uow.CommitChanges()
Next
_uow.CommitTransaction()
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aViewAttachments_RRFC_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewAttachments_RRFC.Execute
Dim _RRFCQueryRows As RRFCQueryRows = TryCast(View.SelectedObjects(0), RRFCQueryRows)
Dim _CustomersFrom As CustomersFrom = _RRFCQueryRows.RegistryHeader.CustomersFrom
Dim _Customers As Customers = _RRFCQueryRows.RegistryHeader.Customers
Dim _DocumentNumber As String = _RRFCQueryRows.RegistryHeader.DocumentNumber
ViewAttachments.ViewAttachments(View.ObjectSpace, Frame, _CustomersFrom, _Customers, _DocumentNumber, "")
End Sub
Private Sub aViewRegistry_RRFC_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewRegistry_RRFC.Execute
Dim _RRFCQueryRows As RRFCQueryRows = TryCast(View.SelectedObjects(0), RRFCQueryRows)
Dim _CustomersFrom As CustomersFrom = _RRFCQueryRows.RegistryHeader.CustomersFrom
Dim _Customers As Customers = _RRFCQueryRows.RegistryHeader.Customers
Dim _DocumentNumber As String = _RRFCQueryRows.RegistryHeader.DocumentNumber
ViewRegistry.ViewRegistry(View.ObjectSpace, Application, e, _CustomersFrom, _Customers, _DocumentNumber)
End Sub
End Class