diff --git a/JUSTWIN.sln b/JUSTWIN.sln index d0a7dfb..0424178 100644 --- a/JUSTWIN.sln +++ b/JUSTWIN.sln @@ -15,6 +15,8 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Nuvolar.Win.Lite", "Nuvolar EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nuvolar.Module.Win.CSharp", "Nuvolar.Module.Win.CSharp\Nuvolar.Module.Win.CSharp.csproj", "{FB66BBC7-4035-4288-B0F0-23AFBCBEEC5B}" EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "momoERP.Win", "momoERP.Win.HA\momoERP.Win.vbproj", "{A9F2E08E-24F7-49C8-8D5D-400704699B80}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -263,6 +265,46 @@ Global {FB66BBC7-4035-4288-B0F0-23AFBCBEEC5B}.Release|x64.Build.0 = Release|x64 {FB66BBC7-4035-4288-B0F0-23AFBCBEEC5B}.Release|x86.ActiveCfg = Release|Any CPU {FB66BBC7-4035-4288-B0F0-23AFBCBEEC5B}.Release|x86.Build.0 = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|x64.ActiveCfg = Debug|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|x64.Build.0 = Debug|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|x86.ActiveCfg = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Debug|x86.Build.0 = Debug|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|Any CPU.ActiveCfg = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|Any CPU.Build.0 = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|Mixed Platforms.ActiveCfg = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|Mixed Platforms.Build.0 = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|x64.ActiveCfg = EasyTest|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|x64.Build.0 = EasyTest|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|x86.ActiveCfg = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.EasyTest|x86.Build.0 = EasyTest|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|Any CPU.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|Any CPU.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|Mixed Platforms.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|Mixed Platforms.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|x64.ActiveCfg = Release 64bit|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|x64.Build.0 = Release 64bit|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|x86.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.R64|x86.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|Any CPU.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|Any CPU.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|Mixed Platforms.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|Mixed Platforms.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|x64.ActiveCfg = Release 64bit|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|x64.Build.0 = Release 64bit|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|x86.ActiveCfg = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release 64bit|x86.Build.0 = Release 64bit|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|Any CPU.Build.0 = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|x64.ActiveCfg = Release|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|x64.Build.0 = Release|x64 + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|x86.ActiveCfg = Release|Any CPU + {A9F2E08E-24F7-49C8-8D5D-400704699B80}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Nuvolar.WIN.Company/app.config b/Nuvolar.WIN.Company/app.config index 9ad9795..4ef1eae 100644 --- a/Nuvolar.WIN.Company/app.config +++ b/Nuvolar.WIN.Company/app.config @@ -6,6 +6,9 @@ + + + diff --git a/Nuvolar.Win.Lite/app.config b/Nuvolar.Win.Lite/app.config index a788ad5..329469e 100644 --- a/Nuvolar.Win.Lite/app.config +++ b/Nuvolar.Win.Lite/app.config @@ -9,6 +9,9 @@ + + + diff --git a/momoERP.Win.HA/001-office.png b/momoERP.Win.HA/001-office.png new file mode 100644 index 0000000..29790cb Binary files /dev/null and b/momoERP.Win.HA/001-office.png differ diff --git a/momoERP.Win.HA/002-cogwheel.png b/momoERP.Win.HA/002-cogwheel.png new file mode 100644 index 0000000..946fc58 Binary files /dev/null and b/momoERP.Win.HA/002-cogwheel.png differ diff --git a/momoERP.Win.HA/003-technology.png b/momoERP.Win.HA/003-technology.png new file mode 100644 index 0000000..87de60a Binary files /dev/null and b/momoERP.Win.HA/003-technology.png differ diff --git a/momoERP.Win.HA/ExpressApp.ico b/momoERP.Win.HA/ExpressApp.ico new file mode 100644 index 0000000..d4c7fc7 Binary files /dev/null and b/momoERP.Win.HA/ExpressApp.ico differ diff --git a/momoERP.Win.HA/Model.xafml b/momoERP.Win.HA/Model.xafml new file mode 100644 index 0000000..fbcc164 --- /dev/null +++ b/momoERP.Win.HA/Model.xafml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Model_en.xafml b/momoERP.Win.HA/Model_en.xafml new file mode 100644 index 0000000..5d50b0e --- /dev/null +++ b/momoERP.Win.HA/Model_en.xafml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Model_hu.xafml b/momoERP.Win.HA/Model_hu.xafml new file mode 100644 index 0000000..51b5d67 --- /dev/null +++ b/momoERP.Win.HA/Model_hu.xafml @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/Application.Designer.vb b/momoERP.Win.HA/My Project/Application.Designer.vb new file mode 100644 index 0000000..88dd01c --- /dev/null +++ b/momoERP.Win.HA/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/momoERP.Win.HA/My Project/Application.myapp b/momoERP.Win.HA/My Project/Application.myapp new file mode 100644 index 0000000..e32a102 --- /dev/null +++ b/momoERP.Win.HA/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + Form1 + false + 0 + true + 0 + true + diff --git a/momoERP.Win.HA/My Project/AssemblyInfo.vb b/momoERP.Win.HA/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..6d6b991 --- /dev/null +++ b/momoERP.Win.HA/My Project/AssemblyInfo.vb @@ -0,0 +1,32 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrenciesResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrenciesResponseBody.datasource new file mode 100644 index 0000000..db4fc3d --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrenciesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetCurrenciesResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource new file mode 100644 index 0000000..164692d --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetCurrencyUnitsResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource new file mode 100644 index 0000000..9b702fb --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetCurrentExchangeRatesResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetDateIntervalResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetDateIntervalResponseBody.datasource new file mode 100644 index 0000000..c572ca4 --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetDateIntervalResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetDateIntervalResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetExchangeRatesResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetExchangeRatesResponseBody.datasource new file mode 100644 index 0000000..617fa42 --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetExchangeRatesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetExchangeRatesResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetInfoResponseBody.datasource b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetInfoResponseBody.datasource new file mode 100644 index 0000000..d8d4efd --- /dev/null +++ b/momoERP.Win.HA/My Project/DataSources/SISBusiness.Module.MNBArfolyamService.GetInfoResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Module.MNBArfolyamService.GetInfoResponseBody, Nuvolar.Module, Version=14.1.9.1001, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/My Project/Resources.Designer.vb b/momoERP.Win.HA/My Project/Resources.Designer.vb new file mode 100644 index 0000000..7c2f1f7 --- /dev/null +++ b/momoERP.Win.HA/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Nuvolar.Win.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/momoERP.Win.HA/My Project/Resources.resx b/momoERP.Win.HA/My Project/Resources.resx new file mode 100644 index 0000000..d0d99d6 --- /dev/null +++ b/momoERP.Win.HA/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + diff --git a/momoERP.Win.HA/My Project/Settings.Designer.vb b/momoERP.Win.HA/My Project/Settings.Designer.vb new file mode 100644 index 0000000..4c877f4 --- /dev/null +++ b/momoERP.Win.HA/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.Nuvolar.Win.My.MySettings + Get + Return Global.Nuvolar.Win.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/momoERP.Win.HA/My Project/Settings.settings b/momoERP.Win.HA/My Project/Settings.settings new file mode 100644 index 0000000..85b890b --- /dev/null +++ b/momoERP.Win.HA/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/momoERP.Win.HA/My Project/app.manifest b/momoERP.Win.HA/My Project/app.manifest new file mode 100644 index 0000000..f5ca617 --- /dev/null +++ b/momoERP.Win.HA/My Project/app.manifest @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/momoERP.Win.HA/My Project/licenses.licx b/momoERP.Win.HA/My Project/licenses.licx new file mode 100644 index 0000000..e69de29 diff --git a/momoERP.Win.HA/NSIS/SISBusiness.nsi b/momoERP.Win.HA/NSIS/SISBusiness.nsi new file mode 100644 index 0000000..c1d7cb2 --- /dev/null +++ b/momoERP.Win.HA/NSIS/SISBusiness.nsi @@ -0,0 +1,465 @@ + +;-------------------------------- +;Include Modern UI + !include "MUI.nsh" + !include "MUI2.nsh" + !include "x64.nsh" +;-------------------------------- +;General + + !define APPNAME "Nuvolar" + !define COMPANYNAME "Nuvolar ERP System" + !define DESCRIPTION "Nuvolar ERP Framework System" + + ;Name and file + Name "Nuvolar" + OutFile "Setup.exe" + + ;Default installation folder + InstallDir "$APPDATA\Nuvolar" + + ;Get installation folder from registry if available + InstallDirRegKey HKCU "Software\Nuvolar" "" + + ;Request application privileges for Windows Vista + RequestExecutionLevel admin + +;-------------------------------- +;Interface Settings + + !define MUI_ICON "ProteinChip.ico" + !define MUI_UNICON "ProteinChip.ico" + !define MUI_ABORTWARNING + +;-------------------------------- +;Language Selection Dialog Settings + + ;Remember the installer language + !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" + !define MUI_LANGDLL_REGISTRY_KEY "Software\Nuvolar" + !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" + +;-------------------------------- +;Pages + + !insertmacro MUI_PAGE_WELCOME + !insertmacro MUI_PAGE_LICENSE "License.txt" + + Page Custom SerialPageShow SerialPageLeave + + !insertmacro MUI_PAGE_COMPONENTS + !insertmacro MUI_PAGE_DIRECTORY + !insertmacro MUI_PAGE_INSTFILES + + !insertmacro MUI_UNPAGE_CONFIRM + !insertmacro MUI_UNPAGE_INSTFILES +;-------------------------------- + + + ;Languages + + !insertmacro MUI_LANGUAGE "Hungarian";first language is the default language + +;-------------------------------- +;Reserve Files + + ;If you are using solid compression, files that are required before + ;the actual installation should be stored first in the data block, + ;because this will make your installer start faster. + + !insertmacro MUI_RESERVEFILE_LANGDLL + +;-------------------------------- +;Installer Sections + +Section "Nuvolar" ProteinChip + SetShellVarContext all + SetOutPath "$INSTDIR" + + ;${If} ${RunningX64} + ; ExecWait "$INSTDIR\AccessDatabaseEngine_x64.exe /quiet" + ;${Else} + ; ExecWait "$INSTDIR\AccessDatabaseEngine.exe /quiet" + ;${EndIf} + + ;ADD YOUR OWN FILES HERE... + File "database.sql" + File "crdatabase.cmd" + + ;DevExpress files ... + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Data.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.DataAccess.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Validation.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Validation.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.ViewVariantsModule.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.BonusSkins.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.AuditTrail.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.ConditionalAppearance.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.FileAttachment.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.HtmlPropertyEditor.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Images.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Objects.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.ReportsV2.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.ReportsV2.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Security.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.TreeListEditors.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.TreeListEditors.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Win.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.Xpo.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.ExpressApp.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Office.v13.2.Core.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Persistent.Base.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Persistent.BaseImpl.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Printing.v13.2.Core.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.RichEdit.v13.2.Core.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Utils.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Utils.v13.2.UI.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.Xpo.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraBars.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraEditors.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraGrid.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraLayout.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraNavBar.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraPrinting.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraReports.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraReports.v13.2.Extensions.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraRichEdit.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraTreeList.v13.2.dll" + File "c:\Program Files (x86)\DevExpress 13.2\Components\Bin\Framework\DevExpress.XtraVerticalGrid.v13.2.dll" + + ;DevExpress localization files ! + SetOutPath "$INSTDIR\HU" + File "HU\DevExpress.Charts.Designer.v13.2.resources.dll" + File "HU\DevExpress.Dashboard.v13.2.Core.resources.dll" + File "HU\DevExpress.Dashboard.v13.2.Win.resources.dll" + File "HU\DevExpress.Data.v13.2.resources.dll" + File "HU\DevExpress.DataAccess.v13.2.resources.dll" + + File "HU\DevExpress.DataAccess.v13.2.UI.resources.dll" + File "HU\DevExpress.ExpressApp.HtmlPropertyEditor.Win.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.PivotChart.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.Reports.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.Scheduler.v13.2.resources.dll" + + File "HU\DevExpress.ExpressApp.Security.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.Validation.v13.2.resources.dll" + File "HU\DevExpress.ExpressApp.Win.v13.2.resources.dll" + + File "HU\DevExpress.Office.v13.2.Core.resources.dll" + File "HU\DevExpress.Pdf.v13.2.Core.resources.dll" + File "HU\DevExpress.PivotGrid.v13.2.Core.resources.dll" + File "HU\DevExpress.Printing.v13.2.Core.resources.dll" + File "HU\DevExpress.RichEdit.v13.2.Core.resources.dll" + + File "HU\DevExpress.Snap.v13.2.Core.resources.dll" + File "HU\DevExpress.Snap.v13.2.Extensions.resources.dll" + File "HU\DevExpress.Snap.v13.2.resources.dll" + + File "HU\DevExpress.Sparkline.v13.2.Core.resources.dll" + File "HU\DevExpress.Spreadsheet.v13.2.Core.resources.dll" + File "HU\DevExpress.Utils.v13.2.resources.dll" + File "HU\DevExpress.Utils.v13.2.UI.resources.dll" + File "HU\DevExpress.XtraBars.v13.2.resources.dll" + + File "HU\DevExpress.XtraCharts.v13.2.resources.dll" + File "HU\DevExpress.XtraCharts.v13.2.Wizard.resources.dll" + File "HU\DevExpress.XtraEditors.v13.2.resources.dll" + File "HU\DevExpress.XtraGauges.v13.2.Core.resources.dll" + File "HU\DevExpress.XtraGauges.v13.2.Presets.resources.dll" + File "HU\DevExpress.XtraGrid.v13.2.resources.dll" + File "HU\DevExpress.XtraLayout.v13.2.resources.dll" + + File "HU\DevExpress.XtraNavBar.v13.2.resources.dll" + File "HU\DevExpress.XtraPdfViewer.v13.2.resources.dll" + File "HU\DevExpress.XtraPivotGrid.v13.2.resources.dll" + File "HU\DevExpress.XtraPrinting.v13.2.resources.dll" + File "HU\DevExpress.XtraReports.v13.2.Extensions.resources.dll" + + File "HU\DevExpress.XtraReports.v13.2.resources.dll" + File "HU\DevExpress.XtraRichEdit.v13.2.Extensions.resources.dll" + File "HU\DevExpress.XtraRichEdit.v13.2.resources.dll" + File "HU\DevExpress.XtraScheduler.v13.2.Core.resources.dll" + + File "HU\DevExpress.XtraScheduler.v13.2.Extensions.resources.dll" + File "HU\DevExpress.XtraScheduler.v13.2.Reporting.resources.dll" + File "HU\DevExpress.XtraScheduler.v13.2.resources.dll" + File "HU\DevExpress.XtraSpellChecker.v13.2.resources.dll" + File "HU\DevExpress.XtraSpreadsheet.v13.2.resources.dll" + + File "HU\DevExpress.XtraTreeList.v13.2.resources.dll" + File "HU\DevExpress.XtraVerticalGrid.v13.2.resources.dll" + File "HU\DevExpress.XtraWizard.v13.2.resources.dll" + + ;Other runtime files + SetOutPath "$INSTDIR" + + File "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Visual Studio Tools for Office\PIA\Common\Microsoft.mshtml.dll" + File "MySql.Data.dll" + File "ProteinChip.ico" + ;AForge.NET + File "..\bin\Release\AForge.dll" + File "..\bin\Release\AForge.Imaging.dll" + File "..\bin\Release\AForge.Math.dll" + + ;ProteinChip module + File "..\bin\Release\ProteinChip.BarcodeScanner.dll" + File "..\bin\Release\ProteinChip.DatabaseUserSettings.dll" + File "..\bin\Release\ProteinChip.Module.dll" + File "..\bin\Release\ProteinChip.Module.Win.dll" + File "..\bin\Release\ProteinChip.Win.exe" + File "ProteinChip.Win.exe.config" + + + ;Model + File "..\bin\Release\Model.xafml" + File "..\bin\Release\Model_hu.xafml" + + ;Store installation folder + WriteRegStr HKCU "Software\Nuvolar" "" $INSTDIR + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Nuvolar" "DisplayName" "Protein Chip képfeldolgozó rendszer" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Nuvolar" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Nuvolar" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S" + + ;Create uninstaller + WriteUninstaller "$INSTDIR\Uninstall.exe" + + SetOutPath "$INSTDIR\HU" + ;ProteinChip HU resources + File "..\bin\Release\hu\ProteinChip.Module.resources.dll" + File "..\bin\Release\hu\ProteinChip.Module.Win.resources.dll" + + ;After copy run dbupdater ! + SetOutPath "$INSTDIR" + ExecWait '"$INSTDIR\crdatabase.cmd" $\"$INSTDIR\database.sql$\" root protein!12345' + + CreateShortCut "$DESKTOP\ProteinChip.lnk" "$INSTDIR\ProteinChip.Win.exe" + CreateShortCut "$SMPROGRAMS\ProteinChip.lnk" "$INSTDIR\ProteinChip.Win.exe" "" "$INSTDIR\ProteinChip.ico" + +SectionEnd + +Function SerialPageShow + !insertmacro MUI_HEADER_TEXT "Biztonsági kód megadása" "Adja meg a telepítõhöz mellékelt biztonsági kódot a telepítés folytatásához." + + PassDialog::Dialog Serial \ + /HEADINGTEXT 'Kérem adja meg a biztonsági kódot ( a kötõjeleket nem kell beírni!)' \ + /CENTER \ + /BOXDASH 12 70 5 '' \ + /BOXDASH 92 70 5 '' \ + /BOXDASH 172 70 5 '' \ + /BOXDASH 252 70 5 '' \ + /BOX 332 70 5 '' + + Pop $R0 # success, back, cancel or error + +FunctionEnd +Function SerialPageLeave +## Pop values from stack + Pop $R0 + Pop $R1 + Pop $R2 + Pop $R3 + Pop $R4 + + ## A bit of validation + StrCmp $R0 '3AWYM' +3 + MessageBox MB_OK "Hibás biztonsági kód !" + Abort + StrCmp $R1 'BZT4E' +3 + MessageBox MB_OK "Hibás biztonsági kód !" + Abort + StrCmp $R2 'WLM3G' +3 + MessageBox MB_OK "Hibás biztonsági kód !" + Abort + StrCmp $R3 'AMJH7' +3 + MessageBox MB_OK "Hibás biztonsági kód !" + Abort + StrCmp $R4 'TPXKS' +3 + MessageBox MB_OK "Hibás biztonsági kód !" + Abort + FunctionEnd + +;-------------------------------- +;Installer Functions + +Function .onInit + + !insertmacro MUI_LANGDLL_DISPLAY + +FunctionEnd + +;-------------------------------- +;Descriptions + + ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC + + ;Assign descriptions to sections + !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN + !insertmacro MUI_DESCRIPTION_TEXT ${ProteinChip} "A test section." + !insertmacro MUI_FUNCTION_DESCRIPTION_END + + +;-------------------------------- +;Uninstaller Section + +Section "Uninstall" + SetShellVarContext all + SetOutPath "$INSTDIR" + + ;ADD YOUR OWN FILES HERE... + Delete "$INSTDIR\database.sql" + Delete "$INSTDIR\crdatabase.cmd" + + ;DevExpress files ... + Delete "$INSTDIR\DevExpress.Data.v13.2.dll" + Delete "$INSTDIR\DevExpress.DataAccess.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Validation.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Validation.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.ViewVariantsModule.v13.2.dll" + Delete "$INSTDIR\DevExpress.BonusSkins.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.AuditTrail.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.ConditionalAppearance.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.FileAttachment.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.HtmlPropertyEditor.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Images.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Objects.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.ReportsV2.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.ReportsV2.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Security.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.TreeListEditors.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.TreeListEditors.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Win.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.Xpo.v13.2.dll" + Delete "$INSTDIR\DevExpress.ExpressApp.v13.2.dll" + Delete "$INSTDIR\DevExpress.Office.v13.2.Core.dll" + Delete "$INSTDIR\DevExpress.Persistent.Base.v13.2.dll" + Delete "$INSTDIR\DevExpress.Persistent.BaseImpl.v13.2.dll" + Delete "$INSTDIR\DevExpress.Printing.v13.2.Core.dll" + Delete "$INSTDIR\DevExpress.RichEdit.v13.2.Core.dll" + Delete "$INSTDIR\DevExpress.Utils.v13.2.dll" + Delete "$INSTDIR\DevExpress.Utils.v13.2.UI.dll" + Delete "$INSTDIR\DevExpress.Xpo.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraBars.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraEditors.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraGrid.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraLayout.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraNavBar.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraPrinting.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraReports.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraReports.v13.2.Extensions.dll" + Delete "$INSTDIR\DevExpress.XtraRichEdit.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraTreeList.v13.2.dll" + Delete "$INSTDIR\DevExpress.XtraVerticalGrid.v13.2.dll" + + ;DevExpress localization + Delete "$INSTDIR\HU\DevExpress.Charts.Designer.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Dashboard.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Dashboard.v13.2.Win.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Data.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.DataAccess.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.DataAccess.v13.2.UI.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.HtmlPropertyEditor.Win.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.PivotChart.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.Reports.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.Scheduler.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.ExpressApp.Security.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.Validation.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.ExpressApp.Win.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.Office.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Pdf.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.PivotGrid.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Printing.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.RichEdit.v13.2.Core.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.Snap.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Snap.v13.2.Extensions.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Snap.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.Sparkline.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Spreadsheet.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Utils.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.Utils.v13.2.UI.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraBars.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.XtraCharts.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraCharts.v13.2.Wizard.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraEditors.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraGauges.v13.2.Core.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraGauges.v13.2.Presets.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraGrid.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraLayout.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.XtraNavBar.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraPdfViewer.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraPivotGrid.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraPrinting.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraReports.v13.2.Extensions.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.XtraReports.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraRichEdit.v13.2.Extensions.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraRichEdit.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraScheduler.v13.2.Core.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.XtraScheduler.v13.2.Extensions.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraScheduler.v13.2.Reporting.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraScheduler.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraSpellChecker.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraSpreadsheet.v13.2.resources.dll" + + Delete "$INSTDIR\HU\DevExpress.XtraTreeList.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraVerticalGrid.v13.2.resources.dll" + Delete "$INSTDIR\HU\DevExpress.XtraWizard.v13.2.resources.dll" + ;Other runtime files + Delete "$INSTDIR\Microsoft.mshtml.dll" + Delete "$INSTDIR\ProteinChip.ico" + Delete "$INSTDIR\MySql.Data.dll" + + ;AForge.NET + Delete "$INSTDIR\AForge.dll" + Delete "$INSTDIR\AForge.Imaging.dll" + Delete "$INSTDIR\AForge.Math.dll" + + ;ProteinChip module + Delete "$INSTDIR\ProteinChip.BarcodeScanner.dll" + Delete "$INSTDIR\ProteinChip.DatabaseUserSettings.dll" + Delete "$INSTDIR\ProteinChip.Module.dll" + Delete "$INSTDIR\ProteinChip.Module.Win.dll" + Delete "$INSTDIR\ProteinChip.Win.exe" + Delete "$INSTDIR\ProteinChip.Win.exe.config" + + + ;Model editor + Delete "$INSTDIR\Model.xafml" + Delete "$INSTDIR\Model_hu.xafml" + + Delete "$INSTDIR\ModulesVersionInfo" + Delete "$INSTDIR\ModelAssembly.dll" + Delete "$INSTDIR\Uninstall.exe" + Delete "$INSTDIR\proteinchip.mdb" + + + Delete "$INSTDIR\hu\ProteinChip.Module.resources.dll" + Delete "$INSTDIR\hu\ProteinChip.Module.Win.resources.dll" + + Delete "$DESKTOP\ProteinChip.lnk" + Delete "$SMPROGRAMS\ProteinChip.lnk" + + RMDir "$INSTDIR\HU" + RMDir "$INSTDIR" + + DeleteRegKey /ifempty HKCU "Software\Nuvolar" + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Nuvolar" +SectionEnd + +;-------------------------------- +;Uninstaller Functions + +Function un.onInit + + !insertmacro MUI_UNGETLANGUAGE + +FunctionEnd \ No newline at end of file diff --git a/momoERP.Win.HA/Nuvolar.ico b/momoERP.Win.HA/Nuvolar.ico new file mode 100644 index 0000000..96f2e8d Binary files /dev/null and b/momoERP.Win.HA/Nuvolar.ico differ diff --git a/momoERP.Win.HA/PostgreSQL.vb b/momoERP.Win.HA/PostgreSQL.vb new file mode 100644 index 0000000..f54921b --- /dev/null +++ b/momoERP.Win.HA/PostgreSQL.vb @@ -0,0 +1,53 @@ +Imports DevExpress.Xpo.DB +Imports DevExpress.Xpo.DB.Helpers +Imports DevExpress.Data.Filtering +Imports System.Globalization + + +Public Class PostgreSqlConnectionProviderEx + Inherits PostgreSqlConnectionProvider + Public Shadows Const XpoProviderTypeString As String = "PostgresEx" + + Public Shared Shadows Function GetConnectionString(ByVal server As String, ByVal userid As String, ByVal password As String, ByVal database As String) As String + Return String.Format("{4}={5};Server={0};User Id={1};Password={2};Database={3};Encoding=UNICODE;", server, + userid, password, database, DataStoreBase.XpoProviderTypeParameterName, XpoProviderTypeString) + End Function + + Public Shared Shadows Function GetConnectionString(ByVal server As String, ByVal port As Integer, ByVal userid As String, ByVal password As String, ByVal database As String) As String + Return String.Format("{5}={6};Server={0};User Id={1};Password={2};Database={3};Encoding=UNICODE;Port={4}", _ + server, userid, password, database, port, DataStoreBase.XpoProviderTypeParameterName, _ + XpoProviderTypeString) + End Function + + Public Shared Shadows Sub Register() + End Sub + + Shared Sub New() + RegisterDataStoreProvider(XpoProviderTypeString, New DataStoreCreationFromStringDelegate(AddressOf CreateProviderFromString)) + End Sub + + Public Shared Shadows Function CreateProviderFromString(ByVal connectionString As String, ByVal autoCreateOption As AutoCreateOption, _ + ByRef objectsToDisposeOnDisconnect() As IDisposable) As IDataStore + Dim connection As IDbConnection = New Npgsql.NpgsqlConnection(connectionString) + objectsToDisposeOnDisconnect = New IDisposable() {connection} + Return CreateProviderFromConnection(connection, autoCreateOption) + End Function + + Public Shared Shadows Function CreateProviderFromConnection(ByVal connection As IDbConnection, +ByVal autoCreateOption As AutoCreateOption) As IDataStore + Return New PostgreSqlConnectionProviderEx(connection, autoCreateOption) + End Function + + Public Sub New(ByVal connection As IDbConnection, ByVal autoCreateOption As AutoCreateOption) + MyBase.New(connection, autoCreateOption) + End Sub + + Public Overrides Function FormatBinary(ByVal operatorType As BinaryOperatorType, ByVal leftOperand As String, ByVal rightOperand As String) As String + Select Case operatorType + Case BinaryOperatorType.Like + Return String.Format(CultureInfo.InvariantCulture, "{0} ilike {1}", leftOperand, rightOperand) + Case Else + Return MyBase.FormatBinary(operatorType, leftOperand, rightOperand) + End Select + End Function +End Class \ No newline at end of file diff --git a/momoERP.Win.HA/Program.vb b/momoERP.Win.HA/Program.vb new file mode 100644 index 0000000..0d34e8c --- /dev/null +++ b/momoERP.Win.HA/Program.vb @@ -0,0 +1,124 @@ +Imports System +Imports System.Configuration +Imports System.Windows.Forms + +Imports DevExpress.Persistent.Base +Imports DevExpress.ExpressApp +Imports DevExpress.ExpressApp.Security +Imports DevExpress.ExpressApp.Win + +Imports Nuvolar.Module.Win +Imports DevExpress.Persistent.AuditTrail +Imports Microsoft.VisualBasic + +Imports DevExpress.Xpo +Imports DevExpress.Data.Filtering +Imports DevExpress.Persistent.BaseImpl + +Imports DevExpress.ExpressApp.Model.Core +Imports DevExpress.ExpressApp.Model +Imports Nuvolar.Module + +Friend NotInheritable Class Program + Private Sub New() + End Sub + _ + Public Shared Sub Main(ByVal arguments() As String) +#If EASYTEST Then + DevExpress.ExpressApp.EasyTest.WinAdapter.RemotingRegistration.Register(4100) +#End If + + Application.EnableVisualStyles() + Application.SetCompatibleTextRenderingDefault(False) + EditModelPermission.AlwaysGranted = System.Diagnostics.Debugger.IsAttached + + '-- Eredeti kód + 'Dim _application As NuvolarWindowsFormsApplication_DB = New NuvolarWindowsFormsApplication_DB() + + 'If (Not ConfigurationManager.ConnectionStrings.Item("ConnectionString") Is Nothing) Then + ' _application.ConnectionString = ConfigurationManager.ConnectionStrings.Item("ConnectionString").ConnectionString + 'End If + 'If System.Diagnostics.Debugger.IsAttached Then + ' _application.DatabaseUpdateMode = DatabaseUpdateMode.UpdateDatabaseAlways + 'End If + 'Try + ' Dim timeStampStrategy As IAuditTimestampStrategy = New Nuvolar.Module.TimeStamp + ' AuditTrailService.Instance.TimestampStrategy = timeStampStrategy + + ' _application.Setup() + ' _application.Start() + 'Catch e As Exception + ' _application.HandleException(e) + 'End Try + + '-- Új kód + Do + Dim winApplication As NuvolarWindowsFormsApplication + If LogOnDB.NewApplication Is Nothing Then + winApplication = NuvolarWindowsFormsApplication.CreateApplication() + Else + winApplication = CType(LogOnDB.NewApplication, NuvolarWindowsFormsApplication) + LogOnDB.NewApplication = Nothing + End If + Try + 'AddHandler Application.Idle, AddressOf Application_Idle + + AddHandler AuditTrailService.Instance.SaveAuditTrailData, AddressOf Instance_SaveAuditTrailData + AddHandler winApplication.CreateCustomUserModelDifferenceStore, AddressOf winApplication_CreateCustomUserModelDifferenceStore + AddHandler winApplication.LastLogonParametersWriting, AddressOf winApplication_LastLogonParametersWriting + winApplication.DelayedViewItemsInitialization = True + winApplication.SplashScreen = New DevExpress.ExpressApp.Win.Utils.DXSplashScreen + + AuditTrailService.Instance.ObjectAuditingMode = ObjectAuditingMode.Lightweight + + winApplication.Setup() + winApplication.Start() + If WinChangeDatabaseHelper.AuthenticatedUserLogonFailed Then + WinChangeDatabaseHelper.SkipLogonDialog = False + winApplication.Start() + End If + Catch e As Exception + winApplication.HandleException(e) + End Try + winApplication.Dispose() + Loop While LogOnDB.NewApplication IsNot Nothing + '-- Új kód vége + End Sub + Shared Sub winApplication_CreateCustomUserModelDifferenceStore(ByVal sender As Object, ByVal e As CreateCustomModelDifferenceStoreEventArgs) + Dim userDiffs As New UserStore(CType(sender, WinApplication)) + e.Store = userDiffs + e.Handled = True + End Sub + + Private Shared Sub Instance_SaveAuditTrailData(sender As Object, e As SaveAuditTrailDataEventArgs) + If GLOBAL_HAS_Audit = False Then + e.Handled = True + End If + End Sub + Shared Sub winApplication_LastLogonParametersWriting(ByVal sender As Object, ByVal e As LastLogonParametersWritingEventArgs) + 'If (CType(e.LogonObject, AuthenticationStandardLogonParameters)).UserName <> "SysAdmin" Then + e.SettingsStorage.SaveOption("", "UserName", (CType(e.LogonObject, AuthenticationStandardLogonParameters)).UserName) + e.SettingsStorage.SaveOption("", "DBConnection", GLOBAL_SQLDatabase) + e.SettingsStorage.SaveOption("", "SQLServer", GLOBAL_SQLServer) + e.SettingsStorage.SaveOption("", "Company", GLOBAL_Company) + + Select Case GLOBAL_SQLType + Case eSQLType.MSSQL + e.SettingsStorage.SaveOption("", "SQLType", "MSSQL") + Case eSQLType.MySQL + e.SettingsStorage.SaveOption("", "SQLType", "MySQL") + Case eSQLType.PostgreSQL + e.SettingsStorage.SaveOption("", "SQLType", "PostgreSQL") + End Select + + e.Handled = True + End Sub + + Private Shared Sub Application_Idle(sender As Object, e As EventArgs) + + End Sub + +End Class + + + diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrenciesResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrenciesResponseBody.datasource new file mode 100644 index 0000000..060ac56 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrenciesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetCurrenciesResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource new file mode 100644 index 0000000..b8df448 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrencyUnitsResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetCurrencyUnitsResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource new file mode 100644 index 0000000..394fa7f --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetCurrentExchangeRatesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetCurrentExchangeRatesResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetDateIntervalResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetDateIntervalResponseBody.datasource new file mode 100644 index 0000000..5202369 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetDateIntervalResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetDateIntervalResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetExchangeRatesResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetExchangeRatesResponseBody.datasource new file mode 100644 index 0000000..901b9c2 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetExchangeRatesResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetExchangeRatesResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetInfoResponseBody.datasource b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetInfoResponseBody.datasource new file mode 100644 index 0000000..715b2e5 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Nuvolar.Win.MNBArfolyamService.GetInfoResponseBody.datasource @@ -0,0 +1,10 @@ + + + + Nuvolar.Win.MNBArfolyamService.GetInfoResponseBody, Service References.MNBArfolyamService.Reference.vb.dll, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.svcmap b/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.svcmap new file mode 100644 index 0000000..4c46b16 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.svcmap @@ -0,0 +1,34 @@ + + + + false + true + + false + false + false + + + true + Auto + true + true + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.vb b/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.vb new file mode 100644 index 0000000..ca4e3c9 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/Reference.vb @@ -0,0 +1,919 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System +Imports System.Runtime.Serialization + +Namespace MNBArfolyamService + + _ + Partial Public Class GetCurrenciesRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCurrenciesResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetCurrenciesResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetCurrenciesResult() As String + Get + Return Me.GetCurrenciesResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetCurrenciesResultField, value) <> true) Then + Me.GetCurrenciesResultField = value + Me.RaisePropertyChanged("GetCurrenciesResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCurrencyUnitsRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private currencyNamesField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property currencyNames() As String + Get + Return Me.currencyNamesField + End Get + Set + If (Object.ReferenceEquals(Me.currencyNamesField, value) <> true) Then + Me.currencyNamesField = value + Me.RaisePropertyChanged("currencyNames") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCurrencyUnitsResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetCurrencyUnitsResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetCurrencyUnitsResult() As String + Get + Return Me.GetCurrencyUnitsResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetCurrencyUnitsResultField, value) <> true) Then + Me.GetCurrencyUnitsResultField = value + Me.RaisePropertyChanged("GetCurrencyUnitsResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCurrentExchangeRatesRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetCurrentExchangeRatesResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetCurrentExchangeRatesResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetCurrentExchangeRatesResult() As String + Get + Return Me.GetCurrentExchangeRatesResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetCurrentExchangeRatesResultField, value) <> true) Then + Me.GetCurrentExchangeRatesResultField = value + Me.RaisePropertyChanged("GetCurrentExchangeRatesResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetDateIntervalRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetDateIntervalResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetDateIntervalResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetDateIntervalResult() As String + Get + Return Me.GetDateIntervalResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetDateIntervalResultField, value) <> true) Then + Me.GetDateIntervalResultField = value + Me.RaisePropertyChanged("GetDateIntervalResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetExchangeRatesRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private startDateField As String + + _ + Private endDateField As String + + _ + Private currencyNamesField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property startDate() As String + Get + Return Me.startDateField + End Get + Set + If (Object.ReferenceEquals(Me.startDateField, value) <> true) Then + Me.startDateField = value + Me.RaisePropertyChanged("startDate") + End If + End Set + End Property + + _ + Public Property endDate() As String + Get + Return Me.endDateField + End Get + Set + If (Object.ReferenceEquals(Me.endDateField, value) <> true) Then + Me.endDateField = value + Me.RaisePropertyChanged("endDate") + End If + End Set + End Property + + _ + Public Property currencyNames() As String + Get + Return Me.currencyNamesField + End Get + Set + If (Object.ReferenceEquals(Me.currencyNamesField, value) <> true) Then + Me.currencyNamesField = value + Me.RaisePropertyChanged("currencyNames") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetExchangeRatesResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetExchangeRatesResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetExchangeRatesResult() As String + Get + Return Me.GetExchangeRatesResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetExchangeRatesResultField, value) <> true) Then + Me.GetExchangeRatesResultField = value + Me.RaisePropertyChanged("GetExchangeRatesResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetInfoRequestBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Partial Public Class GetInfoResponseBody + Inherits Object + Implements System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged + + _ + Private extensionDataField As System.Runtime.Serialization.ExtensionDataObject + + _ + Private GetInfoResultField As String + + _ + Public Property ExtensionData() As System.Runtime.Serialization.ExtensionDataObject Implements System.Runtime.Serialization.IExtensibleDataObject.ExtensionData + Get + Return Me.extensionDataField + End Get + Set + Me.extensionDataField = value + End Set + End Property + + _ + Public Property GetInfoResult() As String + Get + Return Me.GetInfoResultField + End Get + Set + If (Object.ReferenceEquals(Me.GetInfoResultField, value) <> true) Then + Me.GetInfoResultField = value + Me.RaisePropertyChanged("GetInfoResult") + End If + End Set + End Property + + Public Event PropertyChanged As System.ComponentModel.PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged + + Protected Sub RaisePropertyChanged(ByVal propertyName As String) + Dim propertyChanged As System.ComponentModel.PropertyChangedEventHandler = Me.PropertyChangedEvent + If (Not (propertyChanged) Is Nothing) Then + propertyChanged(Me, New System.ComponentModel.PropertyChangedEventArgs(propertyName)) + End If + End Sub + End Class + + _ + Public Interface MNBArfolyamServiceSoap + + 'CODEGEN: Generating message contract since the operation GetCurrencies is neither RPC nor document wrapped. + _ + Function GetCurrencies(ByVal request As MNBArfolyamService.GetCurrenciesRequest) As MNBArfolyamService.GetCurrenciesResponse + + 'CODEGEN: Generating message contract since the operation GetCurrencyUnits is neither RPC nor document wrapped. + _ + Function GetCurrencyUnits(ByVal request As MNBArfolyamService.GetCurrencyUnitsRequest) As MNBArfolyamService.GetCurrencyUnitsResponse + + 'CODEGEN: Generating message contract since the operation GetCurrentExchangeRates is neither RPC nor document wrapped. + _ + Function GetCurrentExchangeRates(ByVal request As MNBArfolyamService.GetCurrentExchangeRatesRequest) As MNBArfolyamService.GetCurrentExchangeRatesResponse + + 'CODEGEN: Generating message contract since the operation GetDateInterval is neither RPC nor document wrapped. + _ + Function GetDateInterval(ByVal request As MNBArfolyamService.GetDateIntervalRequest) As MNBArfolyamService.GetDateIntervalResponse + + 'CODEGEN: Generating message contract since the operation GetExchangeRates is neither RPC nor document wrapped. + _ + Function GetExchangeRates(ByVal request As MNBArfolyamService.GetExchangeRatesRequest) As MNBArfolyamService.GetExchangeRatesResponse + + 'CODEGEN: Generating message contract since the operation GetInfo is neither RPC nor document wrapped. + _ + Function GetInfo(ByVal request As MNBArfolyamService.GetInfoRequest) As MNBArfolyamService.GetInfoResponse + End Interface + + _ + Partial Public Class GetCurrenciesRequest + + _ + Public GetCurrencies As MNBArfolyamService.GetCurrenciesRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrencies As MNBArfolyamService.GetCurrenciesRequestBody) + MyBase.New + Me.GetCurrencies = GetCurrencies + End Sub + End Class + + _ + Partial Public Class GetCurrenciesResponse + + _ + Public GetCurrenciesResponse1 As MNBArfolyamService.GetCurrenciesResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrenciesResponse1 As MNBArfolyamService.GetCurrenciesResponseBody) + MyBase.New + Me.GetCurrenciesResponse1 = GetCurrenciesResponse1 + End Sub + End Class + + _ + Partial Public Class GetCurrencyUnitsRequest + + _ + Public GetCurrencyUnits As MNBArfolyamService.GetCurrencyUnitsRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrencyUnits As MNBArfolyamService.GetCurrencyUnitsRequestBody) + MyBase.New + Me.GetCurrencyUnits = GetCurrencyUnits + End Sub + End Class + + _ + Partial Public Class GetCurrencyUnitsResponse + + _ + Public GetCurrencyUnitsResponse1 As MNBArfolyamService.GetCurrencyUnitsResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrencyUnitsResponse1 As MNBArfolyamService.GetCurrencyUnitsResponseBody) + MyBase.New + Me.GetCurrencyUnitsResponse1 = GetCurrencyUnitsResponse1 + End Sub + End Class + + _ + Partial Public Class GetCurrentExchangeRatesRequest + + _ + Public GetCurrentExchangeRates As MNBArfolyamService.GetCurrentExchangeRatesRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrentExchangeRates As MNBArfolyamService.GetCurrentExchangeRatesRequestBody) + MyBase.New + Me.GetCurrentExchangeRates = GetCurrentExchangeRates + End Sub + End Class + + _ + Partial Public Class GetCurrentExchangeRatesResponse + + _ + Public GetCurrentExchangeRatesResponse1 As MNBArfolyamService.GetCurrentExchangeRatesResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetCurrentExchangeRatesResponse1 As MNBArfolyamService.GetCurrentExchangeRatesResponseBody) + MyBase.New + Me.GetCurrentExchangeRatesResponse1 = GetCurrentExchangeRatesResponse1 + End Sub + End Class + + _ + Partial Public Class GetDateIntervalRequest + + _ + Public GetDateInterval As MNBArfolyamService.GetDateIntervalRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateInterval As MNBArfolyamService.GetDateIntervalRequestBody) + MyBase.New + Me.GetDateInterval = GetDateInterval + End Sub + End Class + + _ + Partial Public Class GetDateIntervalResponse + + _ + Public GetDateIntervalResponse1 As MNBArfolyamService.GetDateIntervalResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetDateIntervalResponse1 As MNBArfolyamService.GetDateIntervalResponseBody) + MyBase.New + Me.GetDateIntervalResponse1 = GetDateIntervalResponse1 + End Sub + End Class + + _ + Partial Public Class GetExchangeRatesRequest + + _ + Public GetExchangeRates As MNBArfolyamService.GetExchangeRatesRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetExchangeRates As MNBArfolyamService.GetExchangeRatesRequestBody) + MyBase.New + Me.GetExchangeRates = GetExchangeRates + End Sub + End Class + + _ + Partial Public Class GetExchangeRatesResponse + + _ + Public GetExchangeRatesResponse1 As MNBArfolyamService.GetExchangeRatesResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetExchangeRatesResponse1 As MNBArfolyamService.GetExchangeRatesResponseBody) + MyBase.New + Me.GetExchangeRatesResponse1 = GetExchangeRatesResponse1 + End Sub + End Class + + _ + Partial Public Class GetInfoRequest + + _ + Public GetInfo As MNBArfolyamService.GetInfoRequestBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetInfo As MNBArfolyamService.GetInfoRequestBody) + MyBase.New + Me.GetInfo = GetInfo + End Sub + End Class + + _ + Partial Public Class GetInfoResponse + + _ + Public GetInfoResponse1 As MNBArfolyamService.GetInfoResponseBody + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal GetInfoResponse1 As MNBArfolyamService.GetInfoResponseBody) + MyBase.New + Me.GetInfoResponse1 = GetInfoResponse1 + End Sub + End Class + + _ + Public Interface MNBArfolyamServiceSoapChannel + Inherits MNBArfolyamService.MNBArfolyamServiceSoap, System.ServiceModel.IClientChannel + End Interface + + _ + Partial Public Class MNBArfolyamServiceSoapClient + Inherits System.ServiceModel.ClientBase(Of MNBArfolyamService.MNBArfolyamServiceSoap) + Implements MNBArfolyamService.MNBArfolyamServiceSoap + + Public Sub New() + MyBase.New + End Sub + + Public Sub New(ByVal endpointConfigurationName As String) + MyBase.New(endpointConfigurationName) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As String) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal endpointConfigurationName As String, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(endpointConfigurationName, remoteAddress) + End Sub + + Public Sub New(ByVal binding As System.ServiceModel.Channels.Binding, ByVal remoteAddress As System.ServiceModel.EndpointAddress) + MyBase.New(binding, remoteAddress) + End Sub + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetCurrencies(ByVal request As MNBArfolyamService.GetCurrenciesRequest) As MNBArfolyamService.GetCurrenciesResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetCurrencies + Return MyBase.Channel.GetCurrencies(request) + End Function + + Public Function GetCurrencies(ByVal GetCurrencies1 As MNBArfolyamService.GetCurrenciesRequestBody) As MNBArfolyamService.GetCurrenciesResponseBody + Dim inValue As MNBArfolyamService.GetCurrenciesRequest = New MNBArfolyamService.GetCurrenciesRequest() + inValue.GetCurrencies = GetCurrencies1 + Dim retVal As MNBArfolyamService.GetCurrenciesResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetCurrencies(inValue) + Return retVal.GetCurrenciesResponse1 + End Function + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetCurrencyUnits(ByVal request As MNBArfolyamService.GetCurrencyUnitsRequest) As MNBArfolyamService.GetCurrencyUnitsResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetCurrencyUnits + Return MyBase.Channel.GetCurrencyUnits(request) + End Function + + Public Function GetCurrencyUnits(ByVal GetCurrencyUnits1 As MNBArfolyamService.GetCurrencyUnitsRequestBody) As MNBArfolyamService.GetCurrencyUnitsResponseBody + Dim inValue As MNBArfolyamService.GetCurrencyUnitsRequest = New MNBArfolyamService.GetCurrencyUnitsRequest() + inValue.GetCurrencyUnits = GetCurrencyUnits1 + Dim retVal As MNBArfolyamService.GetCurrencyUnitsResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetCurrencyUnits(inValue) + Return retVal.GetCurrencyUnitsResponse1 + End Function + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetCurrentExchangeRates(ByVal request As MNBArfolyamService.GetCurrentExchangeRatesRequest) As MNBArfolyamService.GetCurrentExchangeRatesResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetCurrentExchangeRates + Return MyBase.Channel.GetCurrentExchangeRates(request) + End Function + + Public Function GetCurrentExchangeRates(ByVal GetCurrentExchangeRates1 As MNBArfolyamService.GetCurrentExchangeRatesRequestBody) As MNBArfolyamService.GetCurrentExchangeRatesResponseBody + Dim inValue As MNBArfolyamService.GetCurrentExchangeRatesRequest = New MNBArfolyamService.GetCurrentExchangeRatesRequest() + inValue.GetCurrentExchangeRates = GetCurrentExchangeRates1 + Dim retVal As MNBArfolyamService.GetCurrentExchangeRatesResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetCurrentExchangeRates(inValue) + Return retVal.GetCurrentExchangeRatesResponse1 + End Function + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetDateInterval(ByVal request As MNBArfolyamService.GetDateIntervalRequest) As MNBArfolyamService.GetDateIntervalResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetDateInterval + Return MyBase.Channel.GetDateInterval(request) + End Function + + Public Function GetDateInterval(ByVal GetDateInterval1 As MNBArfolyamService.GetDateIntervalRequestBody) As MNBArfolyamService.GetDateIntervalResponseBody + Dim inValue As MNBArfolyamService.GetDateIntervalRequest = New MNBArfolyamService.GetDateIntervalRequest() + inValue.GetDateInterval = GetDateInterval1 + Dim retVal As MNBArfolyamService.GetDateIntervalResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetDateInterval(inValue) + Return retVal.GetDateIntervalResponse1 + End Function + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetExchangeRates(ByVal request As MNBArfolyamService.GetExchangeRatesRequest) As MNBArfolyamService.GetExchangeRatesResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetExchangeRates + Return MyBase.Channel.GetExchangeRates(request) + End Function + + Public Function GetExchangeRates(ByVal GetExchangeRates1 As MNBArfolyamService.GetExchangeRatesRequestBody) As MNBArfolyamService.GetExchangeRatesResponseBody + Dim inValue As MNBArfolyamService.GetExchangeRatesRequest = New MNBArfolyamService.GetExchangeRatesRequest() + inValue.GetExchangeRates = GetExchangeRates1 + Dim retVal As MNBArfolyamService.GetExchangeRatesResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetExchangeRates(inValue) + Return retVal.GetExchangeRatesResponse1 + End Function + + _ + Function MNBArfolyamService_MNBArfolyamServiceSoap_GetInfo(ByVal request As MNBArfolyamService.GetInfoRequest) As MNBArfolyamService.GetInfoResponse Implements MNBArfolyamService.MNBArfolyamServiceSoap.GetInfo + Return MyBase.Channel.GetInfo(request) + End Function + + Public Function GetInfo(ByVal GetInfo1 As MNBArfolyamService.GetInfoRequestBody) As MNBArfolyamService.GetInfoResponseBody + Dim inValue As MNBArfolyamService.GetInfoRequest = New MNBArfolyamService.GetInfoRequest() + inValue.GetInfo = GetInfo1 + Dim retVal As MNBArfolyamService.GetInfoResponse = CType(Me,MNBArfolyamService.MNBArfolyamServiceSoap).GetInfo(inValue) + Return retVal.GetInfoResponse1 + End Function + End Class +End Namespace diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.disco b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.disco new file mode 100644 index 0000000..50b6aa3 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.disco @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.wsdl b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.wsdl new file mode 100644 index 0000000..322018c --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.wsdl @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.xsd b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.xsd new file mode 100644 index 0000000..d54837d --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok.xsd @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.wsdl b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.wsdl new file mode 100644 index 0000000..f4639bc --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.wsdl @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.xsd b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.xsd new file mode 100644 index 0000000..d58e7f3 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/arfolyamok1.xsd @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/configuration.svcinfo b/momoERP.Win.HA/Service References/MNBArfolyamService/configuration.svcinfo new file mode 100644 index 0000000..7882ddd --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/configuration.svcinfo @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/Service References/MNBArfolyamService/configuration91.svcinfo b/momoERP.Win.HA/Service References/MNBArfolyamService/configuration91.svcinfo new file mode 100644 index 0000000..9c8c368 --- /dev/null +++ b/momoERP.Win.HA/Service References/MNBArfolyamService/configuration91.svcinfo @@ -0,0 +1,201 @@ + + + + + + + BasicHttpBinding_MNBArfolyamServiceSoap + + + + + + + + + + + + + + + + + + + + + StrongWildcard + + + + + + 65536 + + + + + + + + + System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + System.Text.UTF8Encoding + + + Buffered + + + + + + Text + + + System.ServiceModel.Configuration.BasicHttpSecurityElement + + + None + + + System.ServiceModel.Configuration.HttpTransportSecurityElement + + + None + + + None + + + System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement + + + Never + + + TransportSelected + + + (Collection) + + + + + + System.ServiceModel.Configuration.BasicHttpMessageSecurityElement + + + UserName + + + Default + + + + + + + + + http://www.mnb.hu/arfolyamok.asmx + + + + + + basicHttpBinding + + + BasicHttpBinding_MNBArfolyamServiceSoap + + + MNBArfolyamService.MNBArfolyamServiceSoap + + + System.ServiceModel.Configuration.AddressHeaderCollectionElement + + + <Header /> + + + System.ServiceModel.Configuration.IdentityElement + + + System.ServiceModel.Configuration.UserPrincipalNameElement + + + + + + System.ServiceModel.Configuration.ServicePrincipalNameElement + + + + + + System.ServiceModel.Configuration.DnsElement + + + + + + System.ServiceModel.Configuration.RsaElement + + + + + + System.ServiceModel.Configuration.CertificateElement + + + + + + System.ServiceModel.Configuration.CertificateReferenceElement + + + My + + + LocalMachine + + + FindBySubjectDistinguishedName + + + + + + False + + + BasicHttpBinding_MNBArfolyamServiceSoap + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/UnusableNodes.xml b/momoERP.Win.HA/UnusableNodes.xml new file mode 100644 index 0000000..1634c7e --- /dev/null +++ b/momoERP.Win.HA/UnusableNodes.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/WinApplication.Designer.vb b/momoERP.Win.HA/WinApplication.Designer.vb new file mode 100644 index 0000000..8b3c95e --- /dev/null +++ b/momoERP.Win.HA/WinApplication.Designer.vb @@ -0,0 +1,217 @@ +Imports Microsoft.VisualBasic +Imports System +Imports DevExpress.ExpressApp.Security + +Partial Public Class NuvolarWindowsFormsApplication + ''' + ''' Required designer variable. + ''' + Private components As System.ComponentModel.IContainer = Nothing + + ''' + ''' Clean up any resources being used. + ''' + ''' true if managed resources should be disposed; otherwise, false. + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + If disposing AndAlso (Not components Is Nothing) Then + components.Dispose() + End If + MyBase.Dispose(disposing) + End Sub + +#Region "Component Designer generated code" + + ''' + ''' Required method for Designer support - do not modify + ''' the contents of this method with the code editor. + ''' + Private Sub InitializeComponent() + Me.module1 = New DevExpress.ExpressApp.SystemModule.SystemModule() + Me.module2 = New DevExpress.ExpressApp.Win.SystemModule.SystemWindowsFormsModule() + Me.module3 = New Nuvolar.[Module].NuvolarModule() + Me.module4 = New Nuvolar.[Module].Win.NuvolarWindowsFormsModule() + Me.module5 = New DevExpress.ExpressApp.Validation.ValidationModule() + Me.module6 = New DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule() + Me.module7 = New DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule() + Me.securityModule1 = New DevExpress.ExpressApp.Security.SecurityModule() + Me.sqlConnection1 = New System.Data.SqlClient.SqlConnection() + Me.CloneObjectModule1 = New DevExpress.ExpressApp.CloneObject.CloneObjectModule() + Me.ConditionalAppearanceModule1 = New DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule() + Me.ViewVariantsModule1 = New DevExpress.ExpressApp.ViewVariantsModule.ViewVariantsModule() + Me.SecurityComplex1 = New DevExpress.ExpressApp.Security.SecurityComplex() + Me.AuthenticationStandard1 = New DevExpress.ExpressApp.Security.AuthenticationStandard() + Me.FileAttachmentsWindowsFormsModule1 = New DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule() + Me.HtmlPropertyEditorWindowsFormsModule1 = New DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlPropertyEditorWindowsFormsModule() + Me.PivotChartModuleBase1 = New DevExpress.ExpressApp.PivotChart.PivotChartModuleBase() + Me.PivotChartWindowsFormsModule1 = New DevExpress.ExpressApp.PivotChart.Win.PivotChartWindowsFormsModule() + Me.AuditTrailModule2 = New DevExpress.ExpressApp.AuditTrail.AuditTrailModule() + Me.TreeListEditorsWindowsFormsModule1 = New DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule() + Me.TreeListEditorsModuleBase1 = New DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase() + Me.ReportsWindowsFormsModule1 = New DevExpress.ExpressApp.Reports.Win.ReportsWindowsFormsModule() + Me.ReportsModule1 = New DevExpress.ExpressApp.Reports.ReportsModule() + Me.SchedulerWindowsFormsModule1 = New DevExpress.ExpressApp.Scheduler.Win.SchedulerWindowsFormsModule() + Me.SchedulerModuleBase1 = New DevExpress.ExpressApp.Scheduler.SchedulerModuleBase() + Me.KpiModule1 = New DevExpress.ExpressApp.Kpi.KpiModule() + Me.ChartModule1 = New DevExpress.ExpressApp.Chart.ChartModule() + Me.ChartWindowsFormsModule1 = New DevExpress.ExpressApp.Chart.Win.ChartWindowsFormsModule() + Me.PivotGridModule1 = New DevExpress.ExpressApp.PivotGrid.PivotGridModule() + Me.PivotGridWindowsFormsModule1 = New DevExpress.ExpressApp.PivotGrid.Win.PivotGridWindowsFormsModule() + Me.CSharpModule1 = New Nuvolar.[Module].CSharp.CSharpModule() + Me.NotificationsModule1 = New DevExpress.ExpressApp.Notifications.NotificationsModule() + Me.NotificationsWindowsFormsModule1 = New DevExpress.ExpressApp.Notifications.Win.NotificationsWindowsFormsModule() + Me.ReportsModuleV21 = New DevExpress.ExpressApp.ReportsV2.ReportsModuleV2() + Me.ReportsWindowsFormsModuleV21 = New DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2() + CType(Me, System.ComponentModel.ISupportInitialize).BeginInit() + ' + 'module5 + ' + Me.module5.AllowValidationDetailsAccess = True + Me.module5.IgnoreWarningAndInformationRules = False + ' + 'sqlConnection1 + ' + Me.sqlConnection1.ConnectionString = "Data Source=(local);Initial Catalog=Nuvolar;Integrated Security=SSPI;Pooling=fals" & + "e" + Me.sqlConnection1.FireInfoMessageEventOnUserErrors = False + ' + 'ViewVariantsModule1 + ' + Me.ViewVariantsModule1.ShowAdditionalNavigation = True + ' + 'SecurityComplex1 + ' + Me.SecurityComplex1.Authentication = Me.AuthenticationStandard1 + Me.SecurityComplex1.RoleType = GetType(DevExpress.Persistent.BaseImpl.Role) + Me.SecurityComplex1.UserType = GetType(DevExpress.Persistent.BaseImpl.User) + ' + 'AuthenticationStandard1 + ' + Me.AuthenticationStandard1.LogonParametersType = GetType(DevExpress.ExpressApp.Security.AuthenticationStandardLogonParameters) + ' + 'PivotChartModuleBase1 + ' + Me.PivotChartModuleBase1.ShowAdditionalNavigation = False + ' + 'AuditTrailModule2 + ' + Me.AuditTrailModule2.AuditDataItemPersistentType = GetType(DevExpress.Persistent.BaseImpl.AuditDataItemPersistent) + ' + 'ReportsModule1 + ' + Me.ReportsModule1.EnableInplaceReports = True + Me.ReportsModule1.ReportDataType = GetType(DevExpress.Persistent.BaseImpl.ReportData) + ' + 'NotificationsModule1 + ' + Me.NotificationsModule1.NotificationsRefreshInterval = System.TimeSpan.Parse("00:05:00") + Me.NotificationsModule1.NotificationsStartDelay = System.TimeSpan.Parse("00:00:05") + Me.NotificationsModule1.ShowNotificationsWindow = True + ' + 'ReportsModuleV21 + ' + Me.ReportsModuleV21.EnableInplaceReports = True + Me.ReportsModuleV21.ReportDataType = GetType(DevExpress.Persistent.BaseImpl.ReportDataV2) + ' + 'NuvolarWindowsFormsApplication + ' + Me.ApplicationName = "Nuvolar" + Me.Connection = Me.sqlConnection1 + Me.Modules.Add(Me.module1) + Me.Modules.Add(Me.module2) + Me.Modules.Add(Me.module6) + Me.Modules.Add(Me.CloneObjectModule1) + Me.Modules.Add(Me.ConditionalAppearanceModule1) + Me.Modules.Add(Me.module5) + Me.Modules.Add(Me.ViewVariantsModule1) + Me.Modules.Add(Me.securityModule1) + Me.Modules.Add(Me.AuditTrailModule2) + Me.Modules.Add(Me.KpiModule1) + Me.Modules.Add(Me.NotificationsModule1) + Me.Modules.Add(Me.module3) + Me.Modules.Add(Me.FileAttachmentsWindowsFormsModule1) + Me.Modules.Add(Me.HtmlPropertyEditorWindowsFormsModule1) + Me.Modules.Add(Me.PivotChartModuleBase1) + Me.Modules.Add(Me.PivotChartWindowsFormsModule1) + Me.Modules.Add(Me.module7) + Me.Modules.Add(Me.ReportsModule1) + Me.Modules.Add(Me.ReportsWindowsFormsModule1) + Me.Modules.Add(Me.TreeListEditorsModuleBase1) + Me.Modules.Add(Me.TreeListEditorsWindowsFormsModule1) + Me.Modules.Add(Me.ChartModule1) + Me.Modules.Add(Me.ChartWindowsFormsModule1) + Me.Modules.Add(Me.PivotGridModule1) + Me.Modules.Add(Me.PivotGridWindowsFormsModule1) + Me.Modules.Add(Me.SchedulerModuleBase1) + Me.Modules.Add(Me.SchedulerWindowsFormsModule1) + Me.Modules.Add(Me.NotificationsWindowsFormsModule1) + Me.Modules.Add(Me.module4) + Me.Modules.Add(Me.ReportsModuleV21) + Me.Modules.Add(Me.CSharpModule1) + Me.Modules.Add(Me.ReportsWindowsFormsModuleV21) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.NavBarControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.LayoutControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.GridControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Localization.PreviewControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.BarControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Security.ServerDataLogLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.RichEditControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.TreeListControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.VerticalGridControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.XtraEditorsLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Localization.LargeStringEditFindFormLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Templates.MainFormTemplateLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Templates.DetailViewFormTemplateLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Templates.NestedFrameTemplateLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Templates.LookupControlTemplateLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Win.Templates.PopupFormTemplateLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlEditorControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.PivotChart.PivotGridLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.PivotChart.ChartLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.PivotChart.AnalysisControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Reports.Win.ReportControlLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Scheduler.SchedulerModuleBaseLocalizer)) + Me.ResourcesExportedToModel.Add(GetType(DevExpress.ExpressApp.Scheduler.Win.SchedulerControlLocalizer)) + Me.Security = Me.SecurityComplex1 + CType(Me, System.ComponentModel.ISupportInitialize).EndInit() + + End Sub + +#End Region + + Private module1 As DevExpress.ExpressApp.SystemModule.SystemModule + Private module2 As DevExpress.ExpressApp.Win.SystemModule.SystemWindowsFormsModule + Private module3 As Global.Nuvolar.Module.NuvolarModule + Private module4 As Global.Nuvolar.Module.Win.NuvolarWindowsFormsModule + Private module5 As DevExpress.ExpressApp.Validation.ValidationModule + Private module6 As DevExpress.ExpressApp.Objects.BusinessClassLibraryCustomizationModule + Private module7 As DevExpress.ExpressApp.Validation.Win.ValidationWindowsFormsModule + Private securityModule1 As DevExpress.ExpressApp.Security.SecurityModule + + Private sqlConnection1 As System.Data.SqlClient.SqlConnection + Friend WithEvents CloneObjectModule1 As DevExpress.ExpressApp.CloneObject.CloneObjectModule + Friend WithEvents ConditionalAppearanceModule1 As DevExpress.ExpressApp.ConditionalAppearance.ConditionalAppearanceModule + Friend WithEvents ViewVariantsModule1 As DevExpress.ExpressApp.ViewVariantsModule.ViewVariantsModule + Friend WithEvents SecurityComplex1 As DevExpress.ExpressApp.Security.SecurityComplex + Friend WithEvents AuthenticationStandard1 As DevExpress.ExpressApp.Security.AuthenticationStandard + Friend WithEvents FileAttachmentsWindowsFormsModule1 As DevExpress.ExpressApp.FileAttachments.Win.FileAttachmentsWindowsFormsModule + Friend WithEvents HtmlPropertyEditorWindowsFormsModule1 As DevExpress.ExpressApp.HtmlPropertyEditor.Win.HtmlPropertyEditorWindowsFormsModule + Friend WithEvents PivotChartModuleBase1 As DevExpress.ExpressApp.PivotChart.PivotChartModuleBase + Friend WithEvents PivotChartWindowsFormsModule1 As DevExpress.ExpressApp.PivotChart.Win.PivotChartWindowsFormsModule + Friend WithEvents AuditTrailModule2 As DevExpress.ExpressApp.AuditTrail.AuditTrailModule + Friend WithEvents TreeListEditorsWindowsFormsModule1 As DevExpress.ExpressApp.TreeListEditors.Win.TreeListEditorsWindowsFormsModule + Friend WithEvents TreeListEditorsModuleBase1 As DevExpress.ExpressApp.TreeListEditors.TreeListEditorsModuleBase + Friend WithEvents ReportsWindowsFormsModule1 As DevExpress.ExpressApp.Reports.Win.ReportsWindowsFormsModule + Friend WithEvents ReportsModule1 As DevExpress.ExpressApp.Reports.ReportsModule + Friend WithEvents SchedulerWindowsFormsModule1 As DevExpress.ExpressApp.Scheduler.Win.SchedulerWindowsFormsModule + Friend WithEvents SchedulerModuleBase1 As DevExpress.ExpressApp.Scheduler.SchedulerModuleBase + Friend WithEvents KpiModule1 As DevExpress.ExpressApp.Kpi.KpiModule + Friend WithEvents ChartModule1 As DevExpress.ExpressApp.Chart.ChartModule + Friend WithEvents ChartWindowsFormsModule1 As DevExpress.ExpressApp.Chart.Win.ChartWindowsFormsModule + Friend WithEvents PivotGridModule1 As DevExpress.ExpressApp.PivotGrid.PivotGridModule + Friend WithEvents PivotGridWindowsFormsModule1 As DevExpress.ExpressApp.PivotGrid.Win.PivotGridWindowsFormsModule + Friend WithEvents CSharpModule1 As Nuvolar.Module.CSharp.CSharpModule + Friend WithEvents NotificationsModule1 As DevExpress.ExpressApp.Notifications.NotificationsModule + Friend WithEvents NotificationsWindowsFormsModule1 As DevExpress.ExpressApp.Notifications.Win.NotificationsWindowsFormsModule + Friend WithEvents ReportsModuleV21 As DevExpress.ExpressApp.ReportsV2.ReportsModuleV2 + Friend WithEvents ReportsWindowsFormsModuleV21 As DevExpress.ExpressApp.ReportsV2.Win.ReportsWindowsFormsModuleV2 +End Class diff --git a/momoERP.Win.HA/WinApplication.resx b/momoERP.Win.HA/WinApplication.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/momoERP.Win.HA/WinApplication.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/momoERP.Win.HA/WinApplication.vb b/momoERP.Win.HA/WinApplication.vb new file mode 100644 index 0000000..1e43319 --- /dev/null +++ b/momoERP.Win.HA/WinApplication.vb @@ -0,0 +1,140 @@ +Imports Microsoft.VisualBasic +Imports System +Imports System.Collections.Generic +Imports System.ComponentModel +Imports DevExpress.ExpressApp.Win +Imports Nuvolar.Module.Win +Imports DevExpress.ExpressApp +Imports DevExpress.Xpo +Imports DevExpress.Data.Filtering +Imports DevExpress.XtraBars.Alerter +Imports DevExpress.ExpressApp.Utils +Imports DevExpress.ExpressApp.Xpo +Imports Nuvolar.Module.GeneralFunction +Imports System.Data.SqlClient +Imports System.IO +Imports System.Net +Imports Newtonsoft.Json +Imports Nuvolar.Module +Imports System.Text + +Partial Public Class NuvolarWindowsFormsApplication + Inherits WinApplication + Public Sub New() + InitializeComponent() + End Sub + + Private Sub NuvolarWindowsFormsApplication_DatabaseVersionMismatch(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.DatabaseVersionMismatchEventArgs) Handles MyBase.DatabaseVersionMismatch +#If EASYTEST Then + e.Updater.Update() + e.Handled = True +#Else + If System.Diagnostics.Debugger.IsAttached Then + e.Updater.Update() + e.Handled = True + Else + Throw New InvalidOperationException( _ + "The application cannot connect to the specified database, because the latter doesn't exist or its version is older than that of the application." & vbCrLf & _ + "This error occurred because the automatic database update was disabled when the application was started without debugging." & vbCrLf & _ + "To avoid this error, you should either start the application under Visual Studio in debug mode, or modify the " & _ + "source code of the 'DatabaseVersionMismatch' event handler to enable automatic database update, " & _ + "or manually create a database using the 'DBUpdater' tool." & vbCrLf & _ + "Anyway, refer to the 'Update Application and Database Versions' help topic at http://www.devexpress.com/Help/?document=ExpressApp/CustomDocument2795.htm " & _ + "for more detailed information. If this doesn't help, please contact our Support Team at http://www.devexpress.com/Support/Center/") + End If +#End If + End Sub + Protected Overrides Function GetTraceLogDirectory() As String + Return MyBase.GetTraceLogDirectory() + End Function + Protected Overrides Function CreateLogonWindowControllers() As System.Collections.Generic.List(Of DevExpress.ExpressApp.Controller) + Dim _result As System.Collections.Generic.List(Of DevExpress.ExpressApp.Controller) + Dim _CreateLogonWindowsControllerVC As New CreateLogonWindowsControllerVC + _result = MyBase.CreateLogonWindowControllers() + _result.Add(_CreateLogonWindowsControllerVC) + Return _result + End Function + Protected Overrides Sub CreateDefaultObjectSpaceProvider(args As CreateCustomObjectSpaceProviderEventArgs) + args.ObjectSpaceProvider = New XPObjectSpaceProvider(args.ConnectionString, args.Connection, True) + End Sub + Protected Overrides Sub OnLoggedOn(args As DevExpress.ExpressApp.LogonEventArgs) + MyBase.OnLoggedOn(args) + Dim _onew As Xpo.XPObjectSpace = Me.ObjectSpaceProvider.CreateObjectSpace() + Dim _uow As New UnitOfWork(_onew.Session.DataLayer) + Dim _User As DevExpress.Persistent.BaseImpl.User = _onew.FindObject(Of DevExpress.Persistent.BaseImpl.User)(CriteriaOperator.Parse("Oid=?", SecuritySystem.CurrentUserId)) + Nuvolar.Module.LockingModule.ReleaseAllLocking(_uow, _User) + + '// Itt sikeres a belépés !!! + SISPushInfoSSL() + End Sub + + Protected Overrides Sub OnLoggingOff(args As DevExpress.ExpressApp.LoggingOffEventArgs) + MyBase.OnLoggingOff(args) + Dim _onew As Xpo.XPObjectSpace = Me.ObjectSpaceProvider.CreateObjectSpace() + Dim _uow As New UnitOfWork(_onew.Session.DataLayer) + Dim _User As DevExpress.Persistent.BaseImpl.User = _onew.FindObject(Of DevExpress.Persistent.BaseImpl.User)(CriteriaOperator.Parse("Oid=?", SecuritySystem.CurrentUserId)) + Nuvolar.Module.LockingModule.ReleaseAllLocking(_uow, _User) + End Sub + Private Sub SISPushInfoSSL() + Dim _PushInfoClass As New PushInfoClass + Dim _InfoString As String = "" + Try + Dim _onew As Xpo.XPObjectSpace = Me.ObjectSpaceProvider.CreateObjectSpace() + Dim _uow As New UnitOfWork(_onew.Session.DataLayer) + Dim _User As DevExpress.Persistent.BaseImpl.User = _onew.FindObject(Of DevExpress.Persistent.BaseImpl.User)(CriteriaOperator.Parse("Oid=?", SecuritySystem.CurrentUserId)) + + _PushInfoClass.UserName = _User.UserName + _PushInfoClass.FullName = _User.FullName + + _InfoString = JsonConvert.SerializeObject(_PushInfoClass) + _InfoString = AESEncrypt(_InfoString, "HrX12!!0Zm7764W2", "vXm657YS+!0@mmT") + _InfoString = Convert.ToBase64String(Encoding.UTF8.GetBytes(_InfoString)) + + Dim _url = "http://sis-r.hu/SISChat/SISPushInfoSSL.ashx?id=" & _InfoString + Dim _request As HttpWebRequest = TryCast(WebRequest.Create(_url), HttpWebRequest) + Dim _response As HttpWebResponse = TryCast(_request.GetResponse, HttpWebResponse) + Dim _reader As StreamReader = New StreamReader(_response.GetResponseStream()) + _InfoString = _reader.ReadToEnd + + GLOBAL_ActivityID = _InfoString + Catch ex As Exception + + End Try + End Sub + +End Class +Public Class PushInfoClass + Property Company As String + Property ComputerName As String + Property ComputerIPAddress As String + Property ComputerUserName As String + Property ComputerUserDomainName As String + Property UserName As String + Property FullName As String + Sub New() + Company = GLOBAL_Company + ComputerName = Environment.MachineName + ComputerIPAddress = GetIPv4Address() + ComputerUserName = Environment.UserName + ComputerUserDomainName = Environment.UserDomainName + End Sub + Private Function GetIPv4Address() As String + Dim _GetIPv4Address As String = "" + GetIPv4Address = String.Empty + Dim strHostName As String = System.Net.Dns.GetHostName() + Dim iphe As System.Net.IPHostEntry = System.Net.Dns.GetHostEntry(strHostName) + + For Each ipheal As System.Net.IPAddress In iphe.AddressList + If ipheal.AddressFamily = System.Net.Sockets.AddressFamily.InterNetwork Then + If _GetIPv4Address = "" Then + _GetIPv4Address = ipheal.ToString() + Else + _GetIPv4Address += ";" + ipheal.ToString() + End If + End If + Next + Return _GetIPv4Address + End Function + +End Class + diff --git a/momoERP.Win.HA/WinApplication_DB.vb b/momoERP.Win.HA/WinApplication_DB.vb new file mode 100644 index 0000000..c027fb6 --- /dev/null +++ b/momoERP.Win.HA/WinApplication_DB.vb @@ -0,0 +1,150 @@ +Imports Microsoft.VisualBasic +Imports System +Imports System.Collections.Generic +Imports System.ComponentModel +Imports DevExpress.ExpressApp.Win +Imports DevExpress.ExpressApp.Updating +Imports DevExpress.ExpressApp +Imports System.Configuration +Imports DevExpress.ExpressApp.Security +Imports Nuvolar.Module +Imports DevExpress.Persistent.BaseImpl +Imports Nuvolar.Module.Win +Imports DevExpress.Xpo +Imports DevExpress.Xpo.DB +Imports System.Net +Imports System.IO +Imports System.Text +Imports Newtonsoft.Json + +Partial Public Class NuvolarWindowsFormsApplication + Inherits WinApplication + Implements IApplicationFactory + Friend WithEvents SystemModule1 As DevExpress.ExpressApp.SystemModule.SystemModule + Protected Overrides Sub ReadLastLogonParametersCore(ByVal storage As DevExpress.ExpressApp.Utils.SettingsStorage, ByVal logonObject As Object) + Dim standardLogonParameters As AuthenticationStandardLogonParameters = TryCast(logonObject, AuthenticationStandardLogonParameters) + If (standardLogonParameters IsNot Nothing) AndAlso String.IsNullOrEmpty(standardLogonParameters.UserName) Then + MyBase.ReadLastLogonParametersCore(storage, logonObject) + Try + 'MsgBox(System.Configuration.ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString) + + TryCast(logonObject, ChangeLogon).DBConnection = TryCast(storage, DevExpress.ExpressApp.Utils.SettingsStorageOnString).Values("\DBConnection") + TryCast(logonObject, ChangeLogon).SQLServer = TryCast(storage, DevExpress.ExpressApp.Utils.SettingsStorageOnString).Values("\SQLServer") + TryCast(logonObject, ChangeLogon).Company = TryCast(storage, DevExpress.ExpressApp.Utils.SettingsStorageOnString).Values("\Company") + Select Case TryCast(storage, DevExpress.ExpressApp.Utils.SettingsStorageOnString).Values("\SQLType") + Case "MSSQL" + TryCast(logonObject, ChangeLogon).SQLType = eSQLType.MSSQL + Case "PostgreSQL" + TryCast(logonObject, ChangeLogon).SQLType = eSQLType.PostgreSQL + Case "MySQL" + TryCast(logonObject, ChangeLogon).SQLType = eSQLType.MySQL + End Select + Catch + End Try + End If + End Sub + Protected Overrides Sub OnLoggingOn(ByVal args As LogonEventArgs) + Dim connstr As String = "" + Dim _ChangeLogon As ChangeLogon + + + MyBase.OnLoggingOn(args) + + _ChangeLogon = TryCast(args.LogonParameters, ChangeLogon) + + GLOBAL_Company = _ChangeLogon.Company + + 'Me.ConnectionString = GetConnectionGLOBAL() + Me.ConnectionString = GetSISSecurity() + SISGetInfoSSL() + Dim anm As System.Reflection.AssemblyName = System.Reflection.AssemblyName.GetAssemblyName(Application.StartupPath & "\Nuvolar.Module.dll") + + GLOBAL_MainModuleVersion = anm.Version.ToString + GLOBAL_ConnectionString = connstr + GLOBAL_WINFormCaption = String.Format("Nuvolar Framework version: {0} [{1}]", Application.ProductVersion, anm.Version.ToString) + GLOBAL_WINFormCaption += String.Format(", ({0})", GLOBAL_Company_Info) + GLOBAL_ApplicationStartupPath = Application.StartupPath & "\" + End Sub + Protected Overrides Function OnLogonFailed(ByVal logonParameters As Object, ByVal e As Exception) As Boolean + If WinChangeDatabaseHelper.SkipLogonDialog Then + Return True + End If + Return MyBase.OnLogonFailed(logonParameters, e) + End Function + Public Shared Function CreateApplication() As NuvolarWindowsFormsApplication + Dim winApplication As New NuvolarWindowsFormsApplication + + CType(winApplication.Security, SecurityBase).Authentication = New WinChangeDatabaseStandardAuthentication() + Return winApplication + End Function + Private Function IApplicationFactory_CreateApplication() As WinApplication Implements IApplicationFactory.CreateApplication + Return CreateApplication() + End Function + Protected Overrides Function GetModelAssemblyFilePath() As String + Return Nothing + End Function + + Private Function GetSISSecurity() As String + Dim _ConnectionString As String = "" + Try + + Dim _url = "http://sis-r.hu/SISChat/SISSecuritySSL.ashx?id=" & UCase(GLOBAL_Company) + 'Dim _url = "http://nuvolar.azurewebsites.net/SISSecuritySSL.ashx?id=" & UCase(GLOBAL_Company) + Dim _request As HttpWebRequest = TryCast(WebRequest.Create(_url), HttpWebRequest) + Dim _response As HttpWebResponse = TryCast(_request.GetResponse, HttpWebResponse) + Dim _reader As StreamReader = New StreamReader(_response.GetResponseStream()) + _ConnectionString = _reader.ReadToEnd + + _ConnectionString = Encoding.UTF8.GetString(Convert.FromBase64String(_ConnectionString)) + _ConnectionString = AESDecrypt(_ConnectionString, "HrX12!!0Zm7764W2", "vXm657YS+!0@mmT") + + Dim sArray() As String = _ConnectionString.Split(New Char() {";", "="}, StringSplitOptions.RemoveEmptyEntries) + + If String.IsNullOrEmpty(sArray(1)) = False Then + Select Case UCase(sArray(1)) + Case "MYSQL" + GLOBAL_SQLType = eSQLType.MySQL + Case "MSSQL" + GLOBAL_SQLType = eSQLType.MSSQL + Case "POSTGRESQL" + GLOBAL_SQLType = eSQLType.PostgreSQL + Case Else + GLOBAL_SQLType = eSQLType.MSSQL + + End Select + End If + + Catch ex As Exception + + End Try + Return _ConnectionString + End Function + Private Sub SISGetInfoSSL() + Dim _InfoString As String = "" + Dim _GetInfoClass As New GetInfoClass + Try + Dim _url = "http://sis-r.hu/SISChat/SISGetInfoSSL.ashx?id=" & UCase(GLOBAL_Company) + 'Dim _url = "http://nuvolar.azurewebsites.net/SISGetInfoSSL.ashx?id=" & UCase(GLOBAL_Company) + Dim _request As HttpWebRequest = TryCast(WebRequest.Create(_url), HttpWebRequest) + Dim _response As HttpWebResponse = TryCast(_request.GetResponse, HttpWebResponse) + Dim _reader As StreamReader = New StreamReader(_response.GetResponseStream()) + _InfoString = _reader.ReadToEnd + + _InfoString = Encoding.UTF8.GetString(Convert.FromBase64String(_InfoString)) + _InfoString = AESDecrypt(_InfoString, "HrX12!!0Zm7764W2", "vXm657YS+!0@mmT") + + _GetInfoClass = JsonConvert.DeserializeObject(Of GetInfoClass)(_InfoString) + + + GLOBAL_Company_Info = String.Format("Server: {0}, Database: {1}", _GetInfoClass.SQLServer, _GetInfoClass.SQLDatabase) + GLOBAL_SQLType = _GetInfoClass.SQLType + Catch ex As Exception + End Try + End Sub +End Class +Public Class GetInfoClass + Property SQLType As eSQLType + Property SQLServer As String + Property SQLDatabase As String +End Class + diff --git a/momoERP.Win.HA/WinForms/SISSplash.vb b/momoERP.Win.HA/WinForms/SISSplash.vb new file mode 100644 index 0000000..f3b4283 --- /dev/null +++ b/momoERP.Win.HA/WinForms/SISSplash.vb @@ -0,0 +1,28 @@ +Imports DevExpress.ExpressApp.Win +'... +Public Class SISSplash + Implements ISplash + Private Shared form As SISSplashScreen + Private _isStarted As Boolean + Public Sub Start() Implements ISplash.Start + _isStarted = True + form = New SISSplashScreen + form.Show() + System.Windows.Forms.Application.DoEvents() + End Sub + Public Sub [Stop]() Implements ISplash.Stop + If form IsNot Nothing Then + form.Hide() + form.Close() + form = Nothing + End If + _isStarted = False + End Sub + Public Sub SetDisplayText(ByVal displayText As String) Implements ISplash.SetDisplayText + End Sub + Public ReadOnly Property IsStarted() As Boolean Implements ISplash.IsStarted + Get + Return _isStarted + End Get + End Property +End Class diff --git a/momoERP.Win.HA/WinForms/SISSplashScreen.Designer.vb b/momoERP.Win.HA/WinForms/SISSplashScreen.Designer.vb new file mode 100644 index 0000000..0a95cdf --- /dev/null +++ b/momoERP.Win.HA/WinForms/SISSplashScreen.Designer.vb @@ -0,0 +1,113 @@ + _ +Partial Class SISSplashScreen + Inherits DevExpress.XtraSplashScreen.SplashScreen + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(SISSplashScreen)) + Me.pictureEdit2 = New DevExpress.XtraEditors.PictureEdit() + Me.pictureEdit1 = New DevExpress.XtraEditors.PictureEdit() + Me.labelControl2 = New DevExpress.XtraEditors.LabelControl() + Me.labelControl1 = New DevExpress.XtraEditors.LabelControl() + Me.marqueeProgressBarControl1 = New DevExpress.XtraEditors.MarqueeProgressBarControl() + CType(Me.pictureEdit2.Properties, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.pictureEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.marqueeProgressBarControl1.Properties, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'pictureEdit2 + ' + Me.pictureEdit2.Cursor = System.Windows.Forms.Cursors.Default + Me.pictureEdit2.EditValue = CType(resources.GetObject("pictureEdit2.EditValue"), Object) + Me.pictureEdit2.Location = New System.Drawing.Point(12, 12) + Me.pictureEdit2.Name = "pictureEdit2" + Me.pictureEdit2.Properties.AllowFocused = False + Me.pictureEdit2.Properties.Appearance.BackColor = System.Drawing.Color.Transparent + Me.pictureEdit2.Properties.Appearance.Options.UseBackColor = True + Me.pictureEdit2.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder + Me.pictureEdit2.Properties.ShowMenu = False + Me.pictureEdit2.Size = New System.Drawing.Size(426, 180) + Me.pictureEdit2.TabIndex = 14 + ' + 'pictureEdit1 + ' + Me.pictureEdit1.Cursor = System.Windows.Forms.Cursors.Default + Me.pictureEdit1.EditValue = CType(resources.GetObject("pictureEdit1.EditValue"), Object) + Me.pictureEdit1.Location = New System.Drawing.Point(278, 268) + Me.pictureEdit1.Name = "pictureEdit1" + Me.pictureEdit1.Properties.AllowFocused = False + Me.pictureEdit1.Properties.Appearance.BackColor = System.Drawing.Color.Transparent + Me.pictureEdit1.Properties.Appearance.Options.UseBackColor = True + Me.pictureEdit1.Properties.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder + Me.pictureEdit1.Properties.ShowMenu = False + Me.pictureEdit1.Size = New System.Drawing.Size(155, 48) + Me.pictureEdit1.TabIndex = 13 + ' + 'labelControl2 + ' + Me.labelControl2.Location = New System.Drawing.Point(23, 206) + Me.labelControl2.Name = "labelControl2" + Me.labelControl2.Size = New System.Drawing.Size(50, 13) + Me.labelControl2.TabIndex = 12 + Me.labelControl2.Text = "Starting..." + ' + 'labelControl1 + ' + Me.labelControl1.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder + Me.labelControl1.Location = New System.Drawing.Point(23, 286) + Me.labelControl1.Name = "labelControl1" + Me.labelControl1.Size = New System.Drawing.Size(221, 13) + Me.labelControl1.TabIndex = 11 + Me.labelControl1.Text = "Copyright © 2016 Nuvolar ERP System" + ' + 'marqueeProgressBarControl1 + ' + Me.marqueeProgressBarControl1.EditValue = 0 + Me.marqueeProgressBarControl1.Location = New System.Drawing.Point(23, 231) + Me.marqueeProgressBarControl1.Name = "marqueeProgressBarControl1" + Me.marqueeProgressBarControl1.Size = New System.Drawing.Size(404, 18) + Me.marqueeProgressBarControl1.TabIndex = 10 + ' + 'SISSplashScreen + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(450, 320) + Me.Controls.Add(Me.pictureEdit2) + Me.Controls.Add(Me.pictureEdit1) + Me.Controls.Add(Me.labelControl2) + Me.Controls.Add(Me.labelControl1) + Me.Controls.Add(Me.marqueeProgressBarControl1) + Me.Name = "SISSplashScreen" + Me.Text = "Form1" + CType(Me.pictureEdit2.Properties, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.pictureEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.marqueeProgressBarControl1.Properties, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Private WithEvents pictureEdit2 As DevExpress.XtraEditors.PictureEdit + Private WithEvents pictureEdit1 As DevExpress.XtraEditors.PictureEdit + Private WithEvents labelControl2 As DevExpress.XtraEditors.LabelControl + Private WithEvents labelControl1 As DevExpress.XtraEditors.LabelControl + Private WithEvents marqueeProgressBarControl1 As DevExpress.XtraEditors.MarqueeProgressBarControl +End Class diff --git a/momoERP.Win.HA/WinForms/SISSplashScreen.resx b/momoERP.Win.HA/WinForms/SISSplashScreen.resx new file mode 100644 index 0000000..1ffa7c8 --- /dev/null +++ b/momoERP.Win.HA/WinForms/SISSplashScreen.resx @@ -0,0 +1,689 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + YII= + + + + + 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 + + + \ No newline at end of file diff --git a/momoERP.Win.HA/WinForms/SISSplashScreen.vb b/momoERP.Win.HA/WinForms/SISSplashScreen.vb new file mode 100644 index 0000000..8d1cf5b --- /dev/null +++ b/momoERP.Win.HA/WinForms/SISSplashScreen.vb @@ -0,0 +1,15 @@ +Imports DevExpress.ExpressApp.Win + +Public Class SISSplashScreen + Sub New() + InitializeComponent() + End Sub + + Public Overrides Sub ProcessCommand(ByVal cmd As System.Enum, ByVal arg As Object) + MyBase.ProcessCommand(cmd, arg) + End Sub + + Public Enum SplashScreenCommand + SomeCommandId + End Enum +End Class diff --git a/momoERP.Win.HA/XMLUserStore/UserStore.vb b/momoERP.Win.HA/XMLUserStore/UserStore.vb new file mode 100644 index 0000000..ee6c049 --- /dev/null +++ b/momoERP.Win.HA/XMLUserStore/UserStore.vb @@ -0,0 +1,93 @@ +Imports System +Imports System.Configuration +Imports System.Windows.Forms + +Imports DevExpress.Persistent.Base +Imports DevExpress.ExpressApp +Imports DevExpress.ExpressApp.Security +Imports DevExpress.ExpressApp.Win + +Imports Nuvolar.Module.Win +Imports DevExpress.Persistent.AuditTrail +Imports Microsoft.VisualBasic + +Imports DevExpress.Xpo +Imports DevExpress.Data.Filtering +Imports DevExpress.Persistent.BaseImpl + +Imports DevExpress.ExpressApp.Model.Core +Imports DevExpress.ExpressApp.Model +Imports Nuvolar.Module + +Public Class UserStore + Inherits ModelDifferenceStore + Private Shared ReadOnly xmlHeader As String = "" & System.Environment.NewLine + Private application As WinApplication + + Public Overrides ReadOnly Property Name() As String + Get + Return "UserStore" + End Get + End Property + + Public Sub New(ByVal winApplication As WinApplication) + application = winApplication + End Sub + + Private Function FindStoreByAspect(ByVal stores As XPCollection(Of XmlStore), ByVal aspect As String) As XmlStore + For Each store As XmlStore In stores + If store.Aspect = aspect Then + Return store + End If + Next store + Return Nothing + End Function + + Private Function FindXmlUserByCurrentUser() As XmlUser + Dim objectSpace As IObjectSpace = application.CreateObjectSpace() + Dim currentUser As DevExpress.Persistent.BaseImpl.User = objectSpace.GetObject(CType(SecuritySystem.CurrentUser, DevExpress.Persistent.BaseImpl.User)) + Dim user As XmlUser = Nothing + Try + user = objectSpace.FindObject(Of XmlUser)(CriteriaOperator.Parse("User=?", currentUser), True) + Catch + End Try + Return user + End Function + + Public Overrides Sub Load(ByVal model As ModelApplicationBase) + Dim xmlReader As New ModelXmlReader() + Dim user As XmlUser = FindXmlUserByCurrentUser() + If user IsNot Nothing Then + For Each store As XmlStore In user.Aspects + xmlReader.ReadFromString(model, store.Aspect, store.XmlData) + Next store + End If + End Sub + + Public Overrides Sub SaveDifference(ByVal model As ModelApplicationBase) + Dim objectSpace As IObjectSpace = application.CreateObjectSpace() + Dim user As XmlUser = objectSpace.GetObject(FindXmlUserByCurrentUser()) + If user Is Nothing Then + user = New XmlUser(TryCast(objectSpace, Xpo.XPObjectSpace).Session) + user.User = objectSpace.GetObject(CType(SecuritySystem.CurrentUser, DevExpress.Persistent.BaseImpl.User)) + End If + For i As Integer = 0 To model.AspectCount - 1 + Dim xmlWriter As New ModelXmlWriter() + Dim aspect As String = model.GetAspect(i) + Dim xmlContent As String = xmlWriter.WriteToString(model, i) + If (Not String.IsNullOrEmpty(xmlContent)) Then + Dim store As XmlStore = FindStoreByAspect(user.Aspects, aspect) + If store Is Nothing Then + store = New XmlStore(TryCast(objectSpace, Xpo.XPObjectSpace).Session) + End If + store.User = user + store.Aspect = aspect + store.XmlData = xmlHeader & xmlContent + End If + Next i + objectSpace.CommitChanges() + End Sub + + +End Class + diff --git a/momoERP.Win.HA/app.config b/momoERP.Win.HA/app.config new file mode 100644 index 0000000..4ef1eae --- /dev/null +++ b/momoERP.Win.HA/app.config @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/favicon.ico b/momoERP.Win.HA/favicon.ico new file mode 100644 index 0000000..d58aa48 Binary files /dev/null and b/momoERP.Win.HA/favicon.ico differ diff --git a/momoERP.Win.HA/momoERP.Win.Company.vbproj.bak b/momoERP.Win.HA/momoERP.Win.Company.vbproj.bak new file mode 100644 index 0000000..8d78832 --- /dev/null +++ b/momoERP.Win.HA/momoERP.Win.Company.vbproj.bak @@ -0,0 +1,545 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {7BDC6966-B18D-4CC9-979B-E80917C4E45F} + WinExe + Sub Main + Nuvolar.Win + Nuvolar.Win + WindowsFormsWithCustomSubMain + Nuvolar.ico + On + Binary + Off + On + SAK + SAK + SAK + SAK + v4.0 + + + 4.0 + + true + + + http://localhost/SISBusiness.Win/ + true + Web + true + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + true + full + true + true + bin\Debug\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + AllRules.ruleset + x86 + false + false + + + None + false + true + true + bin\Release\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + AllRules.ruleset + x86 + false + false + + + true + true + true + bin\EasyTest\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + AnyCPU + EASYTEST + AllRules.ruleset + false + + + My Project\app.manifest + + + true + bin\Release 64bit\ + + + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + pdbonly + AnyCPU + bin\Release\SISBusiness.Win.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.vb + AllRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + true + false + + + true + true + true + bin\x64\Debug\ + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + x64 + false + AllRules.ruleset + + + true + bin\x64\Release\ + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + None + x64 + false + AllRules.ruleset + + + true + true + true + bin\x64\EasyTest\ + EASYTEST + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + x64 + AllRules.ruleset + + + true + bin\x64\Release 64bit\ + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + pdbonly + x64 + AllRules.ruleset + + + + False + True + + + + + False + + + + + + False + True + + + False + True + + + False + True + + + True + + + + + True + + + True + + + False + True + + + True + + + True + + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + True + + + False + True + + + False + True + + + False + True + + + + + + False + True + + + False + True + + + + + + + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + + + + + + + + + + + + + ..\packages\Npgsql.2.2.7\lib\net40\Mono.Security.dll + True + + + ..\packages\Newtonsoft.Json.8.0.3\lib\net40\Newtonsoft.Json.dll + True + + + ..\packages\Npgsql.2.2.7\lib\net40\Npgsql.dll + True + + + ..\..\..\..\..\..\..\Program Files (x86)\postgreSQL\Npgsql2.0.11-bin-ms.net4.0\policy.2.0.Npgsql.dll + True + + + False + + + False + + + False + + + False + + + + False + + + + + + False + + + False + + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + Component + + + + True + Application.myapp + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + WinApplication.vb + + + Component + + + + SISSplashScreen.vb + + + Form + + + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + WinApplication.vb + Designer + + + SISSplashScreen.vb + + + + + Model.xafml + Designer + + + + + + + + + + + + Designer + + + + Designer + + + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + WCF Proxy Generator + Reference.vb + + + + + Always + Designer + + + Model.xafml + Always + Designer + + + Model.xafml + Always + Designer + + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + {b9ef03ff-d05b-4fd4-a8e9-f90d819cb1dc} + Nuvolar.Module.CSharp + + + {98539dcf-bf11-4158-aec0-4b008a404a0e} + Nuvolar.Module.Win + + + {60bf693f-7dea-4cf6-85bd-ea96829d79dd} + Nuvolar.Module + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/momoERP.Win.vbproj b/momoERP.Win.HA/momoERP.Win.vbproj new file mode 100644 index 0000000..b4bf3f6 --- /dev/null +++ b/momoERP.Win.HA/momoERP.Win.vbproj @@ -0,0 +1,549 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {A9F2E08E-24F7-49C8-8D5D-400704699B80} + WinExe + Sub Main + Nuvolar.Win + Nuvolar.Win + WindowsFormsWithCustomSubMain + favicon.ico + On + Binary + Off + On + SAK + SAK + SAK + SAK + v4.0 + + + 4.0 + + true + + + http://localhost/SISBusiness.Win/ + true + Web + true + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + true + full + true + true + bin\Debug\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + AllRules.ruleset + x86 + false + false + + + None + false + true + true + bin\Release\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + AllRules.ruleset + x86 + false + false + + + true + true + true + bin\EasyTest\ + + + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + AnyCPU + EASYTEST + AllRules.ruleset + false + + + My Project\app.manifest + + + true + bin\Release 64bit\ + + + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + pdbonly + AnyCPU + bin\Release\SISBusiness.Win.exe.CodeAnalysisLog.xml + true + GlobalSuppressions.vb + AllRules.ruleset + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets + true + ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules + true + false + + + true + true + true + bin\x64\Debug\ + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + x64 + false + AllRules.ruleset + + + true + bin\x64\Release\ + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + None + x64 + false + AllRules.ruleset + + + true + true + true + bin\x64\EasyTest\ + EASYTEST + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + full + x64 + AllRules.ruleset + + + true + bin\x64\Release 64bit\ + true + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022,42353,42354,42355 + pdbonly + x64 + AllRules.ruleset + + + + False + True + + + + + False + + + + + False + True + + + False + True + + + False + True + + + False + True + + + True + + + + + True + + + True + + + False + True + + + True + + + True + + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + True + + + False + True + + + False + True + + + False + True + + + + + + False + True + + + False + True + + + + + + + True + + + False + True + + + False + True + + + False + True + + + False + True + + + False + True + + + + + + + + + + + + + + + ..\packages\Npgsql.2.2.7\lib\net40\Mono.Security.dll + True + + + ..\packages\Newtonsoft.Json.8.0.3\lib\net40\Newtonsoft.Json.dll + True + + + ..\packages\Npgsql.2.2.7\lib\net40\Npgsql.dll + True + + + ..\..\..\..\..\..\..\Program Files (x86)\postgreSQL\Npgsql2.0.11-bin-ms.net4.0\policy.2.0.Npgsql.dll + True + + + False + + + False + + + False + + + False + + + + False + + + + + + False + + + False + + + + + + + + + + + + + + + + True + True + Reference.svcmap + + + Component + + + + True + Application.myapp + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + WinApplication.vb + + + Component + + + + SISSplashScreen.vb + + + Form + + + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + WinApplication.vb + Designer + + + SISSplashScreen.vb + + + + + Model.xafml + Designer + + + + + + + + + + + + Designer + + + + Designer + + + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + Reference.svcmap + + + WCF Proxy Generator + Reference.vb + + + + + + Always + Designer + + + Model.xafml + Always + Designer + + + Model.xafml + Always + Designer + + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + {b9ef03ff-d05b-4fd4-a8e9-f90d819cb1dc} + Nuvolar.Module.CSharp + + + {98539dcf-bf11-4158-aec0-4b008a404a0e} + Nuvolar.Module.Win + + + {60bf693f-7dea-4cf6-85bd-ea96829d79dd} + Nuvolar.Module + + + + + + + + + + + + \ No newline at end of file diff --git a/momoERP.Win.HA/packages.config b/momoERP.Win.HA/packages.config new file mode 100644 index 0000000..67ba795 --- /dev/null +++ b/momoERP.Win.HA/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file