【修改】实习生练习

This commit is contained in:
ISHAO 2024-01-17 16:05:54 +08:00
parent 3991de18d8
commit 5355895746
29 changed files with 5288 additions and 150 deletions

View File

@ -1 +1 @@
<Assembly: Reflection.AssemblyFileVersion("6.0.5.40115")>
<Assembly: Reflection.AssemblyFileVersion("6.0.5.40116")>

View File

@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.34407.143
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ET_Student", "ET_Student.vbproj", "{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Test", "..\..\Test\Test.vbproj", "{C4A48E3F-38E4-4E88-A47D-FA5510686E57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.ActiveCfg = Debug|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Debug|x86.Build.0 = Debug|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.ActiveCfg = Release|x86
{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}.Release|x86.Build.0 = Release|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.ActiveCfg = Debug|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Debug|x86.Build.0 = Debug|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.ActiveCfg = Release|x86
{C4A48E3F-38E4-4E88-A47D-FA5510686E57}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {674818D9-9790-4A86-93B8-665E012B20B5}
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProjectGuid>{D6EE7B96-F10E-44E2-9731-162B70B4C8DD}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>ET_ChengJi</RootNamespace>
<AssemblyName>ET_ChengJi</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Windows</MyType>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<TargetFrameworkProfile />
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>..\..\..\MESClient\</OutputPath>
<DocumentationFile>ET_ChengJi.xml</DocumentationFile>
<WarningLevel>0</WarningLevel>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<DefineTrace>true</DefineTrace>
<OutputPath>..\..\..\MESClient\</OutputPath>
<DocumentationFile>ET_ChengJi.xml</DocumentationFile>
<Optimize>true</Optimize>
<WarningLevel>0</WarningLevel>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<SignAssembly>true</SignAssembly>
</PropertyGroup>
<PropertyGroup>
<AssemblyOriginatorKeyFile>iMES.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="Infragistics4.Win.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.UltraWinGrid.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinGrid.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.UltraWinEditors.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Win.Misc.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Win.Misc.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Infragistics4.Shared.v19.1, Version=19.1.20191.82, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\Infragistics\2019.1\Windows Forms\CLR4.0\Bin\Infragistics4.Shared.v19.1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="COM_Kit">
<HintPath>..\..\..\MESClient\COM_Kit.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESExceptionManager">
<HintPath>..\..\..\MES_C_DLL\iMESExceptionManager.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="iMESUltraGrid">
<HintPath>..\..\..\MES_C_DLL\iMESUltraGrid.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Import Include="COM_Kit.clsGlobalVariables" />
<Import Include="COM_Kit.clsKit" />
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Drawing" />
<Import Include="System.Linq" />
<Import Include="System.Windows.Forms" />
<Import Include="System.Xml" />
<Import Include="System.Xml.Linq" />
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\shared file\modConstant.vb">
<Link>modConstant.vb</Link>
</Compile>
<Compile Include="frmStudent.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmStudentContDef.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmStudentDef.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\Resources.Designer.vb">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="My Project\Settings.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="frmStudent.resx">
<DependentUpon>frmStudent.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmStudentContDef.resx">
<DependentUpon>frmStudentContDef.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmStudentDef.resx">
<DependentUpon>frmStudentDef.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx">
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
<CustomToolNamespace>My.Resources</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="iMES.snk" />
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>
</None>
<None Include="My Project\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<CustomToolNamespace>My</CustomToolNamespace>
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<Import Project="..\..\shared file\MakeVersion.targets" Condition="exists('..\..\shared file\MakeVersion.targets')" />
</Project>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ReferencePath>
</ReferencePath>
</PropertyGroup>
</Project>

View File

@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}

View File

@ -0,0 +1,13 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MySubMain>false</MySubMain>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<ApplicationType>1</ApplicationType>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
</MyApplicationData>

View File

@ -0,0 +1,35 @@
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
' 組件的一般資訊是由下列的屬性集控制
' 變更這些屬性的值即可修改組件的相關
' 資訊
' 檢閱組件屬性的值
<Assembly: AssemblyTitle("ET_Subcontractor")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("iMES Technology Inc.")>
<Assembly: AssemblyProduct("MESSeries 6")>
<Assembly: AssemblyCopyright("Copyright © iMES Technology Inc.")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
'下列 GUID 為專案公開 (Expose) COM 時所要使用的 typelib ID
<Assembly: Guid("cb602012-a17f-433f-b777-ace6a6a676c1")>
' 組件的版本資訊由下列四個值所組成:
'
' 主要版本
' 次要版本
' 組建編號
' 修訂編號
'
' 您可以指定所有的值也可以依照以下的方式使用 '*' 將組建和修訂編號
' 指定為預設值:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("6.0.0.0")>

View File

@ -0,0 +1 @@
<Assembly: Reflection.AssemblyFileVersion("6.0.5.40117")>

View File

@ -0,0 +1,63 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Imports System
Namespace My.Resources
'此类是由 StronglyTypedResourceBuilder
'类通过类似于 ResGen Visual Studio 的工具自动生成的
'若要添加或移除成员请编辑 .ResX 文件然后重新运行 ResGen
'( /str 作为命令选项)或重新生成 VS 项目
'''<summary>
''' 一个强类型的资源类用于查找本地化的字符串等
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
Friend Module Resources
Private resourceMan As Global.System.Resources.ResourceManager
Private resourceCulture As Global.System.Globalization.CultureInfo
'''<summary>
''' 返回此类使用的缓存的 ResourceManager 实例
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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("ET_ChengJi.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
End Get
End Property
'''<summary>
''' 重写当前线程的 CurrentUICulture 属性
''' 使用此强类型资源类的所有资源查找执行重写
'''</summary>
<Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Friend Property Culture() As Global.System.Globalization.CultureInfo
Get
Return resourceCulture
End Get
Set
resourceCulture = value
End Set
End Property
End Module
End Namespace

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,73 @@
'------------------------------------------------------------------------------
' <auto-generated>
' 此代码由工具生成
' 运行时版本:4.0.30319.42000
'
' 对此文件的更改可能会导致不正确的行为并且如果
' 重新生成代码这些更改将会丢失
' </auto-generated>
'------------------------------------------------------------------------------
Option Strict On
Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
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 自动保存功能"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
Private Shared addedHandlerLockObject As New Object
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, 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
<Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.ET_ChengJi.My.MySettings
Get
Return Global.ET_ChengJi.My.MySettings.Default
End Get
End Property
End Module
End Namespace

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,7 @@
Infragistics.Win.Misc.UltraButton, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.UltraWinEditors.UltraRadioButton, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.UltraWinEditors.UltraComboEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.Misc.UltraGroupBox, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.UltraWinEditors.UltraTextEditor, Infragistics4.Win.UltraWinEditors.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.Misc.UltraLabel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb
Infragistics.Win.Misc.UltraPanel, Infragistics4.Win.Misc.v19.1, Version=19.1.20191.294, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,631 @@
Imports iMESExceptionManager
Public Class frmStudentContDef
Inherits COM_Kit.frmDefTemplat
'//Public Variables
Public EditDataRow As DataRow
Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy
Public StudentNo As String = defString
Public PrivFunNo As String = defString
'//Web Service相關變數
' 2016 YF, Dim wsENT As New wsENT.wsENT
Dim InXml As String
Dim OutXml As String
Dim strIdentity As String
Dim strParameter As String
Dim intDataStamp As Integer '紀錄DataStamp
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
Friend WithEvents lblAddress As System.Windows.Forms.Label
Friend WithEvents lblEMail As System.Windows.Forms.Label
Friend WithEvents lblTitle As System.Windows.Forms.Label
Friend WithEvents lblFaxNo As System.Windows.Forms.Label
Friend WithEvents lblTelNo As System.Windows.Forms.Label
Friend WithEvents lblParentName As System.Windows.Forms.Label
Friend WithEvents lblStudentNo As System.Windows.Forms.Label
Friend WithEvents gbxStudentContData As System.Windows.Forms.GroupBox
Friend WithEvents txtStudentNo As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtParentName As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtFaxNo As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtTelNo As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtEMail As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtTitle As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtAddress As Infragistics.Win.UltraWinEditors.UltraTextEditor
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Me.gbxStudentContData = New System.Windows.Forms.GroupBox()
Me.txtAddress = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtEMail = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtTitle = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtFaxNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.lblAddress = New System.Windows.Forms.Label()
Me.lblEMail = New System.Windows.Forms.Label()
Me.lblTitle = New System.Windows.Forms.Label()
Me.lblFaxNo = New System.Windows.Forms.Label()
Me.lblTelNo = New System.Windows.Forms.Label()
Me.lblStudentNo = New System.Windows.Forms.Label()
Me.lblParentName = New System.Windows.Forms.Label()
Me.txtStudentNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtParentName = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtTelNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit()
Me.gbxStudentContData.SuspendLayout()
CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtParentName, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'gbxBasisData
'
Me.gbxBasisData.Location = New System.Drawing.Point(12, 322)
Me.gbxBasisData.Size = New System.Drawing.Size(472, 70)
'
'btnApply
'
Me.btnApply.Location = New System.Drawing.Point(396, 401)
'
'btnConfirm
'
Me.btnConfirm.Location = New System.Drawing.Point(208, 401)
'
'btnClose
'
Me.btnClose.Location = New System.Drawing.Point(302, 401)
'
'gbxStudentContData
'
Me.gbxStudentContData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.gbxStudentContData.Controls.Add(Me.txtAddress)
Me.gbxStudentContData.Controls.Add(Me.txtEMail)
Me.gbxStudentContData.Controls.Add(Me.txtTitle)
Me.gbxStudentContData.Controls.Add(Me.txtFaxNo)
Me.gbxStudentContData.Controls.Add(Me.lblAddress)
Me.gbxStudentContData.Controls.Add(Me.lblEMail)
Me.gbxStudentContData.Controls.Add(Me.lblTitle)
Me.gbxStudentContData.Controls.Add(Me.lblFaxNo)
Me.gbxStudentContData.Controls.Add(Me.lblTelNo)
Me.gbxStudentContData.Controls.Add(Me.lblStudentNo)
Me.gbxStudentContData.Controls.Add(Me.lblParentName)
Me.gbxStudentContData.Controls.Add(Me.txtStudentNo)
Me.gbxStudentContData.Controls.Add(Me.txtParentName)
Me.gbxStudentContData.Controls.Add(Me.txtTelNo)
Me.gbxStudentContData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.gbxStudentContData.Location = New System.Drawing.Point(15, 8)
Me.gbxStudentContData.Name = "gbxStudentContData"
Me.gbxStudentContData.Size = New System.Drawing.Size(469, 306)
Me.gbxStudentContData.TabIndex = 0
Me.gbxStudentContData.TabStop = False
Me.gbxStudentContData.Text = "ENT Student Data"
'
'txtAddress
'
Me.txtAddress.Location = New System.Drawing.Point(120, 152)
Me.txtAddress.Name = "txtAddress"
Me.txtAddress.Size = New System.Drawing.Size(336, 22)
Me.txtAddress.TabIndex = 13
'
'txtEMail
'
Me.txtEMail.Location = New System.Drawing.Point(320, 120)
Me.txtEMail.Name = "txtEMail"
Me.txtEMail.Size = New System.Drawing.Size(136, 22)
Me.txtEMail.TabIndex = 11
'
'txtTitle
'
Me.txtTitle.Location = New System.Drawing.Point(120, 120)
Me.txtTitle.Name = "txtTitle"
Me.txtTitle.Size = New System.Drawing.Size(114, 22)
Me.txtTitle.TabIndex = 9
'
'txtFaxNo
'
Me.txtFaxNo.Location = New System.Drawing.Point(320, 88)
Me.txtFaxNo.Name = "txtFaxNo"
Me.txtFaxNo.Size = New System.Drawing.Size(136, 22)
Me.txtFaxNo.TabIndex = 7
'
'lblAddress
'
Me.lblAddress.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblAddress.Location = New System.Drawing.Point(24, 154)
Me.lblAddress.Name = "lblAddress"
Me.lblAddress.Size = New System.Drawing.Size(86, 14)
Me.lblAddress.TabIndex = 12
Me.lblAddress.Text = "Address"
Me.lblAddress.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblEMail
'
Me.lblEMail.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblEMail.Location = New System.Drawing.Point(248, 123)
Me.lblEMail.Name = "lblEMail"
Me.lblEMail.Size = New System.Drawing.Size(64, 14)
Me.lblEMail.TabIndex = 10
Me.lblEMail.Text = "EMail"
Me.lblEMail.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblTitle
'
Me.lblTitle.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTitle.Location = New System.Drawing.Point(24, 121)
Me.lblTitle.Name = "lblTitle"
Me.lblTitle.Size = New System.Drawing.Size(86, 14)
Me.lblTitle.TabIndex = 8
Me.lblTitle.Text = "Title"
Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblFaxNo
'
Me.lblFaxNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblFaxNo.Location = New System.Drawing.Point(248, 90)
Me.lblFaxNo.Name = "lblFaxNo"
Me.lblFaxNo.Size = New System.Drawing.Size(64, 14)
Me.lblFaxNo.TabIndex = 6
Me.lblFaxNo.Text = "FaxNo"
Me.lblFaxNo.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblTelNo
'
Me.lblTelNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTelNo.Location = New System.Drawing.Point(24, 90)
Me.lblTelNo.Name = "lblTelNo"
Me.lblTelNo.Size = New System.Drawing.Size(86, 14)
Me.lblTelNo.TabIndex = 4
Me.lblTelNo.Text = "TelNo"
Me.lblTelNo.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblStudentNo
'
Me.lblStudentNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblStudentNo.Location = New System.Drawing.Point(14, 29)
Me.lblStudentNo.Name = "lblStudentNo"
Me.lblStudentNo.Size = New System.Drawing.Size(96, 14)
Me.lblStudentNo.TabIndex = 0
Me.lblStudentNo.Text = "Student No"
Me.lblStudentNo.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblParentName
'
Me.lblParentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblParentName.Location = New System.Drawing.Point(24, 59)
Me.lblParentName.Name = "lblParentName"
Me.lblParentName.Size = New System.Drawing.Size(86, 14)
Me.lblParentName.TabIndex = 2
Me.lblParentName.Text = "Parent Name"
Me.lblParentName.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'txtStudentNo
'
Me.txtStudentNo.Location = New System.Drawing.Point(120, 24)
Me.txtStudentNo.Name = "txtStudentNo"
Me.txtStudentNo.ReadOnly = True
Me.txtStudentNo.Size = New System.Drawing.Size(114, 22)
Me.txtStudentNo.TabIndex = 1
Me.txtStudentNo.TabStop = False
'
'txtParentName
'
Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtParentName.Appearance = Appearance1
Me.txtParentName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtParentName.Location = New System.Drawing.Point(120, 56)
Me.txtParentName.Name = "txtParentName"
Me.txtParentName.Size = New System.Drawing.Size(160, 22)
Me.txtParentName.TabIndex = 3
'
'txtTelNo
'
Me.txtTelNo.Location = New System.Drawing.Point(120, 88)
Me.txtTelNo.Name = "txtTelNo"
Me.txtTelNo.Size = New System.Drawing.Size(114, 22)
Me.txtTelNo.TabIndex = 5
'
'frmStudentContDef
'
Me.ClientSize = New System.Drawing.Size(496, 446)
Me.Controls.Add(Me.gbxStudentContData)
Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Name = "frmStudentContDef"
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "ENT Student Define"
Me.Controls.SetChildIndex(Me.btnClose, 0)
Me.Controls.SetChildIndex(Me.btnConfirm, 0)
Me.Controls.SetChildIndex(Me.btnApply, 0)
Me.Controls.SetChildIndex(Me.gbxBasisData, 0)
Me.Controls.SetChildIndex(Me.gbxStudentContData, 0)
CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit()
Me.gbxStudentContData.ResumeLayout(False)
Me.gbxStudentContData.PerformLayout()
CType(Me.txtAddress, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtEMail, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtTitle, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtFaxNo, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtParentName, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtTelNo, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub frmStudentContDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cursor.Current = Cursors.WaitCursor
Select Case DefMode
Case 0
Me.Text = Me.Text & "(ADD)"
Case 1
Me.Text = Me.Text & "(EDIT)"
Case 2
Me.Text = Me.Text & "(Copy)"
Case Else
Me.Text = Me.Text & "(Unknown)"
End Select
'做為MainForm判斷是否重新LoadData的依據()
gReturnKeyValue = ""
' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString)
' 2016 YF, wsENT.EnableDecompression = True
If DefMode = 0 Or DefMode = 2 Then
SetCreateDate(Now)
SetCreator(gUserNo)
End If
If Not EditDataRow Is Nothing Then '修改 or Copy
txtStudentNo.Text = EditDataRow.Item("StudentNo").ToString
txtParentName.Text = EditDataRow.Item("ParentName").ToString
txtTelNo.Text = EditDataRow.Item("TelNo").ToString
txtFaxNo.Text = EditDataRow.Item("FaxNo").ToString
txtTitle.Text = EditDataRow.Item("Title").ToString
txtAddress.Text = EditDataRow.Item("Address").ToString
txtEMail.Text = EditDataRow.Item("EMail").ToString
'txtDescription是RichTextBox(Control, 因為TextBox無法正常顯示多行換行的資料)
'txtDescription.Text = EditDataRow.Item("Description").ToString
If DefMode = 1 Then
If (Not IsDBNull(EditDataRow("Creator"))) Then
SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate")))
SetCreator(EditDataRow.Item("Creator").ToString)
End If
End If
End If
If DefMode = 0 Then 'Add
txtStudentNo.Text = StudentNo
SetCreateDate(Now)
SetCreator(gUserNo)
ElseIf DefMode = 1 Then 'Edit
txtParentName.ReadOnly = True
SetReviseDate(Now)
SetReviser(gUserNo)
intDataStamp = EditDataRow.Item("DataStamp")
End If
btnApplyEnabled = False
'語系切換
Call ExeChangeResource(Me, gLanguageMode)
ExeGroupControlPriv(Me, PrivFunNo)
Cursor.Current = Cursors.Default
End Sub
Private Sub frmStudentContDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
If DefMode = 0 Or DefMode = 2 Then
txtParentName.Focus()
Else
txtTelNo.Focus()
End If
End Sub
Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
Me.Close()
Cursor.Current = Cursors.Default
End Sub
Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close()
End Sub
Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
If DefMode = 0 Or DefMode = 2 Then
txtParentName.Focus()
Else
txtTelNo.Focus()
End If
txtEMail.Text = ""
btnApplyEnabled = False
Cursor.Current = Cursors.Default
End Sub
#Region "Control KeyPress"
Private Sub txtStudentNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Click
txtStudentNo.SelectAll()
End Sub
Private Sub txtStudentNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Enter
txtStudentNo.SelectAll()
End Sub
Private Sub txtStudentNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtStudentNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtParentName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Click
txtParentName.SelectAll()
End Sub
Private Sub txtParentName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Enter
txtParentName.SelectAll()
End Sub
Private Sub txtParentName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtParentName.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtParentName_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.Leave
If txtParentName.Text <> "" And txtEMail.Text = "" Then
txtEMail.Text = txtParentName.Text & "@"
End If
txtParentName.Text = UCase(txtParentName.Text)
End Sub
Private Sub txtParentName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtParentName.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtTelNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Click
txtTelNo.SelectAll()
End Sub
Private Sub txtTelNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.Enter
txtTelNo.SelectAll()
End Sub
Private Sub txtTelNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtTelNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTelNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtFaxNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Click
txtFaxNo.SelectAll()
End Sub
Private Sub txtFaxNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.Enter
txtFaxNo.SelectAll()
End Sub
Private Sub txtFaxNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFaxNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtFaxNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtFaxNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtTitle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Click
txtTitle.SelectAll()
End Sub
Private Sub txtTitle_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.Enter
txtTitle.SelectAll()
End Sub
Private Sub txtTitle_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTitle.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtTitle_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTitle.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtEMail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Click
txtEMail.SelectAll()
End Sub
Private Sub txtEMail_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.Enter
txtEMail.SelectAll()
End Sub
Private Sub txtEMail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEMail.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtEMail_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtEMail.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtAddress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Click
txtAddress.SelectAll()
End Sub
Private Sub txtAddress_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.Enter
txtAddress.SelectAll()
End Sub
Private Sub txtAddress_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtAddress.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtAddress_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtAddress.TextChanged
btnApplyEnabled = True
End Sub
'Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' txtDescription.SelectAll()
'End Sub
'Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs)
' txtDescription.SelectAll()
'End Sub
'Private Sub txtDescription_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
' If e.KeyChar = Convert.ToChar(13) Then
' SendKeys.Send("{TAB}")
' End If
'End Sub
'
'Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
' btnApplyEnabled = True
'End Sub
#End Region
#Region "Others"
Private Function funAddorEdit(sender As Object) As Integer
funAddorEdit = -1
'******************************************************************************
'1.基本檢查()
'******************************************************************************
If txtStudentNo.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentNo%]"), MsgBoxStyle.Exclamation, Me.Text)
txtStudentNo.Focus()
Exit Function
End If
If txtParentName.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%ParentName%]"), MsgBoxStyle.Exclamation, Me.Text)
txtParentName.Focus()
Exit Function
End If
'******************************************************************************
'2.寫回資料庫()
'******************************************************************************
Dim XmlDoc As New XmlDocument
Try
strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow())
strParameter = CombineXMLParameter("studentno", "studentNo", "string", CInput(txtStudentNo.Text), "")
strParameter = strParameter & CombineXMLParameter("parentname", "parentname", "string", CInput(txtParentName.Text), "")
strParameter = strParameter & CombineXMLParameter("telno", "telno", "string", txtTelNo.Text, "")
strParameter = strParameter & CombineXMLParameter("faxno", "faxNo", "string", txtFaxNo.Text, "")
strParameter = strParameter & CombineXMLParameter("title", "title", "string", CInput(txtTitle.Text), "")
strParameter = strParameter & CombineXMLParameter("address", "address", "string", CInput(txtAddress.Text), "")
strParameter = strParameter & CombineXMLParameter("email", "email", "string", CInput(txtEMail.Text), "")
'strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.Text), "")
If DefMode = 0 Or DefMode = 2 Then 'Add or Copy
strParameter += CombineXMLParameter("creator", "creator", "string", gUserNo, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.AddStudentCont(InXml)
OutXml = InvokeSrv("SXS.wsENT_21684.AddStudentCont", InXml)
Else 'Edit
' 增加Datastamp
strParameter += CombineXMLParameter("datastamp", "datastamp", "integer", intDataStamp, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.EditStudentCont(InXml)
OutXml = InvokeSrv("SXS.wsENT_21684.EditStudentCont", InXml)
End If
XmlDoc.LoadXml(OutXml)
If ChkExecutionSuccess(XmlDoc) Then
gReturnKeyValue = txtParentName.Text
funAddorEdit = 0
If sender.Equals(btnApply) Then
intDataStamp += 1
End If
Else
ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc))
End If
Catch ex As Exception
'MsgBox("Unexpected Error. Add or Edit ENT Student Parent Failed!," & e1.Message, MsgBoxStyle.Exclamation)
ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace)
End Try
XmlDoc = Nothing
End Function
#End Region
Private Sub frmStudentContDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose()
End Sub
Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click
End Sub
End Class

View File

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,433 @@
Imports iMESExceptionManager
Public Class frmStudentDef
Inherits COM_Kit.frmDefTemplat
'//Public Variables
Public EditDataRow As DataRow
Public DefMode As Integer = 0 '0. ADD, 1.Edit, 2. Copy
Public PrivFunNo As String = defString
'//Web Service相關變數
' 2016 YF, Dim wsENT As New wsENT.wsENT
Dim InXml As String
Dim OutXml As String
Dim strIdentity As String
Dim strParameter As String
Dim intDataStamp As Integer '紀錄DataStamp
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'Add any initialization after the InitializeComponent() call
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
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.
Friend WithEvents txtSCORE As System.Windows.Forms.RichTextBox
Friend WithEvents lblScore As System.Windows.Forms.Label
Friend WithEvents lblStudentNo As System.Windows.Forms.Label
Friend WithEvents lblStudentName As System.Windows.Forms.Label
Friend WithEvents gbxStudentData As System.Windows.Forms.GroupBox
Friend WithEvents txtStudentNo As Infragistics.Win.UltraWinEditors.UltraTextEditor
Friend WithEvents txtStudentName As Infragistics.Win.UltraWinEditors.UltraTextEditor
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance()
Me.gbxStudentData = New System.Windows.Forms.GroupBox()
Me.txtSCORE = New System.Windows.Forms.RichTextBox()
Me.lblScore = New System.Windows.Forms.Label()
Me.lblStudentNo = New System.Windows.Forms.Label()
Me.lblStudentName = New System.Windows.Forms.Label()
Me.txtStudentNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
Me.txtStudentName = New Infragistics.Win.UltraWinEditors.UltraTextEditor()
CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit()
Me.gbxStudentData.SuspendLayout()
CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'gbxBasisData
'
Me.gbxBasisData.Location = New System.Drawing.Point(12, 185)
Me.gbxBasisData.Size = New System.Drawing.Size(479, 70)
'
'btnApply
'
Me.btnApply.Location = New System.Drawing.Point(403, 264)
'
'btnConfirm
'
Me.btnConfirm.Location = New System.Drawing.Point(215, 264)
'
'btnClose
'
Me.btnClose.Location = New System.Drawing.Point(309, 264)
'
'gbxStudentData
'
Me.gbxStudentData.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.gbxStudentData.Controls.Add(Me.txtSCORE)
Me.gbxStudentData.Controls.Add(Me.lblScore)
Me.gbxStudentData.Controls.Add(Me.lblStudentNo)
Me.gbxStudentData.Controls.Add(Me.lblStudentName)
Me.gbxStudentData.Controls.Add(Me.txtStudentNo)
Me.gbxStudentData.Controls.Add(Me.txtStudentName)
Me.gbxStudentData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.gbxStudentData.Location = New System.Drawing.Point(12, 8)
Me.gbxStudentData.Name = "gbxStudentData"
Me.gbxStudentData.Size = New System.Drawing.Size(479, 169)
Me.gbxStudentData.TabIndex = 7
Me.gbxStudentData.TabStop = False
Me.gbxStudentData.Text = "Student Data"
'
'txtSCORE
'
Me.txtSCORE.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtSCORE.Location = New System.Drawing.Point(128, 86)
Me.txtSCORE.Name = "txtSCORE"
Me.txtSCORE.Size = New System.Drawing.Size(334, 67)
Me.txtSCORE.TabIndex = 2
Me.txtSCORE.Text = ""
'
'lblScore
'
Me.lblScore.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblScore.Location = New System.Drawing.Point(56, 88)
Me.lblScore.Name = "lblScore"
Me.lblScore.Size = New System.Drawing.Size(64, 14)
Me.lblScore.TabIndex = 13
Me.lblScore.Text = "SCORE"
Me.lblScore.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblStudentNo
'
Me.lblStudentNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblStudentNo.Location = New System.Drawing.Point(24, 24)
Me.lblStudentNo.Name = "lblStudentNo"
Me.lblStudentNo.Size = New System.Drawing.Size(96, 32)
Me.lblStudentNo.TabIndex = 5
Me.lblStudentNo.Text = "Student No"
Me.lblStudentNo.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'lblStudentName
'
Me.lblStudentName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblStudentName.Location = New System.Drawing.Point(8, 56)
Me.lblStudentName.Name = "lblStudentName"
Me.lblStudentName.Size = New System.Drawing.Size(112, 32)
Me.lblStudentName.TabIndex = 9
Me.lblStudentName.Text = "Student Name"
Me.lblStudentName.TextAlign = System.Drawing.ContentAlignment.TopRight
'
'txtStudentNo
'
Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtStudentNo.Appearance = Appearance1
Me.txtStudentNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtStudentNo.Location = New System.Drawing.Point(128, 24)
Me.txtStudentNo.Name = "txtStudentNo"
Me.txtStudentNo.Size = New System.Drawing.Size(152, 22)
Me.txtStudentNo.TabIndex = 0
'
'txtStudentName
'
Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtStudentName.Appearance = Appearance2
Me.txtStudentName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.txtStudentName.Location = New System.Drawing.Point(128, 55)
Me.txtStudentName.Name = "txtStudentName"
Me.txtStudentName.Size = New System.Drawing.Size(334, 22)
Me.txtStudentName.TabIndex = 1
'
'frmStudentDef
'
Me.ClientSize = New System.Drawing.Size(503, 309)
Me.Controls.Add(Me.gbxStudentData)
Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Name = "frmStudentDef"
Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "ENT Student"
Me.Controls.SetChildIndex(Me.btnClose, 0)
Me.Controls.SetChildIndex(Me.btnConfirm, 0)
Me.Controls.SetChildIndex(Me.btnApply, 0)
Me.Controls.SetChildIndex(Me.gbxBasisData, 0)
Me.Controls.SetChildIndex(Me.gbxStudentData, 0)
CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit()
Me.gbxStudentData.ResumeLayout(False)
Me.gbxStudentData.PerformLayout()
CType(Me.txtStudentNo, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtStudentName, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub frmStudentDef_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Cursor.Current = Cursors.WaitCursor
Select Case DefMode
Case 0
Me.Text = Me.Text & "(ADD)"
Case 1
Me.Text = Me.Text & "(EDIT)"
Case 2
Me.Text = Me.Text & "(Copy)"
Case Else
Me.Text = Me.Text & "(Unknown)"
End Select
'做為MainForm判斷是否重新LoadData的依據
gReturnKeyValue = ""
' 2016 YF, wsENT.Url = LocalizeWebService(wsENT.Url.ToString)
' 2016 YF, wsENT.EnableDecompression = True
If Not EditDataRow Is Nothing Then
txtStudentNo.Text = EditDataRow.Item("StudentNo").ToString
txtStudentName.Text = EditDataRow.Item("StudentName").ToString
'txtScore是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料
txtSCORE.Text = EditDataRow.Item("Score").ToString
End If
If DefMode = 0 Or DefMode = 2 Then 'Add or Copy
SetCreator(gUserNo)
SetCreateDate(Now)
ElseIf DefMode = 1 Then 'Edit
txtStudentNo.ReadOnly = True
SetCreator(EditDataRow.Item("Creator").ToString)
SetCreateDate(Convert.ToDateTime(EditDataRow.Item("CreateDate")))
SetReviser(gUserNo)
SetReviseDate(Now)
intDataStamp = EditDataRow.Item("DataStamp")
End If
btnApplyEnabled = False
'語系切換
Call ExeChangeResource(Me, gLanguageMode)
ExeGroupControlPriv(Me, PrivFunNo)
Cursor.Current = Cursors.Default
End Sub
Private Sub frmStudentDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
If DefMode = 0 Or DefMode = 2 Then
txtStudentNo.Focus()
Else
txtStudentName.Focus()
End If
End Sub
Protected Overrides Sub btnConfirm_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
Me.Close()
Cursor.Current = Cursors.Default
End Sub
Protected Overrides Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Close()
End Sub
Protected Overrides Sub btnApply_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Cursor.Current = Cursors.WaitCursor
If funAddorEdit(sender) < 0 Then Exit Sub
If DefMode = 0 Or DefMode = 2 Then
txtStudentNo.Focus()
Else
txtStudentName.Focus()
End If
Cursor.Current = Cursors.Default
btnApplyEnabled = False
End Sub
Private Sub frmStudentDef_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
' 2016 YF, If Not wsENT Is Nothing Then wsENT.Dispose()
End Sub
#Region "Control KeyPress"
Private Sub txtStudentNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Click
txtStudentNo.SelectAll()
End Sub
Private Sub txtStudentNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Enter
txtStudentNo.SelectAll()
End Sub
Private Sub txtStudentNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentNo.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtStudentNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.Leave
txtStudentNo.Text = UCase(txtStudentNo.Text)
End Sub
Private Sub txtStudentNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentNo.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtStudentName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Click
txtStudentName.SelectAll()
End Sub
Private Sub txtStudentName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.Enter
txtStudentName.SelectAll()
End Sub
Private Sub txtStudentName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtStudentName.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
SendKeys.Send("{TAB}")
End If
End Sub
Private Sub txtStudentName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtStudentName.TextChanged
btnApplyEnabled = True
End Sub
Private Sub txtScore_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSCORE.Click
txtSCORE.SelectAll()
End Sub
Private Sub txtScore_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtSCORE.Enter
txtSCORE.SelectAll()
End Sub
Private Sub txtScore_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSCORE.TextChanged
btnApplyEnabled = True
End Sub
#End Region
#Region "Others"
Private Function funAddorEdit(sender As Object) As Integer
funAddorEdit = -1
'******************************************************************************
'1.基本檢查
'******************************************************************************
If txtStudentNo.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentNo%]"), MsgBoxStyle.Exclamation, Me.Text)
txtStudentNo.Focus()
Exit Function
End If
If txtStudentName.Text = "" Then
iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%StudentName%]"), MsgBoxStyle.Exclamation, Me.Text)
txtStudentName.Focus()
Exit Function
End If
'2.
'******************************************************************************
'寫回資料庫
'******************************************************************************
Dim XmlDoc As New XmlDocument
Try
strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow())
strParameter = CombineXMLParameter("studentno", "studentNo", "string", CInput(txtStudentNo.Text), "")
strParameter = strParameter & CombineXMLParameter("studentname", "studentname", "string", CInput(txtStudentName.Text), "")
strParameter = strParameter & CombineXMLParameter("score", "score", "string", CInput(txtSCORE.Text), "")
If DefMode = 0 Or DefMode = 2 Then 'Add or Copy
strParameter = strParameter & CombineXMLParameter("creator", "creator", "string", gUserNo, "")
strParameter = strParameter & CombineXMLParameter("createdate", "createDate", "datetime", Format(Now, "yyyy/MM/dd HH:mm:ss"), "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.AddStudent(InXml)
OutXml = InvokeSrv("SXS.wsENT_21684.AddStudent", InXml)
Else
'修改
strParameter = strParameter & CombineXMLParameter("issuestate", "IssueState", "String", EditDataRow.Item("IssueState").ToString, "")
' 增加Datastamp
strParameter += CombineXMLParameter("datastamp", "Datastamp", "Integer", intDataStamp, "")
InXml = CombineXMLRequest(strIdentity, strParameter)
' 2016 YF, OutXml = wsENT.EditStudent(InXml)
OutXml = InvokeSrv("SXS.wsENT_21684.EditStudent", InXml)
End If
XmlDoc.LoadXml(OutXml)
If ChkExecutionSuccess(XmlDoc) Then
gReturnKeyValue = txtStudentNo.Text
funAddorEdit = 0
If sender.Equals(btnApply) Then
intDataStamp += 1
End If
Else
ExceptionManager.iMESShowDialog(GetExceptionCode(XmlDoc), GetExceptionSysMsg(XmlDoc), GetExceptionStack(XmlDoc))
End If
Catch ex As Exception
'MsgBox("Unexpected Error. Add or Edit ENT Student Failed!," & e1.Message, MsgBoxStyle.Exclamation)
ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace)
End Try
XmlDoc = Nothing
End Function
Private Sub lblScore_Click(sender As Object, e As EventArgs) Handles lblScore.Click
End Sub
Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click
End Sub
Private Sub btnClose_Click_1(sender As Object, e As EventArgs) Handles btnClose.Click
End Sub
#End Region
End Class

Binary file not shown.

View File

@ -0,0 +1,949 @@
using iMESCore.Settings;
using Microsoft.VisualBasic;
using Microsoft.VisualBasic.CompilerServices;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static iMESCore.Base.iMESComSubroutine;
using static iMESCore.Base.iMESComXML;
using static iMESCore.Base.iMESConst;
using static iMESCore.DataBase.iMESSql;
namespace MEStc_SXS
{
public class clsENT21684 : IDisposable
{
/*使modXX,使OleDb
* (//),使data_access_service.dll
* ,使iMESAppSetting
* Xml相關,使iMESComXML.dll
* ,使iMESConst.dll
* ,使iMESComSubroutine.dll
*/
private AppSettings objSetting = new AppSettings();
private string strConnectionString; // Connection string
private string strDataBaseType; // DataBase Type:oracle, mysql, access
private string strMQType; // MessageQueue Type:TIBCO, MQSeries, MSMQ
private bool disposed = false; // To detect redundant calls
private string strSQL = "";
private string strSQLAddField;
private string strSQLAddValue;
#region --- Initial Object ---
public clsENT21684()
{
// Get database type
strDataBaseType = objSetting.GetDataBaseType();
// Get connection string
strConnectionString = objSetting.GetConnectionString(strDataBaseType);
// Get Message Queue Type
strMQType = objSetting.GetMQType();
}
#endregion
#region --- Property ---
// //Property--------------------------------------------------------------------------------------------------------------------------------
public string ConnectionString
{
get
{
return strConnectionString;
}
}
public string DataBaseType
{
get
{
return strDataBaseType;
}
}
public string MQType
{
get
{
return strMQType;
}
}
// 2003/03/22,sammi.
// 因TC可能呼叫KC,在整個Function中,必須要使用同一個Reverse物件,如此在產生AddReverseUpdateContent的資料時,ReverseOrder才不會重覆.
// 若KC再往下呼叫UD,則必須將Reverse物件傳遞予UD.
//public object ReverseObj
//{
// get
// {
// //return objReverse;
// // ReverseObj = objReverse
// }
//}
#endregion
#region IDisposable Support
private bool disposedValue; // 偵測多餘的呼叫
// IDisposable
protected virtual void Dispose(bool disposing)
{
if (!disposedValue)
{
if (disposing)
{
// TODO: 處置 Managed 狀態 (Managed 物件)。
}
// TODO: 釋放 Unmanaged 資源 (Unmanaged 物件) 並覆寫下面的 Finalize()。
// TODO: 將大型欄位設定為 null。
}
disposedValue = true;
}
// TODO: 只有當上面的 Dispose(ByVal disposing As Boolean) 有可釋放 Unmanaged 資源的程式碼時,才覆寫 Finalize()。
// Protected Overrides Sub Finalize()
// ' 請勿變更此程式碼。在上面的 Dispose(ByVal disposing As Boolean) 中輸入清除程式碼。
// Dispose(False)
// MyBase.Finalize()
// End Sub
// 由 Visual Basic 新增此程式碼以正確實作可處置的模式。
public void Dispose()
{
// 請勿變更此程式碼。在以上的 Dispose 置入清除程式碼 (ByVal 視為布林值處置)。
Dispose(true);
GC.SuppressFinalize(this);
}
#endregion
#region --- Student ---
public string AddStudent(string StudentNo, string StudentName, string Score = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "")
{
string AddStudentRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
if (CreateDate == defDateTime)
CreateDate = DateTime.Now;
try
{
strSQLAddField = "Insert into tblENTChengJi (StudentNo, StudentName, IssueState";
strSQLAddValue = " Values ('" + StudentNo + "','" + StudentName + "', 0";
if ((Score ?? "") != defString)
{
strSQLAddField += ",Score";
strSQLAddValue += ",'" + Score + "'";
}
if ((Creator ?? "") != defString)
{
strSQLAddField += ",Creator";
strSQLAddValue += ",'" + Creator + "'";
}
if (CreateDate != defDateTime)
{
strSQLAddField += ",CreateDate";
strSQLAddValue += ", To_Date('" + Strings.Format(Conversions.ToDate(CreateDate), "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')";
}
if (string.IsNullOrEmpty(AdditionalXml))
{
// 當沒有額外的欄位時,直接給定strSQL
strSQL = strSQLAddField + ")" + strSQLAddValue + ")";
}
else
{
// 加上additional的field & value 後傳回
strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml);
}
// //執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddStudentRet = "success";
}
catch (Exception e1)
{
AddStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddStudent: " & e1.Message)
return AddStudentRet;
}
public string EditStudent(string StudentNo, string StudentName = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditStudentRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTChengJi Set ";
if ((StudentName ?? "") != defString)
{
strSQL += "StudentName = '" + StudentName + "',";
}
if ((Score ?? "") != defString)
{
strSQL += "Score = '" + Score + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where StudentNo ='" + StudentNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditStudentRet = "success";
}
catch (Exception e1)
{
EditStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditStudent: " & e1.Message)
return EditStudentRet;
}
public string DelStudent(string StudentNo, string AdditionalXml = "")
{
string DelStudentRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
var CollectionSQL = new Collection();
try
{
// 1. 刪除Parent
strSQL = "Delete From tblENTChengJiCont " + "Where StudentNo='" + StudentNo + "'";
CollectionSQL.Add(strSQL);
// 2. 刪除主檔
strSQL = "Delete From tblENTChengJi " + " Where StudentNo ='" + StudentNo + "'";
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
CollectionSQL.Add(strSQL);
// 呼叫執行SQL指令
ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL);
// //Return success
DelStudentRet = "success";
}
catch (Exception e1)
{
DelStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelStudent: " & e1.Message)
return DelStudentRet;
}
public string LoadStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
string LoadStudentRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Combine return value
LoadStudentRet = CombineXMLReturnValue("loadStudent", "tblENTChengJi", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadStudentRet = "fail";
throw;
} // New Exception("kcENT.LoadStudent: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadStudentRet;
}
public DataSet ShowStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataSet ShowStudentRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Return data
ShowStudentRet = dsENT;
}
catch (Exception e1)
{
ShowStudentRet = null;
throw;
} // New Exception("kcENT.ShowStudent: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowStudentRet;
}
public DataRow GetStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataRow GetStudentRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
strSQL += " And IssueState = " + IssueState;
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetStudentRet = dsENT.Tables[0].Rows[0];
}
else
{
GetStudentRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetStudentRet = null;
throw;
} // New Exception("kcENT.GetStudent: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return GetStudentRet;
}
public string SetStudentIssueState(string StudentNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string SetStudentIssueStateRet = default(string);
// 此 Function 將修改IssueState欄位的值
// 傳入值: IssueState修改後的值及VendorNo
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTChengJi Set IssueState = " + IssueState + ",";
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL = strSQL + " Where StudentNo ='" + StudentNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
SetStudentIssueStateRet = "success";
}
catch (Exception e1)
{
SetStudentIssueStateRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.SetStudentIssueState: " & e1.Message)
return SetStudentIssueStateRet;
}
public string AddStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime))
{
string AddStudentContRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
try
{
strSQLAddField = "Insert into tblENTChengJiCont (StudentNo, ParentName";
strSQLAddValue = " Values ('" + StudentNo + "','" + ParentName + "'";
if ((TelNo ?? "") != defString)
{
strSQLAddField += ",TelNo";
strSQLAddValue += ",'" + TelNo + "'";
}
if ((FaxNo ?? "") != defString)
{
strSQLAddField += ",FaxNo";
strSQLAddValue += ",'" + FaxNo + "'";
}
if ((Title ?? "") != defString)
{
strSQLAddField += ",Title";
strSQLAddValue += ",'" + Title + "'";
}
if ((Address ?? "") != defString)
{
strSQLAddField += ",Address";
strSQLAddValue += ",'" + Address + "'";
}
if ((EMail ?? "") != defString)
{
strSQLAddField += ",EMail";
strSQLAddValue += ",'" + EMail + "'";
}
if (Creator != defString)
{
strSQLAddField = strSQLAddField + ",Creator";
strSQLAddValue = strSQLAddValue + ",'" + Creator + "'";
}
if (CreateDate != defDateTime)
{
strSQLAddField = strSQLAddField + ",CreateDate";
strSQLAddValue = strSQLAddValue + ", To_Date('" + Strings.Format(CreateDate, "yyyy/MM/dd HH:mm:ss") + "','YYYY/MM/DD HH24:MI:SS')";
}
if (string.IsNullOrEmpty(AdditionalXml))
{
// 當沒有額外的欄位時,直接給定strSQL
strSQL = strSQLAddField + ")" + strSQLAddValue + ")";
}
else
{
// 加上additional的field & value 後傳回
strSQL = SeparateAddXML_Add(ref strSQLAddField, ref strSQLAddValue, AdditionalXml);
}
// //執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddStudentContRet = "success";
}
catch (Exception e1)
{
AddStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddStudentCont: " & e1.Message)
return AddStudentContRet;
}
public string EditStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditStudentContRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTChengJiCont Set ";
if ((TelNo ?? "") != defString)
{
strSQL += "TelNo = '" + TelNo + "',";
}
if ((FaxNo ?? "") != defString)
{
strSQL += "FaxNo = '" + FaxNo + "',";
}
if ((Title ?? "") != defString)
{
strSQL += "Title = '" + Title + "',";
}
if ((Address ?? "") != defString)
{
strSQL += "Address = '" + Address + "',";
}
if ((EMail ?? "") != defString)
{
strSQL += "EMail = '" + EMail + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
if (ReviseDate != defDateTime)
strSQL = strSQL + "ReviseDate = To_Date('" + Strings.Format(ReviseDate, "yyyy/MM/dd H:mm:ss") + "','YYYY/MM/DD HH24:MI:SS'),";
if (DataStamp != defInteger)
strSQL = strSQL + "DataStamp = DataStamp + 1 ,";
// 有額外的欄位時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的field & value
strSQL += SeparateAddXML_Edit(AdditionalXml);
}
// 去除strSQL中最後一個 ","
if (Strings.InStr(1, strSQL, ",") != 0) // 表示有要修改的欄位
{
if (Strings.Right(strSQL, 1) == ",")
{
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where StudentNo = '" + StudentNo + "'" + " And ParentName ='" + ParentName + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL, 1, true);
}
// //Return success
EditStudentContRet = "success";
}
catch (Exception e1)
{
EditStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditStudentCont: " & e1.Message)
return EditStudentContRet;
}
public string DelStudentCont(string StudentNo, string ParentName = defString, string AdditionalXml = "")
{
string DelStudentContRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
try
{
strSQL = "Delete From tblENTChengJiCont " + " Where StudentNo='" + StudentNo + "'";
if ((ParentName ?? "") != defString)
{
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// 呼叫執行SQL指令
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
DelStudentContRet = "success";
}
catch (Exception e1)
{
DelStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelStudentCont: " & e1.Message)
return DelStudentContRet;
}
public string LoadStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
string LoadStudentContRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
// 有傳入StudentNo表示只取該StudentNo之資料
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ParentName ?? "") != defString)
{
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Combine return value
LoadStudentContRet = CombineXMLReturnValue("loadStudentcont", "tblENTChengJiCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadStudentContRet = "fail";
throw;
} // New Exception("kcENT.LoadStudentCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return LoadStudentContRet;
}
public DataSet ShowStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
DataSet ShowStudentContRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ParentName ?? "") != defString)
{
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Return data
ShowStudentContRet = dsENT;
}
catch (Exception e1)
{
ShowStudentContRet = null;
throw;
} // New Exception("kcENT.ShowStudentCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return ShowStudentContRet;
}
public DataRow GetStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
DataRow GetStudentContRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
var dsENT = default(DataSet);
IDbConnection cnnTemp = null;
try
{
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ParentName ?? "") != defString)
{
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
{
// 加上additional的condition
strSQL += SeparateAddXML_Condition(AdditionalXml);
}
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetStudentContRet = dsENT.Tables[0].Rows[0];
}
else
{
GetStudentContRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetStudentContRet = null;
throw;
} // New Exception("kcENT.GetStudentCont: " & e1.Message)
finally
{
CloseConnection(cnnTemp);
if (dsENT != null)
{
dsENT.Dispose();
}
}
return GetStudentContRet;
}
#endregion
}
}

View File

@ -111,6 +111,7 @@
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="21684tcENT\clsENT21684.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="tcENT\clsENT.cs" />
<Compile Include="tcWIP\clsLot.cs" />

View File

@ -1 +1 @@
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")]
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")]

View File

@ -124,12 +124,12 @@ namespace MEStc_SXS
}
#endregion
#region --- Subcontractor ---
#region --- Student ---
public string AddSubcontractor(string SubcontractorNo, string SubcontractorName, string Description = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "")
public string AddStudent(string StudentNo, string StudentName, string Score = defString, string Creator = defString, DateTime CreateDate = default(DateTime), string AdditionalXml = "")
{
string AddSubcontractorRet = default(string);
string AddStudentRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
@ -139,13 +139,13 @@ namespace MEStc_SXS
try
{
strSQLAddField = "Insert into tblENTSubcontractor (SubcontractorNo, SubcontractorName, IssueState";
strSQLAddValue = " Values ('" + SubcontractorNo + "','" + SubcontractorName + "', 0";
strSQLAddField = "Insert into tblENTChengJi (StudentNo, StudentName, IssueState";
strSQLAddValue = " Values ('" + StudentNo + "','" + StudentName + "', 0";
if ((Description ?? "") != defString)
if ((Score ?? "") != defString)
{
strSQLAddField += ",Description";
strSQLAddValue += ",'" + Description + "'";
strSQLAddField += ",Score";
strSQLAddValue += ",'" + Score + "'";
}
if ((Creator ?? "") != defString)
{
@ -175,24 +175,24 @@ namespace MEStc_SXS
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddSubcontractorRet = "success";
AddStudentRet = "success";
}
catch (Exception e1)
{
AddSubcontractorRet = "fail";
AddStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddSubcontractor: " & e1.Message)
} // New Exception("kcENT.AddStudent: " & e1.Message)
return AddSubcontractorRet;
return AddStudentRet;
}
public string EditSubcontractor(string SubcontractorNo, string SubcontractorName = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
public string EditStudent(string StudentNo, string StudentName = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorRet = default(string);
string EditStudentRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
// 傳回值: success(成功), fail(失敗)
@ -200,15 +200,15 @@ namespace MEStc_SXS
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor Set ";
strSQL = "Update tblENTChengJi Set ";
if ((SubcontractorName ?? "") != defString)
if ((StudentName ?? "") != defString)
{
strSQL += "SubcontractorName = '" + SubcontractorName + "',";
strSQL += "StudentName = '" + StudentName + "',";
}
if ((Description ?? "") != defString)
if ((Score ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
strSQL += "Score = '" + Score + "',";
}
if (Reviser != defString)
@ -235,7 +235,7 @@ namespace MEStc_SXS
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo ='" + SubcontractorNo + "'";
strSQL += " Where StudentNo ='" + StudentNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
@ -250,23 +250,23 @@ namespace MEStc_SXS
}
// //Return success
EditSubcontractorRet = "success";
EditStudentRet = "success";
}
catch (Exception e1)
{
EditSubcontractorRet = "fail";
EditStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractor: " & e1.Message)
} // New Exception("kcENT.EditStudent: " & e1.Message)
return EditSubcontractorRet;
return EditStudentRet;
}
public string DelSubcontractor(string SubcontractorNo, string AdditionalXml = "")
public string DelStudent(string StudentNo, string AdditionalXml = "")
{
string DelSubcontractorRet = default(string);
string DelStudentRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
@ -274,12 +274,12 @@ namespace MEStc_SXS
try
{
// 1. 刪除Contactor
strSQL = "Delete From tblENTSubcontractorCont " + "Where SubcontractorNo='" + SubcontractorNo + "'";
// 1. 刪除Parent
strSQL = "Delete From tblENTChengJiCont " + "Where StudentNo='" + StudentNo + "'";
CollectionSQL.Add(strSQL);
// 2. 刪除主檔
strSQL = "Delete From tblENTSubcontractor " + " Where SubcontractorNo ='" + SubcontractorNo + "'";
strSQL = "Delete From tblENTChengJi " + " Where StudentNo ='" + StudentNo + "'";
if (!string.IsNullOrEmpty(AdditionalXml))
{
@ -293,24 +293,24 @@ namespace MEStc_SXS
ExecuteSQLNoneQuery_UPD(Conversions.ToString(DataBaseType), strConnectionString, CollectionSQL);
// //Return success
DelSubcontractorRet = "success";
DelStudentRet = "success";
}
catch (Exception e1)
{
DelSubcontractorRet = "fail";
DelStudentRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractor: " & e1.Message)
} // New Exception("kcENT.DelStudent: " & e1.Message)
return DelSubcontractorRet;
return DelStudentRet;
}
public string LoadSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
public string LoadStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
string LoadSubcontractorRet = default(string);
string LoadStudentRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
@ -323,11 +323,11 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null";
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
@ -342,17 +342,17 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Combine return value
LoadSubcontractorRet = CombineXMLReturnValue("loadSubcontractor", "tblENTSubcontractor", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
LoadStudentRet = CombineXMLReturnValue("loadStudent", "tblENTChengJi", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorRet = "fail";
LoadStudentRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractor: " & e1.Message)
} // New Exception("kcENT.LoadStudent: " & e1.Message)
finally
{
@ -364,13 +364,13 @@ namespace MEStc_SXS
}
return LoadSubcontractorRet;
return LoadStudentRet;
}
public DataSet ShowSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
public DataSet ShowStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataSet ShowSubcontractorRet = default(DataSet);
DataSet ShowStudentRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
@ -383,11 +383,11 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null";
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
@ -402,17 +402,17 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Return data
ShowSubcontractorRet = dsENT;
ShowStudentRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorRet = null;
ShowStudentRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractor: " & e1.Message)
} // New Exception("kcENT.ShowStudent: " & e1.Message)
finally
{
@ -424,13 +424,13 @@ namespace MEStc_SXS
}
return ShowSubcontractorRet;
return ShowStudentRet;
}
public DataRow GetSubcontractor(string SubcontractorNo = defString, int IssueState = defInteger, string AdditionalXml = "")
public DataRow GetStudent(string StudentNo = defString, int IssueState = defInteger, string AdditionalXml = "")
{
DataRow GetSubcontractorRet = default(DataRow);
DataRow GetStudentRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
@ -443,11 +443,11 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractor Where SubcontractorNo Is Not Null";
strSQL = "Select * From tblENTChengJi Where StudentNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if (IssueState != defInteger)
{
@ -462,23 +462,23 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractor", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJi", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetSubcontractorRet = dsENT.Tables[0].Rows[0];
GetStudentRet = dsENT.Tables[0].Rows[0];
}
else
{
GetSubcontractorRet = dsENT.Tables[0].NewRow();
GetStudentRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetSubcontractorRet = null;
GetStudentRet = null;
throw;
} // New Exception("kcENT.GetSubcontractor: " & e1.Message)
} // New Exception("kcENT.GetStudent: " & e1.Message)
finally
{
@ -490,12 +490,12 @@ namespace MEStc_SXS
}
return GetSubcontractorRet;
return GetStudentRet;
}
public string SetSubcontractorIssueState(string SubcontractorNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
public string SetStudentIssueState(string StudentNo, int IssueState, int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string SetSubcontractorIssueStateRet = default(string);
string SetStudentIssueStateRet = default(string);
// 此 Function 將修改IssueState欄位的值
// 傳入值: IssueState修改後的值及VendorNo
// 傳回值: success(成功), fail(失敗)
@ -503,7 +503,7 @@ namespace MEStc_SXS
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractor Set IssueState = " + IssueState + ",";
strSQL = "Update tblENTChengJi Set IssueState = " + IssueState + ",";
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
@ -521,7 +521,7 @@ namespace MEStc_SXS
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL = strSQL + " Where SubcontractorNo ='" + SubcontractorNo + "'";
strSQL = strSQL + " Where StudentNo ='" + StudentNo + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 呼叫執行SQL指令
@ -529,33 +529,33 @@ namespace MEStc_SXS
}
// //Return success
SetSubcontractorIssueStateRet = "success";
SetStudentIssueStateRet = "success";
}
catch (Exception e1)
{
SetSubcontractorIssueStateRet = "fail";
SetStudentIssueStateRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.SetSubcontractorIssueState: " & e1.Message)
} // New Exception("kcENT.SetStudentIssueState: " & e1.Message)
return SetSubcontractorIssueStateRet;
return SetStudentIssueStateRet;
}
public string AddSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime))
public string AddStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", string Creator = defString, DateTime CreateDate = default(DateTime))
{
string AddSubcontractorContRet = default(string);
string AddStudentContRet = default(string);
// 此 Function 將新增一筆資料
// 傳入值: 各欄位新增值
// 傳回值: success(成功), fail(失敗)
try
{
strSQLAddField = "Insert into tblENTSubcontractorCont (SubcontractorNo, ContactorName";
strSQLAddValue = " Values ('" + SubcontractorNo + "','" + ContactorName + "'";
strSQLAddField = "Insert into tblENTChengJiCont (StudentNo, ParentName";
strSQLAddValue = " Values ('" + StudentNo + "','" + ParentName + "'";
if ((TelNo ?? "") != defString)
{
@ -582,11 +582,6 @@ namespace MEStc_SXS
strSQLAddField += ",EMail";
strSQLAddValue += ",'" + EMail + "'";
}
if ((Description ?? "") != defString)
{
strSQLAddField += ",Description";
strSQLAddValue += ",'" + Description + "'";
}
if (Creator != defString)
{
strSQLAddField = strSQLAddField + ",Creator";
@ -615,25 +610,25 @@ namespace MEStc_SXS
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
AddSubcontractorContRet = "success";
AddStudentContRet = "success";
}
catch (Exception e1)
{
AddSubcontractorContRet = "fail";
AddStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.AddSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.AddStudentCont: " & e1.Message)
return AddSubcontractorContRet;
return AddStudentContRet;
}
public string EditSubcontractorCont(string SubcontractorNo, string ContactorName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Description = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
public string EditStudentCont(string StudentNo, string ParentName, string TelNo = defString, string FaxNo = defString, string Title = defString, string Address = defString, string EMail = defString, string Score = defString, string AdditionalXml = "", int DataStamp = defInteger, string Reviser = defString, DateTime ReviseDate = default(DateTime))
{
string EditSubcontractorContRet = default(string);
string EditStudentContRet = default(string);
// 此 Function 將修改一筆資料
// 傳入值: 各欄位修改值
@ -642,7 +637,7 @@ namespace MEStc_SXS
try
{
// 先給定strSQL一定有的欄位
strSQL = "Update tblENTSubcontractorCont Set ";
strSQL = "Update tblENTChengJiCont Set ";
if ((TelNo ?? "") != defString)
{
@ -664,10 +659,6 @@ namespace MEStc_SXS
{
strSQL += "EMail = '" + EMail + "',";
}
if ((Description ?? "") != defString)
{
strSQL += "Description = '" + Description + "',";
}
if (Reviser != defString)
strSQL = strSQL + "Reviser = '" + Reviser + "',";
@ -693,7 +684,7 @@ namespace MEStc_SXS
strSQL = Strings.Mid(strSQL, 1, Strings.Len(strSQL) - 1);
}
strSQL += " Where SubcontractorNo = '" + SubcontractorNo + "'" + " And ContactorName ='" + ContactorName + "'";
strSQL += " Where StudentNo = '" + StudentNo + "'" + " And ParentName ='" + ParentName + "'";
strSQL = strSQL + " And DataStamp = '" + DataStamp + "'";
// 有額外的條件式時再Append進原來的strSQL中
@ -708,35 +699,35 @@ namespace MEStc_SXS
}
// //Return success
EditSubcontractorContRet = "success";
EditStudentContRet = "success";
}
catch (Exception e1)
{
EditSubcontractorContRet = "fail";
EditStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.EditSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.EditStudentCont: " & e1.Message)
return EditSubcontractorContRet;
return EditStudentContRet;
}
public string DelSubcontractorCont(string SubcontractorNo, string ContactorName = defString, string AdditionalXml = "")
public string DelStudentCont(string StudentNo, string ParentName = defString, string AdditionalXml = "")
{
string DelSubcontractorContRet = default(string);
string DelStudentContRet = default(string);
// 此 Function 將刪除資料
// 傳入值: 刪除的索引值
// 傳回值: success(成功), fail(失敗)
try
{
strSQL = "Delete From tblENTSubcontractorCont " + " Where SubcontractorNo='" + SubcontractorNo + "'";
strSQL = "Delete From tblENTChengJiCont " + " Where StudentNo='" + StudentNo + "'";
if ((ContactorName ?? "") != defString)
if ((ParentName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
@ -749,24 +740,24 @@ namespace MEStc_SXS
ExecuteSQLNoneQuery(Conversions.ToString(DataBaseType), strConnectionString, ref strSQL);
// //Return success
DelSubcontractorContRet = "success";
DelStudentContRet = "success";
}
catch (Exception e1)
{
DelSubcontractorContRet = "fail";
DelStudentContRet = "fail";
// 發生錯誤時丟回本身的Function Name及系統錯誤訊息
throw;
} // New Exception("kcENT.DelSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.DelStudentCont: " & e1.Message)
return DelSubcontractorContRet;
return DelStudentContRet;
}
public string LoadSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
public string LoadStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
string LoadSubcontractorContRet = default(string);
string LoadStudentContRet = default(string);
// 此 Function 將資料以XML方式取出
// 傳入值: 索引值
// 傳回值: XML(成功), fail(失敗)
@ -779,16 +770,16 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null";
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
// 有傳入SubcontractorNo表示只取該SubcontractorNo之資料
if ((SubcontractorNo ?? "") != defString)
// 有傳入StudentNo表示只取該StudentNo之資料
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ContactorName ?? "") != defString)
if ((ParentName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
@ -799,17 +790,17 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Combine return value
LoadSubcontractorContRet = CombineXMLReturnValue("loadSubcontractorcont", "tblENTSubcontractorCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
LoadStudentContRet = CombineXMLReturnValue("loadStudentcont", "tblENTChengJiCont", "DataSet", FormatXMLSchema(dsENT.GetXmlSchema()), dsENT.GetXml(), "");
}
catch (Exception e1)
{
LoadSubcontractorContRet = "fail";
LoadStudentContRet = "fail";
throw;
} // New Exception("kcENT.LoadSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.LoadStudentCont: " & e1.Message)
finally
{
@ -821,13 +812,13 @@ namespace MEStc_SXS
}
return LoadSubcontractorContRet;
return LoadStudentContRet;
}
public DataSet ShowSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
public DataSet ShowStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
DataSet ShowSubcontractorContRet = default(DataSet);
DataSet ShowStudentContRet = default(DataSet);
// 此 Function 將資料以 Dataset 方式取出
// 傳入值: 索引值
// 傳回值: Dataset(成功), Nothing(失敗)
@ -841,14 +832,14 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ContactorName ?? "") != defString)
if ((ParentName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
@ -859,17 +850,17 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Return data
ShowSubcontractorContRet = dsENT;
ShowStudentContRet = dsENT;
}
catch (Exception e1)
{
ShowSubcontractorContRet = null;
ShowStudentContRet = null;
throw;
} // New Exception("kcENT.ShowSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.ShowStudentCont: " & e1.Message)
finally
{
@ -881,13 +872,13 @@ namespace MEStc_SXS
}
return ShowSubcontractorContRet;
return ShowStudentContRet;
}
public DataRow GetSubcontractorCont(string SubcontractorNo = defString, string ContactorName = defString, string AdditionalXml = "")
public DataRow GetStudentCont(string StudentNo = defString, string ParentName = defString, string AdditionalXml = "")
{
DataRow GetSubcontractorContRet = default(DataRow);
DataRow GetStudentContRet = default(DataRow);
// 此 Function 將資料以 DataRow 方式取出
// 傳入值: 索引值
// 傳回值: DataRow(成功), Nothing(失敗)
@ -901,14 +892,14 @@ namespace MEStc_SXS
// //Create connection
cnnTemp = CreateConnection(strConnectionString);
strSQL = "Select * From tblENTSubcontractorCont Where SubcontractorNo Is Not Null";
if ((SubcontractorNo ?? "") != defString)
strSQL = "Select * From tblENTChengJiCont Where StudentNo Is Not Null";
if ((StudentNo ?? "") != defString)
{
strSQL += " And SubcontractorNo = '" + SubcontractorNo + "'";
strSQL += " And StudentNo = '" + StudentNo + "'";
}
if ((ContactorName ?? "") != defString)
if ((ParentName ?? "") != defString)
{
strSQL += " And ContactorName = '" + ContactorName + "'";
strSQL += " And ParentName = '" + ParentName + "'";
}
if (!string.IsNullOrEmpty(AdditionalXml))
@ -919,23 +910,23 @@ namespace MEStc_SXS
// //Select data
dsENT = new DataSet();
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTSubcontractorCont", cnnTemp);
ExecuteSQLQuery_Adapter(strSQL, dsENT, "tblENTChengJiCont", cnnTemp);
// //Return data
if (dsENT.Tables[0].Rows.Count > 0)
{
GetSubcontractorContRet = dsENT.Tables[0].Rows[0];
GetStudentContRet = dsENT.Tables[0].Rows[0];
}
else
{
GetSubcontractorContRet = dsENT.Tables[0].NewRow();
GetStudentContRet = dsENT.Tables[0].NewRow();
}
}
catch (Exception e1)
{
GetSubcontractorContRet = null;
GetStudentContRet = null;
throw;
} // New Exception("kcENT.GetSubcontractorCont: " & e1.Message)
} // New Exception("kcENT.GetStudentCont: " & e1.Message)
finally
{
@ -947,7 +938,7 @@ namespace MEStc_SXS
}
return GetSubcontractorContRet;
return GetStudentContRet;
}

View File

@ -1 +1 @@
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40115")]
[assembly: System.Reflection.AssemblyFileVersion("6.0.5.40117")]

File diff suppressed because it is too large Load Diff

View File

@ -146,7 +146,7 @@
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<Compile Include="wsWIP\wsWIP.cs" />
<Compile Include="wxENT\wsENT.cs" />
<Compile Include="wsENT_21684\wsENT_21684.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources.resx">

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ReferencePath>E:\code\SRC\MES_S_DLL\</ReferencePath>
<ReferencePath>E:\VisualStudio_app\Digihua\iMES\MES_S_DLL\</ReferencePath>
</PropertyGroup>
</Project>