Imports iMESExceptionManager Public Class frmTeacherDef 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 txtDescription As System.Windows.Forms.RichTextBox Friend WithEvents lblDescription As System.Windows.Forms.Label Friend WithEvents lblTeacherNo As System.Windows.Forms.Label Friend WithEvents lblTeacherName As System.Windows.Forms.Label Friend WithEvents gbxTeacherData As System.Windows.Forms.GroupBox Friend WithEvents txtTeacherNo As Infragistics.Win.UltraWinEditors.UltraTextEditor Friend WithEvents txtTeacherName As Infragistics.Win.UltraWinEditors.UltraTextEditor Private Sub InitializeComponent() Dim Appearance1 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Dim Appearance2 As Infragistics.Win.Appearance = New Infragistics.Win.Appearance() Me.gbxTeacherData = New System.Windows.Forms.GroupBox() Me.txtDescription = New System.Windows.Forms.RichTextBox() Me.lblDescription = New System.Windows.Forms.Label() Me.lblTeacherNo = New System.Windows.Forms.Label() Me.lblTeacherName = New System.Windows.Forms.Label() Me.txtTeacherNo = New Infragistics.Win.UltraWinEditors.UltraTextEditor() Me.txtTeacherName = New Infragistics.Win.UltraWinEditors.UltraTextEditor() CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).BeginInit() Me.gbxTeacherData.SuspendLayout() CType(Me.txtTeacherNo, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtTeacherName, 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) ' 'gbxTeacherData ' Me.gbxTeacherData.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.gbxTeacherData.Controls.Add(Me.txtDescription) Me.gbxTeacherData.Controls.Add(Me.lblDescription) Me.gbxTeacherData.Controls.Add(Me.lblTeacherNo) Me.gbxTeacherData.Controls.Add(Me.lblTeacherName) Me.gbxTeacherData.Controls.Add(Me.txtTeacherNo) Me.gbxTeacherData.Controls.Add(Me.txtTeacherName) Me.gbxTeacherData.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.gbxTeacherData.Location = New System.Drawing.Point(12, 8) Me.gbxTeacherData.Name = "gbxTeacherData" Me.gbxTeacherData.Size = New System.Drawing.Size(479, 169) Me.gbxTeacherData.TabIndex = 7 Me.gbxTeacherData.TabStop = False Me.gbxTeacherData.Text = "Teacher Data" ' 'txtDescription ' Me.txtDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtDescription.Location = New System.Drawing.Point(128, 86) Me.txtDescription.Name = "txtDescription" Me.txtDescription.Size = New System.Drawing.Size(334, 67) Me.txtDescription.TabIndex = 2 Me.txtDescription.Text = "" ' 'lblDescription ' Me.lblDescription.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblDescription.Location = New System.Drawing.Point(56, 88) Me.lblDescription.Name = "lblDescription" Me.lblDescription.Size = New System.Drawing.Size(64, 14) Me.lblDescription.TabIndex = 13 Me.lblDescription.Text = "Description" Me.lblDescription.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'lblTeacherNo ' Me.lblTeacherNo.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblTeacherNo.Location = New System.Drawing.Point(24, 24) Me.lblTeacherNo.Name = "lblTeacherNo" Me.lblTeacherNo.Size = New System.Drawing.Size(96, 32) Me.lblTeacherNo.TabIndex = 5 Me.lblTeacherNo.Text = "Teacher No" Me.lblTeacherNo.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'lblTeacherName ' Me.lblTeacherName.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblTeacherName.Location = New System.Drawing.Point(8, 56) Me.lblTeacherName.Name = "lblTeacherName" Me.lblTeacherName.Size = New System.Drawing.Size(112, 32) Me.lblTeacherName.TabIndex = 9 Me.lblTeacherName.Text = "Teacher Name" Me.lblTeacherName.TextAlign = System.Drawing.ContentAlignment.TopRight ' 'txtTeacherNo ' Appearance1.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtTeacherNo.Appearance = Appearance1 Me.txtTeacherNo.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtTeacherNo.Location = New System.Drawing.Point(128, 24) Me.txtTeacherNo.Name = "txtTeacherNo" Me.txtTeacherNo.Size = New System.Drawing.Size(152, 22) Me.txtTeacherNo.TabIndex = 0 ' 'txtTeacherName ' Appearance2.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtTeacherName.Appearance = Appearance2 Me.txtTeacherName.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer)) Me.txtTeacherName.Location = New System.Drawing.Point(128, 55) Me.txtTeacherName.Name = "txtTeacherName" Me.txtTeacherName.Size = New System.Drawing.Size(334, 22) Me.txtTeacherName.TabIndex = 1 ' 'frmTeacherDef ' Me.ClientSize = New System.Drawing.Size(503, 309) Me.Controls.Add(Me.gbxTeacherData) Me.Font = New System.Drawing.Font("Times New Roman", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Name = "frmTeacherDef" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "ENT Teacher 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.gbxTeacherData, 0) CType(Me.gbxBasisData, System.ComponentModel.ISupportInitialize).EndInit() Me.gbxTeacherData.ResumeLayout(False) Me.gbxTeacherData.PerformLayout() CType(Me.txtTeacherNo, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtTeacherName, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) End Sub #End Region Private Sub frmSubcontractorDef_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 txtTeacherNo.Text = EditDataRow.Item("TeacherNo").ToString txtTeacherName.Text = EditDataRow.Item("TeacherName").ToString 'txtDescription是RichTextBox Control,因為TextBox無法正常顯示多行換行的資料 txtDescription.Text = EditDataRow.Item("Description").ToString End If If DefMode = 0 Or DefMode = 2 Then 'Add or Copy SetCreator(gUserNo) SetCreateDate(Now) ElseIf DefMode = 1 Then 'Edit txtTeacherNo.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 frmSubcontractorDef_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated If DefMode = 0 Or DefMode = 2 Then txtTeacherNo.Focus() Else txtTeacherName.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 txtTeacherNo.Focus() Else txtTeacherName.Focus() End If Cursor.Current = Cursors.Default btnApplyEnabled = False End Sub Private Sub frmSubcontractorDef_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 txtSubcontractorNo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherNo.Click txtTeacherNo.SelectAll() End Sub Private Sub txtSubcontractorNo_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherNo.Enter txtTeacherNo.SelectAll() End Sub Private Sub txtSubcontractorNo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTeacherNo.KeyPress If e.KeyChar = Convert.ToChar(13) Then SendKeys.Send("{TAB}") End If End Sub Private Sub txtSubcontractorNo_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherNo.Leave txtTeacherNo.Text = UCase(txtTeacherNo.Text) End Sub Private Sub txtSubcontractorNo_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherNo.TextChanged btnApplyEnabled = True End Sub Private Sub txtSubcontractorName_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.Click txtTeacherName.SelectAll() End Sub Private Sub txtSubcontractorName_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.Enter txtTeacherName.SelectAll() End Sub Private Sub txtSubcontractorName_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTeacherName.KeyPress If e.KeyChar = Convert.ToChar(13) Then SendKeys.Send("{TAB}") End If End Sub Private Sub txtSubcontractorName_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTeacherName.TextChanged btnApplyEnabled = True End Sub Private Sub txtDescription_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Click txtDescription.SelectAll() End Sub Private Sub txtDescription_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtDescription.Enter txtDescription.SelectAll() End Sub Private Sub txtDescription_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDescription.TextChanged btnApplyEnabled = True End Sub #End Region #Region "Others" Private Function funAddorEdit(sender As Object) As Integer funAddorEdit = -1 '****************************************************************************** '1.基本檢查 '****************************************************************************** If txtTeacherNo.Text = "" Then iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%TeacherNo%]"), MsgBoxStyle.Exclamation, Me.Text) txtTeacherNo.Focus() Exit Function End If If txtTeacherName.Text = "" Then iMESExceptionManager.ExceptionManager.iMESMsgBoxShowDialog(ChgTranslateName_Msg("0000-200001", "[%TeacherName%]"), MsgBoxStyle.Exclamation, Me.Text) txtTeacherName.Focus() Exit Function End If '2. '****************************************************************************** '寫回資料庫 '****************************************************************************** Dim XmlDoc As New XmlDocument Try strIdentity = CombineXMLIdentity(gComputerName, gUserNo, GetNow()) strParameter = CombineXMLParameter("teacherno", "TeacherNo", "String", CInput(txtTeacherNo.Text), "") strParameter = strParameter & CombineXMLParameter("teachername", "TeacherName", "String", CInput(txtTeacherName.Text), "") strParameter = strParameter & CombineXMLParameter("description", "Description", "String", CInput(txtDescription.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.AddSubcontractor(InXml) OutXml = InvokeSrv("SXS.wsENT_21674.AddTeacher", 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.EditSubcontractor(InXml) OutXml = InvokeSrv("SXS.wsENT_21674.EditTeacher", InXml) End If XmlDoc.LoadXml(OutXml) If ChkExecutionSuccess(XmlDoc) Then gReturnKeyValue = txtTeacherNo.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 Subcontractor Failed!," & e1.Message, MsgBoxStyle.Exclamation) ExceptionManager.iMESShowDialog(defWinErrCode, ex.Message, ex.StackTrace) End Try XmlDoc = Nothing End Function Private Sub lblSubcontractorNo_Click(sender As Object, e As EventArgs) Handles lblTeacherNo.Click End Sub Private Sub btnConfirm_Click_1(sender As Object, e As EventArgs) Handles btnConfirm.Click End Sub Private Sub lblSubcontractorName_Click(sender As Object, e As EventArgs) Handles lblTeacherName.Click End Sub #End Region End Class